Merge pull request #13405 from peter-stadler/nginx-util-uci
authorRosen Penev <rosenp@gmail.com>
Wed, 6 Jan 2021 21:43:12 +0000 (13:43 -0800)
committerGitHub <noreply@github.com>
Wed, 6 Jan 2021 21:43:12 +0000 (13:43 -0800)
[RFC] nginx-util: use UCI for server configuration

560 files changed:
.github/workflows/multi-arch-test-build.yml
admin/htop/Makefile
admin/monit/Makefile
admin/netdata/Makefile
admin/netdata/patches/003-extra-patch-web_gui_main.js.patch
admin/netdata/patches/004-patch-collectors_python.d.plugin_Makefile.am.patch
admin/netdata/patches/007-dont-check-for-ebpf-dependencies-when-it-is-disabled.patch [deleted file]
admin/sudo/Makefile
admin/syslog-ng/Makefile
admin/syslog-ng/files/syslog-ng.conf
devel/autoconf/Makefile
devel/diffutils/Makefile
devel/gitlab-runner/Makefile [new file with mode: 0644]
devel/ninja/Makefile
kernel/ksmbd/Makefile
lang/erlang/Makefile
lang/golang/golang/Makefile
lang/golang/golang/patches/001-allow-flags-in-CGO_LDFLAGS-environment-variable-not-in-security-allowlist-GH-42567.patch [deleted file]
lang/lualanes/Makefile
lang/node-hid/Makefile
lang/node-hid/patches/000-support_musl.patch
lang/node-homebridge/Makefile
lang/node-homebridge/patches/000-add_module_search_path.patch
lang/node-javascript-obfuscator/Makefile
lang/node-serialport-bindings/Makefile
lang/node-serialport/Makefile
lang/node-serialport/patches/000-remove_depends.patch [new file with mode: 0644]
lang/node-serialport/patches/001-turn_off_depends.patch [deleted file]
lang/node/Makefile
lang/node/patches/001-hardfloat.patch [deleted file]
lang/node/patches/003-path.patch
lang/node/patches/004-musl_support.patch
lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch [deleted file]
lang/node/patches/007-fix_host_build_on_macos.patch
lang/node/patches/999-delete_unnecessary_libraries_for_host_execute.patch
lang/node/patches/999-localhost-no-addrconfig.patch
lang/node/patches/999-mips-fix.patch [deleted file]
lang/perl-html-parser/Makefile
lang/perl-mail-spamassassin/Makefile [new file with mode: 0644]
lang/perl-net-dns/Makefile [new file with mode: 0644]
lang/perl-netaddr-ip/Makefile [new file with mode: 0644]
lang/perl-try-tiny/Makefile [new file with mode: 0644]
lang/perl-www/Makefile
lang/php7-pecl-imagick/Makefile [new file with mode: 0644]
lang/php7-pecl-mcrypt/Makefile
lang/php7-pecl-redis/Makefile
lang/php7/Makefile
lang/php7/patches/1005-support_for_icu4c_68_1.patch [deleted file]
lang/php7/test.sh [new file with mode: 0644]
lang/python/django/Makefile
lang/python/host-pip-requirements/cffi.txt
lang/python/pillow/Makefile
lang/python/python-augeas/Makefile [new file with mode: 0644]
lang/python/python-augeas/patches/001-backport-ffi-fix.patch [new file with mode: 0644]
lang/python/python-cffi/Makefile
lang/python/python-chardet/Makefile
lang/python/python-cryptography/Makefile
lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0004-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0005-Switch-get_-Update-APIs-to-get0.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch [new file with mode: 0644]
lang/python/python-cryptography/patches/010-Add-new-ASN1_STRING_get0_data-API.patch [deleted file]
lang/python/python-cryptography/patches/020-Add-compatibility-for-X509_STORE_set_get_issuer.patch [deleted file]
lang/python/python-cryptography/patches/030-Add-compatibility-for-deprecated-TLS-methods.patch [deleted file]
lang/python/python-cryptography/patches/040-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch [deleted file]
lang/python/python-cryptography/patches/050-Switch-get_-Update-APIs-to-get0.patch [deleted file]
lang/python/python-cryptography/patches/060-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch [deleted file]
lang/python/python-cryptography/patches/070-Add-defines-for-totally-deprecated-functions.patch [deleted file]
lang/python/python-idna/Makefile
lang/python/python-lxml/Makefile
lang/python/python-pyopenssl/Makefile
lang/python/python-requests/Makefile
lang/python/python3-asgiref/Makefile
lang/python/python3-version.mk
lang/python/python3/Makefile
lang/tcl/Makefile
lang/vala/Makefile
libs/apr-util/Makefile
libs/apr/Makefile
libs/boost/Makefile
libs/boost/patches/001-uclibc-asio.patch [deleted file]
libs/cjson/Makefile [new file with mode: 0644]
libs/elektra/Makefile
libs/glib2/Makefile
libs/glib2/patches/002-no-tests.patch
libs/glib2/patches/003-valgrind.h-mips16-fix.patch
libs/glib2/patches/006-c99.patch [new file with mode: 0644]
libs/gnutls/Makefile
libs/gnutls/patches/010-m4.patch [new file with mode: 0644]
libs/google-authenticator-libpam/Makefile
libs/gpgme/Makefile
libs/icu/Makefile
libs/icu/patches/000-dont-cpy-files-from-topdirs.patch
libs/icu/patches/001-change_optimization_option.patch
libs/icu/patches/002-Disable-LDFLAGSICUDT-for-Linux.patch
libs/icu/patches/010-max_align_t.patch
libs/keyutils/Makefile
libs/keyutils/patches/010-reproducible-build.patch
libs/keyutils/patches/020-rindex.patch
libs/libarchive/Makefile
libs/libdaq/Makefile
libs/libfmt/Makefile
libs/libftdi/Makefile
libs/libftdi1/Makefile
libs/libgcrypt/Makefile
libs/libgphoto2/Makefile
libs/libgphoto2/patches/001-automake-compat.patch
libs/libgphoto2/patches/002-no-docs-examples-test-translations.patch
libs/libimobiledevice/Makefile
libs/libimobiledevice/patches/100-ios14.patch [new file with mode: 0644]
libs/libimobiledevice/patches/110-iOS14.patch [new file with mode: 0644]
libs/libimobiledevice/patches/120-iOS14.patch [new file with mode: 0644]
libs/libmcrypt/Makefile
libs/libpam/Makefile
libs/libpam/patches/0001-build-always-use-lib-instead-of-lib64.patch
libs/libpng/Makefile
libs/libpng/patches/010-png-exec.patch [new file with mode: 0644]
libs/libpng/patches/020-cmake-zlib.patch [new file with mode: 0644]
libs/libpng/patches/030-pkgconfig-zlib.patch [new file with mode: 0644]
libs/libpng/patches/200-ccache.patch
libs/libpqxx/Config.in [new file with mode: 0644]
libs/libpqxx/Makefile [new file with mode: 0644]
libs/libpqxx/patches/100-install-test-executor.patch [new file with mode: 0644]
libs/libtirpc/Makefile
libs/libuhttpd/Makefile
libs/libupnp/Makefile
libs/libuv/Makefile
libs/libvpx/Makefile
libs/libx264/Makefile
libs/libxslt/Makefile
libs/lzo/Makefile [new file with mode: 0644]
libs/neon/Makefile
libs/nss/Makefile
libs/nss/patches/001-nss_standalone.patch
libs/nss/patches/002-os_test.patch
libs/nss/patches/003-openwrt_fix.patch
libs/nss/patches/010-nanosleep.patch
libs/nss/patches/020-getopt.patch [new file with mode: 0644]
libs/p11-kit/Makefile
libs/p11-kit/patches/010-stdint.patch [new file with mode: 0644]
libs/pcre2/Makefile
libs/protobuf/Makefile
libs/protobuf/patches/010-rpath.patch
libs/protobuf/patches/020-threads.patch [new file with mode: 0644]
libs/pugixml/Makefile
libs/sbc/Makefile
libs/sbc/patches/010-x86.patch [new file with mode: 0644]
libs/spdlog/Makefile
libs/taglib/Makefile
libs/tcp_wrappers/Makefile
libs/tcp_wrappers/patches/001-debian_subset.patch
libs/tcp_wrappers/patches/004-ipv4_prefix.patch
libs/tcp_wrappers/patches/005-no--lnsl-on-musl.patch
libs/tcp_wrappers/patches/006-compilation-warnings.patch
libs/tiff/Makefile
libs/uci2/Makefile [new file with mode: 0644]
libs/unixodbc/Makefile
libs/vips/Makefile
libs/vips/patches/001-no_introspection.patch
libs/vips/patches/010-reproducible-build.patch
libs/xmlrpc-c/Makefile
libs/xr_usb_serial_common/Makefile
mail/alpine/Makefile
mail/exim/Makefile [new file with mode: 0644]
mail/exim/patches/010-allow-json-dynamic-lookup.patch [new file with mode: 0644]
mail/exim/patches/020-use-correct-printf-format-for-size-t.patch [new file with mode: 0644]
mail/exim/patches/100-localscan_dlopen.patch [new file with mode: 0644]
mail/opendkim/Makefile
mail/postfix/Makefile
mail/postfix/patches/300-bdb_hash_segfault.patch
mail/postfix/patches/400-cdb.patch
mail/postfix/patches/500-crosscompile.patch
mail/postfix/patches/950-dns_lookup-Fix-compilation-with-uClibc-ng.patch [deleted file]
multimedia/gerbera/Makefile
multimedia/gphoto2/Makefile
multimedia/gphoto2/patches/001-automake-compat.patch
multimedia/graphicsmagick/Makefile
multimedia/minidlna/Makefile
multimedia/minidlna/patches/001-dont-build-po-files.patch
multimedia/minidlna/patches/005-added-support-RMVB.patch
multimedia/minidlna/patches/010-lg.patch [deleted file]
multimedia/minidlna/patches/020-wrap_container_definitions_into_a_structure.patch
multimedia/minidlna/patches/030-mark_all_instances_of_magic_container_s_as_const.patch
multimedia/minidlna/patches/040-heroes.patch
multimedia/minidlna/patches/070-return-void.patch
multimedia/minidlna/patches/999-05-fix-setjmp-buffer-multiple-def.patch [deleted file]
multimedia/v4l2rtspserver/Makefile
multimedia/v4l2rtspserver/patches/010-live555.patch [new file with mode: 0644]
multimedia/youtube-dl/Makefile
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.init
net/adblock/files/adblock.sh
net/adblock/files/adblock.sources
net/adguardhome/Makefile
net/ariang/Makefile
net/atftp/Makefile
net/atftp/patches/01-missing-u_char-type-patch.patch
net/atftp/patches/02-fix-invalid-read-in-tftp_send_request.patch
net/atftp/patches/03-Fix-undefined-reference-linker-errors.patch
net/atftp/patches/04-cdefs.patch
net/banip/Makefile
net/banip/files/banip.sh
net/bfdd/Makefile
net/bfdd/patches/002-ipv6_musl_fix.patch
net/bfdd/patches/010-uclibc.patch [deleted file]
net/bind/Makefile
net/bind/files/bind/named.conf.example
net/bind/files/named.init
net/bridge-utils/Makefile
net/cifs-utils/Makefile
net/conntrack-tools/Makefile
net/conntrack-tools/patches/conntrack-tools-1.4.5-rpc.patch [deleted file]
net/coova-chilli/Makefile
net/curl/Makefile
net/curl/patches/001-openssl-acknowledge-SRP-disabling-in-configure-properly.patch [deleted file]
net/darkstat/Makefile
net/darkstat/patches/101-allow-multiple-local-interfaces.patch [new file with mode: 0644]
net/dawn/Makefile
net/ddns-scripts/Makefile
net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh [new file with mode: 0644]
net/ddns-scripts/files/usr/share/ddns/default/gandi.net.json [new file with mode: 0644]
net/dnstap/Makefile
net/freeradius3/Makefile
net/frp/Makefile
net/frr/Makefile
net/frr/files/daemons
net/frr/patches/000-bgpd_Actually_find_the_sequence_number.patch [deleted file]
net/frr/patches/001-bgpd_Some_backports.patch [deleted file]
net/frr/patches/002-lib_fix_route_map_description_memory_leak.patch [deleted file]
net/frr/patches/003-bgpd_Add_command_to_show_only_established_sessions.patch [deleted file]
net/frr/patches/004-Add_BFD_peer_awareness_to_frr-reload.patch [deleted file]
net/frr/patches/005-vtysh_fixes.patch [deleted file]
net/frr/patches/006-bgpd_how_the_real_next_hop_address.patch [deleted file]
net/frr/patches/007-bgpd_Fix_the_bug_BGP_MRAI.patch [deleted file]
net/frr/patches/099-redefine_ethhdr.patch [deleted file]
net/fwknop/Config.in
net/fwknop/Makefile
net/git/Makefile
net/gitolite/Makefile
net/gnurl/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/hs20/Makefile
net/hs20/files/hs20.init
net/hs20/patches/050-use-dm_ddf-v1_3_dtd.patch [new file with mode: 0644]
net/https-dns-proxy/Makefile
net/https-dns-proxy/files/README.md
net/https-dns-proxy/files/https-dns-proxy.init
net/https-dns-proxy/test.sh [new file with mode: 0644]
net/i2pd/Makefile
net/i2pd/files/i2pd.config
net/i2pd/files/i2pd.init
net/i2pd/patches/010-config.patch
net/i2pd/patches/020-x86.patch [new file with mode: 0644]
net/iftop/Makefile [new file with mode: 0644]
net/iftop/patches/010-gcc10.patch [new file with mode: 0644]
net/isc-dhcp/Makefile
net/isc-dhcp/files/dhcpd.init
net/isc-dhcp/patches/520-bind-no-catgets.patch [new file with mode: 0644]
net/kadnode/Makefile
net/knot/Makefile
net/krb5/Makefile
net/ksmbd-tools/Makefile
net/libreswan/Makefile
net/lighttpd/Makefile
net/lighttpd/files/lighttpd.conf
net/lighttpd/files/lighttpd.init
net/lighttpd/patches/010-mariadb.patch [deleted file]
net/lighttpd/patches/010-meson-lua.patch [new file with mode: 0644]
net/lighttpd/patches/020-maxminddb.patch [deleted file]
net/mdnsresponder/Makefile
net/miniupnpc/Makefile
net/miniupnpd/Makefile
net/miniupnpd/files/miniupnpd.init
net/modemmanager/Config.in
net/modemmanager/Makefile
net/modemmanager/README.md
net/modemmanager/files/modemmanager.proto
net/mosquitto/Config.in
net/mosquitto/Makefile
net/mwan3/Makefile
net/mwan3/files/etc/hotplug.d/iface/15-mwan3
net/mwan3/files/etc/hotplug.d/iface/16-mwan3-user
net/mwan3/files/etc/init.d/mwan3
net/mwan3/files/lib/mwan3/common.sh
net/mwan3/files/lib/mwan3/mwan3.sh
net/mwan3/files/usr/sbin/mwan3
net/mwan3/files/usr/sbin/mwan3rtmon
net/mwan3/files/usr/sbin/mwan3track
net/nft-qos/files/nft-qos.init
net/noddos/Makefile [deleted file]
net/noddos/patches/010-openssl-1.1-fixes.patch [deleted file]
net/noddos/patches/020-Ipset.cxx-update-libipset-API-to-version-7.patch [deleted file]
net/noddos/patches/030-getnoddosdeviceprofiles-wget-timestamping-check.patch [deleted file]
net/noddos/patches/040-openssl-deprecated.patch [deleted file]
net/ocserv/Makefile
net/ola/Makefile
net/ola/patches/010-no-werror.patch [new file with mode: 0644]
net/open-iscsi/Makefile
net/open-iscsi/patches/0002-idmb_rec_write-check-for-tpgt-first.patch
net/open-iscsi/patches/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch
net/open-iscsi/patches/0004-idbw_rec_write-pick-tpgt-from-existing-record.patch
net/open-iscsi/patches/0015-remove-the-offload-boot-supported-ifdef.patch
net/open-iscsi/patches/0019-Coverity-scan-fixes.patch
net/open-iscsi/patches/0023-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch [deleted file]
net/open-iscsi/patches/01-fixiscsi_iname_core_dumps.patch [deleted file]
net/open-iscsi/patches/02-change_include_poll_h.patch [deleted file]
net/open-iscsi/patches/03-ignore_iface_example.patch [deleted file]
net/openconnect/files/openconnect.sh
net/openssh/Makefile
net/openssh/files/sshd.failsafe [new file with mode: 0755]
net/openvpn-easy-rsa/Makefile [new file with mode: 0644]
net/openvpn-easy-rsa/files/openvpn-easy-rsa.profile [new file with mode: 0644]
net/openvpn-easy-rsa/files/openvpn-easy-rsa.upgrade [new file with mode: 0644]
net/openvpn/Config-mbedtls.in [new file with mode: 0644]
net/openvpn/Config-openssl.in [new file with mode: 0644]
net/openvpn/Makefile [new file with mode: 0644]
net/openvpn/files/etc/hotplug.d/openvpn/01-user [new file with mode: 0644]
net/openvpn/files/etc/openvpn.user [new file with mode: 0644]
net/openvpn/files/lib/functions/openvpn.sh [new file with mode: 0644]
net/openvpn/files/openvpn.config [new file with mode: 0644]
net/openvpn/files/openvpn.init [new file with mode: 0644]
net/openvpn/files/openvpn.options [new file with mode: 0644]
net/openvpn/files/openvpn.upgrade [new file with mode: 0644]
net/openvpn/files/usr/libexec/openvpn-hotplug [new file with mode: 0644]
net/openvpn/patches/001-reproducible-remove_DATE.patch [new file with mode: 0644]
net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch [new file with mode: 0644]
net/openvpn/patches/210-build_always_use_internal_lz4.patch [new file with mode: 0644]
net/openvpn/patches/220-disable_des.patch [new file with mode: 0644]
net/p910nd/Makefile
net/p910nd/files/p910nd.init
net/pdns-recursor/Makefile
net/phantap/Makefile
net/rsync/Makefile
net/samba4/Makefile
net/samba4/files/samba.init
net/simple-adblock/Makefile
net/simple-adblock/files/simple-adblock.conf
net/simple-adblock/files/simple-adblock.conf.update
net/simple-adblock/files/simple-adblock.init
net/snort/Makefile
net/sqm-scripts/Makefile
net/squid/Makefile
net/squid/patches/010-no-buildbxxflags.patch [new file with mode: 0644]
net/strongswan/Makefile
net/subversion/Makefile
net/tcpreplay/Makefile
net/transmission/Makefile
net/transmission/files/transmission-daemon.json
net/transmission/patches/010-no-intltool.patch
net/transmission/patches/020-mbedcrypto.patch
net/transmission/patches/080-disable-webseeding.patch
net/uacme/Makefile
net/udpxy/Makefile
net/unbound/Makefile
net/usbip/Makefile
net/wavemon/Makefile
net/wget/Makefile
net/wifischedule/Makefile
net/wifischedule/README.md
net/wifischedule/net/etc/config/wifi_schedule
net/wifischedule/net/usr/bin/wifi_schedule.sh
net/wsdd2/Makefile
net/xtables-addons/Makefile
net/zerotier/Makefile
net/zerotier/patches/0001-find-miniupnpc.h-in-staging-directory.patch
net/zerotier/patches/0002-remove-pie.patch
net/zerotier/patches/0003-remove-arm32-conservative-CFLAGS.patch
net/zerotier/patches/0004-accept-external-linker-flags.patch
net/zerotier/patches/0005-link-natpmp.patch
net/zerotier/patches/0006-gcc10.patch [new file with mode: 0644]
net/zerotier/patches/0007-add-cerrno-header-for-str-errno.patch [new file with mode: 0644]
net/zerotier/patches/0008-fix-compilation-for-arm_cortex-a7-neon.patch [new file with mode: 0644]
net/zerotier/patches/010-auxv.patch [new file with mode: 0644]
net/zerotier/patches/010-mangix.patch [deleted file]
net/zerotier/patches/020-musl.patch [deleted file]
net/zerotier/patches/030-gcc10.patch [deleted file]
sound/fdk-aac/Makefile
sound/pulseaudio/Makefile
sound/pulseaudio/patches/020-openssl-deprecated.patch [deleted file]
sound/shairport-sync/Makefile
sound/shairport-sync/patches/010-no-cxx.patch
utils/acsccid/Makefile [new file with mode: 0644]
utils/auc/Makefile
utils/auc/src/CMakeLists.txt
utils/augeas/Makefile [new file with mode: 0644]
utils/bash/Makefile
utils/bash/patches/100-fix-jobs.patch [deleted file]
utils/bash/patches/101-bash50-001.patch [deleted file]
utils/bash/patches/101-bash51-001.patch [new file with mode: 0644]
utils/bash/patches/102-bash50-002.patch [deleted file]
utils/bash/patches/102-bash51-002.patch [new file with mode: 0644]
utils/bash/patches/103-bash50-003.patch [deleted file]
utils/bash/patches/103-bash51-003.patch [new file with mode: 0644]
utils/bash/patches/104-bash50-004.patch [deleted file]
utils/bash/patches/104-bash51-004.patch [new file with mode: 0644]
utils/bash/patches/105-bash50-005.patch [deleted file]
utils/bash/patches/106-bash50-006.patch [deleted file]
utils/bash/patches/107-bash50-007.patch [deleted file]
utils/bash/patches/108-bash50-008.patch [deleted file]
utils/bash/patches/109-bash50-009.patch [deleted file]
utils/bash/patches/110-bash50-010.patch [deleted file]
utils/bash/patches/111-bash50-011.patch [deleted file]
utils/bash/patches/112-bash50-012.patch [deleted file]
utils/bash/patches/113-bash50-013.patch [deleted file]
utils/bash/patches/114-bash50-014.patch [deleted file]
utils/bash/patches/115-bash50-015.patch [deleted file]
utils/bash/patches/116-bash50-016.patch [deleted file]
utils/bash/patches/117-bash50-017.patch [deleted file]
utils/bash/patches/900-no_doc.patch
utils/bash/patches/901-startup-files.patch
utils/beep/Makefile
utils/bonnie++/Makefile
utils/bonnie++/patches/010-openwrt-fixes.patch
utils/cni-plugins/Makefile
utils/collectd/Makefile
utils/collectd/patches/930-dhcpleases-add-dhcpleases-plugin.patch [new file with mode: 0644]
utils/conmon/Makefile
utils/containerd/Makefile
utils/coremark/Makefile
utils/coreutils/Makefile
utils/crelay/Makefile
utils/crelay/patches/011-support-gpio-with-number-bigger-than-255.patch [new file with mode: 0644]
utils/docker-ce/Config.in [deleted file]
utils/docker-ce/Makefile [deleted file]
utils/docker-ce/files/dockerd.init [deleted file]
utils/docker-ce/files/etc/config/dockerd [deleted file]
utils/docker-ce/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf [deleted file]
utils/docker-ce/patches/001-libdevmapper_name_fix.patch [deleted file]
utils/docker-ce/patches/002-imporve-hardcoded-CC-on-cross-compile.patch [deleted file]
utils/docker-compose/Makefile
utils/docker/Makefile [new file with mode: 0644]
utils/dockerd/Config.in [new file with mode: 0644]
utils/dockerd/Makefile [new file with mode: 0644]
utils/dockerd/files/dockerd.init [new file with mode: 0755]
utils/dockerd/files/etc/config/dockerd [new file with mode: 0644]
utils/dockerd/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf [new file with mode: 0644]
utils/dockerd/patches/001-libdevmapper_name_fix.patch [new file with mode: 0644]
utils/findutils/Makefile
utils/fontconfig/Makefile
utils/gnuplot/Makefile
utils/gnuplot/patches/010-remove_doc_from_makefile.patch
utils/gpsd/Makefile
utils/haveged/Makefile
utils/hfsprogs/Makefile
utils/hfsprogs/patches/0001-Create-short-Makefiles-for-Debian.patch
utils/hfsprogs/patches/0002-Add-exclude-Darwin-specific-code.patch
utils/hfsprogs/patches/0003-Add-helper-include-files-absent-from-the-upstream-pa.patch
utils/hfsprogs/patches/0004-Fix-compilation-on-64-bit-arches.patch
utils/hfsprogs/patches/0005-Remove-Apple-specific-p-from-strings.patch
utils/hfsprogs/patches/0006-Adjust-types-for-printing.patch
utils/hfsprogs/patches/0007-Fix-path-for-HFS-wrapper-block.patch
utils/hfsprogs/patches/0008-Provide-command-line-option-a.patch
utils/hfsprogs/patches/0009-Rename-dprintf-to-dbg_printf.patch
utils/hfsprogs/patches/0010-Rename-custom-macro-nil-with-NULL.patch
utils/hfsprogs/patches/0011-Fix-types.patch
utils/hfsprogs/patches/0012-Fix-mkfs-not-creating-UUIDs-for-new-filesystems.patch
utils/hfsprogs/patches/0013-Fix-manpages.patch
utils/hfsprogs/patches/0014-uClibc_no_loadavg.patch
utils/hfsprogs/patches/0015-sysctl-only-on-glibc.patch
utils/hfsprogs/patches/0016-Fix-fsckhfs-wide-literal.patch
utils/hfsprogs/patches/010-valloc-to-memalign.patch
utils/hfsprogs/patches/030-no-cdefs.patch
utils/hplip/Makefile
utils/hplip/patches/010-libusb_fix.patch
utils/hplip/patches/020-remove_cups_dep_on_scan.patch
utils/hplip/patches/030-replace_unsafe_memcpy_with_memmove.patch
utils/hplip/patches/050-fix-glibcisms.patch
utils/hwdata/Makefile [new file with mode: 0644]
utils/hwinfo/Makefile
utils/hwinfo/patches/0-hardcoding-version
utils/hwinfo/patches/1-remove_libx8emu_dependency
utils/hwinfo/patches/2-enable-hw-ids-and-disable-generation-of-tiny-hwinfo-headers
utils/hwinfo/patches/3-assorted-Makefile-butchery
utils/jupp/Makefile
utils/kmod/Makefile
utils/lcd4linux/Makefile
utils/lcd4linux/files/lcd4linux.init
utils/less/Makefile
utils/libnetwork/Makefile
utils/lvm2/Makefile
utils/lvm2/patches/002-const-stdio.patch
utils/lvm2/patches/003-no-mallinfo.patch
utils/lvm2/patches/004-device-include-goto-lable-as-well.patch
utils/mg/Makefile
utils/mg/patches/001-cross_compile_openwrt.patch
utils/mksh/Makefile
utils/mksh/patches/100-dot_mkshrc
utils/nano/Makefile
utils/ntfs-3g/Makefile
utils/open-vm-tools/Makefile
utils/open-vm-tools/patches/0003-Use-configure-test-for-struct-timespec.patch
utils/open-vm-tools/patches/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
utils/open-vm-tools/patches/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
utils/open-vm-tools/patches/0007-include-poll.h-instead-of-sys-poll.h.patch
utils/open-vm-tools/patches/0008-Rename-poll.h-to-vm_poll.h.patch
utils/open-vm-tools/patches/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch
utils/open-vm-tools/patches/0014-resolve-musl-does-not-implement-res_ninit.patch
utils/open-vm-tools/patches/010-musl-120.patch
utils/open-vm-tools/patches/020-no-werror.patch
utils/open2300/Makefile
utils/openocd/Makefile
utils/openocd/patches/010-gcc10.patch [deleted file]
utils/pciutils/Makefile
utils/pciutils/patches/101-no-strip.patch
utils/pciutils/patches/102-compressed-ids.patch
utils/pciutils/patches/106-hwdata.patch [new file with mode: 0644]
utils/pcsc-lite/Makefile
utils/podman/Makefile
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/snmp6.lua [new file with mode: 0644]
utils/qemu/Makefile
utils/qemu/patches/0007-qga-invoke-separate-applets-for-guest-shutdown-modes.patch [new file with mode: 0644]
utils/rpcd-mod-lxc/Makefile
utils/rtl_433/Makefile
utils/rtty/Makefile
utils/smartmontools/Makefile
utils/smartmontools/patches/001-use-external-drivedb.patch
utils/smartmontools/patches/002-os_mailer-is-mailx.patch
utils/smartmontools/test.sh [new file with mode: 0644]
utils/spi-tools/Makefile
utils/stress-ng/Makefile
utils/sumo/Makefile
utils/sumo/patches/010-usleep.patch [deleted file]
utils/sumo/patches/020-strerror.patch [deleted file]
utils/sysstat/Makefile
utils/sysstat/patches/010-ldflags.patch
utils/tcsh/Makefile
utils/tcsh/patches/001-sysmalloc.patch
utils/tcsh/patches/020-cross.patch
utils/tcsh/patches/030-gcc10.patch [deleted file]
utils/tini/Makefile
utils/tini/patches/001-override-git-version.patch [new file with mode: 0644]
utils/ttyd/Makefile
utils/ttyd/patches/100-log-to-syslog.patch
utils/ttyd/patches/200-protocol-fix-request-path-for-h2.patch [deleted file]
utils/uhubctl/Makefile
utils/unrar/Makefile
utils/usbutils/Makefile [new file with mode: 0644]
utils/uvcdynctrl/Makefile
utils/uvcdynctrl/patches/020-static.patch [new file with mode: 0644]
utils/watchcat/Makefile
utils/watchcat/files/initd_watchcat
utils/watchcat/files/uci_defaults_watchcat
utils/watchcat/files/watchcat.sh
utils/whois/Makefile
utils/whois/patches/010-no-crypt.patch [deleted file]
utils/whois/patches/010-no-mkpasswd.patch [new file with mode: 0644]
utils/whois/patches/020-no-idn2.patch
utils/whois/patches/030-no-mkpasswd.patch [deleted file]
utils/xfsprogs/Makefile
utils/xz/Makefile
utils/yq/Makefile
utils/zoneinfo/Makefile
utils/zstd/Makefile
utils/zstd/patches/010-python.patch [deleted file]

index e1bb12d5c16e374c429da37f6aed317a70c728e6..20187622b0af87b9a76e08281f75b890fbe2f4ff 100644 (file)
@@ -2,8 +2,6 @@ name: Test Build
 
 on:
   pull_request:
-    branches:
-      - master
 
 jobs:
   build:
@@ -13,18 +11,18 @@ jobs:
       fail-fast: false
       matrix:
         arch:
-          - arc_arc700
+          - arc_archs
           - arm_cortex-a9_vfpv3-d16
           - mips_24kc
           - powerpc_464fp
           - powerpc_8540
         runtime_test: [false]
         include:
-          - arch: aarch64_generic
+          - arch: aarch64_cortex-a53
             runtime_test: true
           - arch: arm_cortex-a15_neon-vfpv4
             runtime_test: true
-          - arch: i386_pentium4
+          - arch: i386_pentium-mmx
             runtime_test: true
           - arch: x86_64
             runtime_test: true
@@ -48,10 +46,16 @@ jobs:
           echo "Building $PACKAGES"
           echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
 
+      - name: Determine branch name
+        run: |
+          BRANCH="${GITHUB_BASE_REF#refs/heads/}"
+          echo "Building for $BRANCH"
+          echo "BRANCH=$BRANCH" >> $GITHUB_ENV
+
       - name: Build
         uses: openwrt/gh-action-sdk@v1
         env:
-          ARCH: ${{ matrix.arch }}
+          ARCH: ${{ matrix.arch }}-${{ env.BRANCH }}
           FEEDNAME: packages_ci
 
       - name: Move created packages to project dir
index 0545ec36aacb107ee45f363e5e3ae5c9f0a19f74..7047037697d8f8b324df9d00b158a8f72a48deb2 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=htop
-PKG_VERSION:=3.0.2
+PKG_VERSION:=3.0.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/htop-dev/htop/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=b4744a3bea279f2a3725ed8e5e35ffd9cb10d66673bf07c8fe21feb3c4661305
+PKG_HASH:=d8a0536ce95e3d59f8e292e73ee037033a74a8cc118fd10d22048bd4aeb61324
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
index 1c7d7195a39c94fa5da3bbaa5be8c0ce41eff6c2..f6ab3a43028970ce0f4f6971ec6d5eb6cbba7cee 100644 (file)
@@ -9,18 +9,20 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=monit
 PKG_VERSION:=5.26.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://mmonit.com/monit/dist
 PKG_HASH:=87fc4568a3af9a2be89040efb169e3a2e47b262f99e78d5ddde99dd89f02f3c2
 
+PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
 PKG_LICENSE:=AGPL-3.0
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:tildeslash:monit
 
-PKG_BUILD_PARALLEL:=1
+PKG_FIXUP:=libtool
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -30,7 +32,6 @@ define Package/monit/Default
   DEPENDS:= +libpthread +zlib
   TITLE:=System services monitoring utility
   URL:=https://mmonit.com/monit/
-  MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
 endef
 
 define Package/monit/Default/description
index 324f77d2f17ce7ebf0e14000a5b8d1d285a7ec52..29f407e535be5c1da7cc08b685786339cde55abc 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netdata
-PKG_VERSION:=1.26.0
+PKG_VERSION:=1.28.0
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Daniel Engberg <daniel.engberg.lists@pyret.net>
@@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:my-netdata:netdata
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/netdata/netdata/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=be32d49381da39196574011653ea863f2064a2168bc9b61a1354171b27ce370b
+PKG_HASH:=35f681abddfc307ffa8f026dbded4eadf3752a7cbb3078501a64d4f9b605491e
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index 0d3862f0badf6bc146a97d576cf36026e0260ba9..f2b86b4ca0aba53e36c958d95a99c2b87abf872e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/web/gui/main.js
 +++ b/web/gui/main.js
-@@ -745,11 +745,7 @@ function renderMyNetdataMenu(machinesArr
+@@ -759,11 +759,7 @@ function renderMyNetdataMenu(machinesArr
      if (!isSignedIn()) {
          if (!NETDATA.registry.isRegistryEnabled()) {
              html += (
index eaf300b378cb12457b9087475b40ab5e9da4f2a2..e4816009ec02666f305ea68caa6f5696727a0e60 100644 (file)
@@ -1,8 +1,8 @@
 --- a/collectors/python.d.plugin/Makefile.am
 +++ b/collectors/python.d.plugin/Makefile.am
-@@ -142,109 +142,3 @@ dist_third_party_DATA = \
-     python_modules/third_party/boinc_client.py \
+@@ -145,109 +145,3 @@ dist_third_party_DATA = \
      python_modules/third_party/monotonic.py \
+     python_modules/third_party/filelock.py \
      $(NULL)
 -
 -pythonyaml2dir=$(pythonmodulesdir)/pyyaml2
diff --git a/admin/netdata/patches/007-dont-check-for-ebpf-dependencies-when-it-is-disabled.patch b/admin/netdata/patches/007-dont-check-for-ebpf-dependencies-when-it-is-disabled.patch
deleted file mode 100644 (file)
index c224677..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From bb405e3c274ca8860c974a720071d346b16c8462 Mon Sep 17 00:00:00 2001
-From: Tomas Kopal <Tomas.Kopal@eccam.com>
-Date: Tue, 6 Oct 2020 13:38:08 +0200
-Subject: [PATCH] Don't check for ebpf dependencies if ebpf is disabled.
-
----
- configure.ac | 56 +++++++++++++++++++++++++++-------------------------
- 1 file changed, 29 insertions(+), 27 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 57f6c0b1cb3a..5f13b4feb0d1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -989,36 +989,38 @@ AM_CONDITIONAL([ENABLE_PLUGIN_PERF], [test "${enable_plugin_perf}" = "yes"])
- # -----------------------------------------------------------------------------
- # ebpf.plugin
--PKG_CHECK_MODULES(
--    [LIBELF],
--    [libelf],
--    [have_libelf=yes],
--    [have_libelf=no]
--)
-+if test "${build_target}" = "linux" -a "${enable_ebpf}" != "no"; then
-+    PKG_CHECK_MODULES(
-+        [LIBELF],
-+        [libelf],
-+        [have_libelf=yes],
-+        [have_libelf=no]
-+    )
--AC_CHECK_TYPE(
--    [struct bpf_prog_info],
--    [have_bpf=yes],
--    [have_bpf=no],
--    [#include <linux/bpf.h>]
--)
-+    AC_CHECK_TYPE(
-+        [struct bpf_prog_info],
-+        [have_bpf=yes],
-+        [have_bpf=no],
-+        [#include <linux/bpf.h>]
-+    )
--AC_CHECK_FILE(
--    externaldeps/libbpf/libbpf.a,
--    [have_libbpf=yes],
--    [have_libbpf=no]
--)
-+    AC_CHECK_FILE(
-+        externaldeps/libbpf/libbpf.a,
-+        [have_libbpf=yes],
-+        [have_libbpf=no]
-+    )
--AC_MSG_CHECKING([if ebpf.plugin should be enabled])
--if test "${build_target}" = "linux" -a \
--        "${enable_ebpf}" != "no" -a \
--        "${have_libelf}" = "yes" -a \
--        "${have_bpf}" = "yes" -a \
--        "${have_libbpf}" = "yes"; then
--    OPTIONAL_BPF_CFLAGS="${LIBELF_CFLAGS} -I externaldeps/libbpf/include"
--    OPTIONAL_BPF_LIBS="externaldeps/libbpf/libbpf.a ${LIBELF_LIBS}"
--    AC_DEFINE([HAVE_LIBBPF], [1], [libbpf usability])
--    enable_ebpf="yes"
-+    AC_MSG_CHECKING([if ebpf.plugin should be enabled])
-+    if test "${have_libelf}" = "yes" -a \
-+            "${have_bpf}" = "yes" -a \
-+            "${have_libbpf}" = "yes"; then
-+        OPTIONAL_BPF_CFLAGS="${LIBELF_CFLAGS} -I externaldeps/libbpf/include"
-+        OPTIONAL_BPF_LIBS="externaldeps/libbpf/libbpf.a ${LIBELF_LIBS}"
-+        AC_DEFINE([HAVE_LIBBPF], [1], [libbpf usability])
-+        enable_ebpf="yes"
-+    else
-+        enable_ebpf="no"
-+    fi
- else
-     enable_ebpf="no"
- fi
index 4f1a5da7effcf43b32afb2c2b45cd7facc08aef5..f2eb91d2c9c779cc3815b1a5c5d74aba73af4952 100644 (file)
@@ -8,24 +8,25 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sudo
-PKG_VERSION:=1.8.31
+PKG_VERSION:=1.9.4p2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.sudo.ws/dist
-PKG_HASH:=7ea8d97a3cee4c844e0887ea7a1bd80eb54cc98fd77966776cb1a80653ad454f
+PKG_HASH:=c34af1fa79d40d0869e4010bdd64005290ea2e1ba35638ef07fcc684c4470f64
+
+PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 
-PKG_MAINTAINER:=
 PKG_LICENSE:=ISC
 PKG_LICENSE_FILES:=doc/LICENSE
 PKG_CPE_ID:=cpe:/a:todd_miller:sudo
 
-PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
-
+PKG_BUILD_PARALLEL:=1
 PKG_BUILD_DEPENDS:=sudo/host
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 
 define Package/sudo
   SECTION:=admin
@@ -46,7 +47,7 @@ define Package/sudo/conffiles
 /etc/sudoers.d/
 endef
 
-CONFIGURE_ARGS+= \
+CONFIGURE_ARGS += \
        --without-pam \
        --disable-pam-session \
        --with-editor=/bin/vi \
@@ -55,12 +56,10 @@ CONFIGURE_ARGS+= \
        --with-rundir=/var/lib/sudo \
        --with-vardir=/var/lib/sudo
 
-CONFIGURE_VARS+= \
+CONFIGURE_VARS += \
        sudo_cv_uid_t_len=10 \
        sudo_cv_func_unsetenv_void=no
 
-include $(INCLUDE_DIR)/host-build.mk
-
 define Host/Compile
        cd $(HOST_BUILD_DIR)/lib/util; \
            $(MAKE) mksiglist; $(MAKE) mksigname
@@ -71,21 +70,18 @@ define Host/Install
        $(CP) $(HOST_BUILD_DIR)/lib/util/mksig{list,name} $(STAGING_DIR_HOSTPKG)/bin/
 endef
 
-$(eval $(call HostBuild))
-
 define Package/sudo/install
-       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_DIR) \
+               $(1)/etc/{init.d,sudoers.d} \
+               $(1)/usr/{bin,sbin} \
+               $(1)/usr/lib/sudo
+
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/sudo $(1)/usr/bin/
        chmod 4755 $(1)/usr/bin/sudo
-       $(INSTALL_DIR) $(1)/usr/sbin
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/visudo $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/etc
        $(CP) $(PKG_INSTALL_DIR)/etc/sudoers $(1)/etc/
        chmod 0440 $(1)/etc/sudoers
-       $(INSTALL_DIR) $(1)/etc/sudoers.d
-       $(INSTALL_DIR) $(1)/usr/lib/sudo
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/sudo/*.so* $(1)/usr/lib/sudo/
-       $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/sudo.init $(1)/etc/init.d/sudo
 endef
 
@@ -98,4 +94,5 @@ define Package/sudo/postinst
 }
 endef
 
+$(eval $(call HostBuild))
 $(eval $(call BuildPackage,sudo))
index 31c510c3dc055cbfe805443c41aa3a8eaca99cc2..c04c6371166bbb690e097ef603e43f2af8de25d4 100644 (file)
@@ -1,8 +1,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=syslog-ng
-PKG_VERSION:=3.29.1
-PKG_RELEASE:=3
+PKG_VERSION:=3.30.1
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
 PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
@@ -11,7 +11,7 @@ PKG_CPE_ID:=cpe:/a:balabit:syslog-ng
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/syslog-ng/syslog-ng/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
-PKG_HASH:=5cd6b65466671ec5b793fc703a515e07e0da39b79190b2a3c89af176d07e89fd
+PKG_HASH:=44e54a6186af14d01affa06bf7391cfe8fc2460bd4ba211aab5469d8b1ca5b4b
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
index 22cfe8ee1324b7c60ff9551030344f6d7a522f20..76412fabb3e0debf43ff5412a849940aab6528c4 100644 (file)
@@ -4,7 +4,7 @@
 # More details about these settings can be found here:
 # https://www.syslog-ng.com/technical-documents/list/syslog-ng-open-source-edition
 
-@version: 3.29
+@version: 3.30
 @include "scl.conf"
 
 options {
index 911b4d0358ec4f5354e1859e1044a291160ee391..c7a9d757712f9b8f74d2effa19e205fb2f769940 100644 (file)
@@ -8,21 +8,21 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=autoconf
-PKG_VERSION:=2.69
-PKG_RELEASE:=3
+PKG_VERSION:=2.70
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=@GNU/autoconf
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684
+PKG_HASH:=fa9e227860d9d845c0a07f63b88c8d7a2ae1aa2345fb619384bb8accc19fecc6
+
 PKG_MAINTAINER:=Heinrich Schuchardt <xypron.glpk@gmx.de>
 PKG_LICENSE:=GPL-3.0-or-later
 
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-CONFIGURE_VARS += M4=m4 EMACS=no
-
 define Package/autoconf
   SECTION:=devel
   CATEGORY:=Development
@@ -37,10 +37,7 @@ define Package/autoconf/description
   automatically configure software source code packages.
 endef
 
-define Build/Install
-       $(SED) 's/@PERL@/\/usr\/bin\/perl/g' $(PKG_BUILD_DIR)/bin/Makefile.in
-       $(call Build/Install/Default)
-endef
+CONFIGURE_VARS += M4=m4 EMACS=no
 
 define Package/autoconf/install
        $(INSTALL_DIR) $(1)/usr/bin
index 65a41f8ebb775c0ffe61b20ab347714e3dab42de..ec889771057d272c3fb9298ac696156bdeb2b827 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=diffutils
 PKG_VERSION:=3.7
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/diffutils
@@ -31,9 +31,8 @@ define Package/diffutils
   TITLE:=diffutils
   URL:=http://www.gnu.org/software/diffutils/
   ALTERNATIVES:=\
-    200:/usr/bin/cmp:/usr/bin/gnu-cmp \
-    200:/usr/bin/diff:/usr/bin/gnu-diff \
-
+    200:/usr/bin/cmp:/usr/libexec/cmp-gnu \
+    200:/usr/bin/diff:/usr/libexec/diff-gnu
 endef
 
 define Package/diffutils/description
@@ -48,8 +47,9 @@ CONFIGURE_VARS += \
 define Package/diffutils/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3} $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/diff $(1)/usr/bin/gnu-diff
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cmp $(1)/usr/bin/gnu-cmp
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/diff $(1)/usr/libexec/diff-gnu
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cmp $(1)/usr/libexec/cmp-gnu
 endef
 
 $(eval $(call BuildPackage,diffutils))
diff --git a/devel/gitlab-runner/Makefile b/devel/gitlab-runner/Makefile
new file mode 100644 (file)
index 0000000..6902772
--- /dev/null
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gitlab-runner
+PKG_VERSION:=13.5.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://gitlab.com/gitlab-org/gitlab-runner/-/archive/v$(PKG_VERSION)
+PKG_HASH:=765c1556ed9dd4c1b36f9946224c62f068b171e2c1581eeb8f71055327d8a274
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/gitlab-runner-v$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+GO_PKG:=gitlab.com/gitlab-org/gitlab-runner
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/gitlab-runner
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=Runner for CI/CD
+  URL:=https://docs.gitlab.com/runner
+  DEPENDS:= \
+    $(GO_ARCH_DEPENDS) \
+    @!(mips||mipsel) # Disabled because of docker engine error https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27234
+endef
+
+define Package/gitlab-runner/description
+  GitLab Runner is an application that works with
+  GitLab CI/CD to run jobs in a pipeline.
+endef
+
+$(eval $(call GoBinPackage,gitlab-runner))
+$(eval $(call BuildPackage,gitlab-runner))
index 08ab50ff5208a35580121a8a5763578324677074..34a627b1db4f1ae3af9fbf40773642a303e4cc5c 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ninja
-PKG_VERSION:=1.10.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.10.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ninja-build/ninja/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=a6b6f7ac360d4aabd54e299cc1d8fa7b234cd81b9401693da21221c62569a23e
+PKG_HASH:=ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed
 
 PKG_MAINTAINER:=Andre Heider <a.heider@gmail.com>
 PKG_LICENSE:=Apache-2.0
index f8c31d98503213332fb1edcbe615592eb116d7a6..82b4641b7e7407ac7d19143423bdb7656349e139 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ksmbd
-PKG_VERSION:=3.2.5
+PKG_VERSION:=3.3.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cifsd-team/cifsd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=b93a068f6dc2b2040c8cebcb67f6d8c3a1c5c7c5032269a48579ccba996e6be7
+PKG_HASH:=51f4b8a5c469872fa9bb2661534f51b9a288d2f3af07f0e86cf0d7aa031ccc02
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -37,7 +37,8 @@ define KernelPackage/fs-ksmbd
                +kmod-crypto-sha512 \
                +kmod-crypto-aead \
                +kmod-crypto-ccm \
-               +kmod-crypto-gcm
+               +kmod-crypto-gcm \
+               +kmod-lib-crc32c
 endef
 
 define KernelPackage/fs-ksmbd/description
index 52c5054fd485339ac2b081b05a47106dc44d2448..2be208715ea47bb6ed06f68f8b38241fd719d168 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=erlang
 PKG_VERSION:=23.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= http://www.erlang.org/download/
@@ -314,20 +314,10 @@ endef
 
 HOST_CONFIGURE_ARGS += \
        --disable-hipe \
+       --disable-pgo \
        --disable-smp-support \
        --without-javac
 
-HOST_CFLAGS += -D_GNU_SOURCE
-
-define Host/Compile
-       $(MAKE) -C $(HOST_BUILD_DIR) all
-endef
-
-define Host/Install
-       $(MAKE) -C $(HOST_BUILD_DIR) install
-endef
-
-
 # Target
 
 CONFIGURE_ARGS += \
index f7b2a2d99025da9420f2d975e8956504303e0110..8f30a152c95cb321c06390f6e42acaa39b3fcd65 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 GO_VERSION_MAJOR_MINOR:=1.15
-GO_VERSION_PATCH:=5
+GO_VERSION_PATCH:=6
 
 PKG_NAME:=golang
 PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
@@ -20,7 +20,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
 
 PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
 PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1
+PKG_HASH:=890bba73c5e2b19ffb1180e385ea225059eb008eb91b694875dd86ea48675817
 
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/golang/golang/patches/001-allow-flags-in-CGO_LDFLAGS-environment-variable-not-in-security-allowlist-GH-42567.patch b/lang/golang/golang/patches/001-allow-flags-in-CGO_LDFLAGS-environment-variable-not-in-security-allowlist-GH-42567.patch
deleted file mode 100644 (file)
index 49ca5a5..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From 39f8e98946a0958a4f69ec28c78b8e5d46125e44 Mon Sep 17 00:00:00 2001
-From: Ian Lance Taylor <iant@golang.org>
-Date: Fri, 13 Nov 2020 11:05:37 -0800
-Subject: [PATCH] [release-branch.go1.15] cmd/go: permit CGO_LDFLAGS to appear in //go:ldflag
-
-For #42565
-Fixes #42567
-
-Change-Id: If7cf39905d124dbd54dfac6a53ee38270498efed
-Reviewed-on: https://go-review.googlesource.com/c/go/+/269818
-Trust: Ian Lance Taylor <iant@golang.org>
-Run-TryBot: Ian Lance Taylor <iant@golang.org>
-TryBot-Result: Go Bot <gobot@golang.org>
-Reviewed-by: Jay Conrod <jayconrod@google.com>
-(cherry picked from commit 782cf560db4c919790fdb476d1bbe18e5ddf5ffd)
----
-
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 13d4c8c..dc0c4fc 100644
---- a/src/cmd/go/internal/work/exec.go
-+++ b/src/cmd/go/internal/work/exec.go
-@@ -2766,6 +2766,21 @@
-                               idx = bytes.Index(src, []byte(cgoLdflag))
-                       }
-               }
-+
-+              // We expect to find the contents of cgoLDFLAGS in flags.
-+              if len(cgoLDFLAGS) > 0 {
-+              outer:
-+                      for i := range flags {
-+                              for j, f := range cgoLDFLAGS {
-+                                      if f != flags[i+j] {
-+                                              continue outer
-+                                      }
-+                              }
-+                              flags = append(flags[:i], flags[i+len(cgoLDFLAGS):]...)
-+                              break
-+                      }
-+              }
-+
-               if err := checkLinkerFlags("LDFLAGS", "go:cgo_ldflag", flags); err != nil {
-                       return nil, nil, err
-               }
-diff --git a/src/cmd/go/testdata/script/ldflag.txt b/src/cmd/go/testdata/script/ldflag.txt
-new file mode 100644
-index 0000000..6ceb33b
---- /dev/null
-+++ b/src/cmd/go/testdata/script/ldflag.txt
-@@ -0,0 +1,44 @@
-+# Issue #42565
-+
-+[!cgo] skip
-+
-+# We can't build package bad, which uses #cgo LDFLAGS.
-+cd bad
-+! go build
-+stderr no-such-warning
-+
-+# We can build package ok with the same flags in CGO_LDFLAGS.
-+env CGO_LDFLAGS=-Wno-such-warning -Wno-unknown-warning-option
-+cd ../ok
-+go build
-+
-+# Build a main program that actually uses LDFLAGS.
-+cd ..
-+go build -ldflags=-v
-+
-+# Because we passed -v the Go linker should print the external linker
-+# command which should include the flag we passed in CGO_LDFLAGS.
-+stderr no-such-warning
-+
-+-- go.mod --
-+module ldflag
-+
-+-- bad/bad.go --
-+package bad
-+
-+// #cgo LDFLAGS: -Wno-such-warning -Wno-unknown-warning
-+import "C"
-+
-+func F() {}
-+-- ok/ok.go --
-+package ok
-+
-+import "C"
-+
-+func F() {}
-+-- main.go --
-+package main
-+
-+import _ "ldflag/ok"
-+
-+func main() {}
index b95b625f009847a22dc0421e647f00d02b4a6aae..93922c7a4d2dfc49cbcc970f085f1e4a48ce5fec 100644 (file)
@@ -28,13 +28,22 @@ define Package/lualanes
        SECTION:=lang
        CATEGORY:=Languages
        TITLE:=LuaLanes
-       URL:=http://luaforge.net/projects/lanes/
+       URL:=http://lualanes.github.io/lanes/
        DEPENDS:=+lua +luac +liblua +libpthread
        MAINTAINER:=Vladimir Malyutin <first-leon@yandex.ru>
 endef
 
 define Package/lualanes/description
-       Lanes is a lightweight, native, lazy evaluating multithreading library for Lua 5.1 and 5.2.
+ Lua Lanes is a Lua extension library providing the possibility to run
+multiple Lua states in parallel. It is intended to be used for optimizing
+performance on multicore CPU's and to study ways to make Lua programs
+naturally parallel to begin with.
+
+Lanes is included into your software by the regular require "lanes" method.
+No C side programming is needed; all APIs are Lua side, and most existing
+extension modules should work seamlessly together with the multiple lanes.
+
+Lanes supports Lua 5.1, 5.2 and 5.3
 endef
 
 define Build/Compile
index e2590d8c36a4f794ca71d5c805bf858d11815dcf..008eac69f7650c7cecfdbaec5c178865a082f568 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NPM_NAME:=node-hid
 PKG_NAME:=$(PKG_NPM_NAME)
-PKG_VERSION:=1.3.2
+PKG_VERSION:=2.1.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_NPM_NAME)/-/
-PKG_HASH:=dce3ff3380d2ad66078ba77498e49693582437ba94bb84229f146e893fa4ed9a
+PKG_HASH:=6c1f05935215feed4e8d2f4aecf31abbad8fa783d252b0bd6041ed2f2e96e9ba
 
 PKG_BUILD_DEPENDS:=node/host
 PKG_USE_MIPS16:=0
@@ -31,8 +31,8 @@ define Package/node-hid
   SECTION:=lang
   CATEGORY:=Languages
   TITLE:=Node.js package to access HID devices
-  URL:=https://github.com/node-hid/node-hid
-  DEPENDS:=+node +node-npm +libusb-1.0 +hidapi +libudev $(ICONV_DEPENDS)
+  URL:=https://www.npmjs.com/package/node-hid
+  DEPENDS:=+node +node-npm +libusb-1.0 +libudev $(ICONV_DEPENDS)
 endef
 
 define Package/node-hid/description
@@ -49,7 +49,7 @@ TARGET_CFLAGS+=$(FPIC) -I$(STAGING_DIR)/usr/include/libusb-1.0
 TARGET_LDFLAGS+=$(if $(ICONV_FULL),-liconv)
 
 define Build/Compile
-       git init $(PKG_BUILD_DIR)
+       GYP_DEFINES='driver="hidraw"' \
        $(MAKE_VARS) \
        $(MAKE_FLAGS) \
        npm_config_arch=$(NODEJS_CPU) \
@@ -66,9 +66,7 @@ endef
 
 define Package/node-hid/install
        $(INSTALL_DIR) $(1)/usr/lib/node/$(PKG_NPM_NAME)
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,*.md} \
-               $(1)/usr/lib/node/$(PKG_NPM_NAME)/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{binding.gyp,*.js} \
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,*.md,*.js} \
                $(1)/usr/lib/node/$(PKG_NPM_NAME)/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{node_modules,src} \
                $(1)/usr/lib/node/$(PKG_NPM_NAME)/
@@ -76,7 +74,7 @@ define Package/node-hid/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/build/Release/HID*.node \
                $(1)/usr/lib/node/$(PKG_NPM_NAME)/build/Release/
        $(INSTALL_DIR) $(1)/usr/bin
-       $(LN) ../lib/node/node-hid/src/show-devices.js $(1)/usr/bin/hid-showdevices
+       $(LN) ../lib/node/$(PKG_NPM_NAME)/src/show-devices.js $(1)/usr/bin/hid-showdevices
 endef
 
 $(eval $(call BuildPackage,node-hid))
index 9f1d04497f9f0b6d41e2c6896a3eeb5ae3a52ed4..89b35691ca329d4c5348e0772b6028e848ab2e35 100644 (file)
@@ -1,6 +1,5 @@
-diff -urN a/hidapi/linux/hid.c b/hidapi/linux/hid.c
---- a/hidapi/linux/hid.c       1985-10-26 17:15:00.000000000 +0900
-+++ b/hidapi/linux/hid.c       2019-12-12 11:15:11.164454207 +0900
+--- a/hidapi/linux/hid.c
++++ b/hidapi/linux/hid.c
 @@ -24,6 +24,7 @@
  /* C */
  #include <stdio.h>
index 080c2d2d2854fb067e8ec6e96a7b453f45b52d45..209e1a0bf73b5c6600800dda56e6901631ca9b37 100644 (file)
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NPM_NAME:=homebridge
 PKG_NAME:=node-$(PKG_NPM_NAME)
-PKG_VERSION:=1.2.3
+PKG_VERSION:=1.2.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_NPM_NAME)/-/
-PKG_HASH:=80f1bbd2021942f4ec47d662f9ec208ca7fb7490d981cdc409f19809604cb592
+PKG_HASH:=f91ab0058707a0498d97d87f45f19682065f80660fac942e0985caf9bb205f2a
 
 PKG_BUILD_DEPENDS:=node/host
 PKG_USE_MIPS16:=0
@@ -70,7 +70,7 @@ define Package/node-homebridge/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{LICENSE,bin} \
                $(1)/usr/lib/node/$(PKG_NPM_NAME)/
        $(INSTALL_DIR) $(1)/usr/bin
-       $(LN) ../lib/node/homebridge/bin/homebridge $(1)/usr/bin/homebridge
+       $(LN) ../lib/node/$(PKG_NPM_NAME)/bin/homebridge $(1)/usr/bin/homebridge
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/homebridge.init $(1)/etc/init.d/homebridge
 endef
index 911182c18a9d58f25efc6836cf0015442a200b5f..cd9b40dac875be38c1da213054823a65a4637e60 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/pluginManager.js
 +++ b/lib/pluginManager.js
-@@ -324,6 +324,7 @@
+@@ -324,6 +324,7 @@ class PluginManager {
              else {
                  this.searchPaths.add("/usr/local/lib/node_modules");
                  this.searchPaths.add("/usr/lib/node_modules");
index 275f1819948af1cfa68527242079aa5c83fba7a6..c8f755060cc3ac0a819137ca17b2f1b5365564a1 100644 (file)
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NPM_NAME:=javascript-obfuscator
 PKG_NAME:=node-$(PKG_NPM_NAME)
-PKG_VERSION:=1.9.0
+PKG_VERSION:=2.9.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_NPM_NAME)/-/
-PKG_HASH:=f3e951167cc56c6be2f82fa1c767ee9d28c30d75585c98fb10a57fa73219e8c1
+PKG_HASH:=db443ed7c07a7a111352dac4aa7c6edd7969f97386f37c1cfe884d5a8c5f5408
 
 PKG_BUILD_DEPENDS:=node/host
 HOST_BUILD_PARALLEL:=1
index f30de07129aa13711379b9af5cdd1ad0a5b7eb69..dd19307e5ea2804197ad74221dd179af5a0d9905 100644 (file)
@@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk
 PKG_NPM_SCOPE:=serialport
 PKG_NPM_NAME:=bindings
 PKG_NAME:=node-$(PKG_NPM_SCOPE)-$(PKG_NPM_NAME)
-PKG_VERSION:=9.0.2
+PKG_VERSION:=9.0.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://registry.npmjs.org/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/-/
-PKG_HASH:=03e28d0ef191f3e3f2cf9215c2f2f43106e85638a8d3bd210127781cb73ed50a
+PKG_HASH:=aec200860bd175e4b14b4ab1aa56a5f750172b6c8e20ccb234846206395848d4
 
 PKG_BUILD_DEPENDS:=node/host
 PKG_USE_MIPS16:=0
@@ -55,7 +55,7 @@ define Build/Compile
        npm_config_prefix=$(PKG_INSTALL_DIR)/usr/ \
        npm_config_cache=$(TMP_DIR)/npm-cache-$(TMPNPM) \
        npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM) \
-       npm install -g --build-from-source $(PKG_BUILD_DIR)
+       npm install -g $(PKG_BUILD_DIR)
        rm -rf $(TMP_DIR)/npm-tmp-$(TMPNPM)
        rm -rf $(TMP_DIR)/npm-cache-$(TMPNPM)
 endef
index 5d3542665880a29530f8aeaf453a9b4fb57b8120..7988b08652822825cb66efd8c2d6a04e61071891 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NPM_NAME:=serialport
 PKG_NAME:=node-$(PKG_NPM_NAME)
-PKG_VERSION:=9.0.2
+PKG_VERSION:=9.0.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_NPM_NAME)/-/
-PKG_HASH:=5f4cef3ec85accc8ad3d2ba75654fca4270e4a00d01729c4c4bcb895a3fdb5d6
+PKG_HASH:=e19fe993ad16ae0e03fc42e24cfe4babf8fd90f8358e1885d5e216277dda1086
 
 PKG_BUILD_DEPENDS:=node/host
 PKG_USE_MIPS16:=0
@@ -56,7 +56,7 @@ define Build/Compile
        npm_config_prefix=$(PKG_INSTALL_DIR)/usr/ \
        npm_config_cache=$(TMP_DIR)/npm-cache-$(TMPNPM) \
        npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM) \
-       npm install -g --build-from-source $(PKG_BUILD_DIR)
+       npm install -g $(PKG_BUILD_DIR)
        rm -rf $(TMP_DIR)/npm-tmp-$(TMPNPM)
        rm -rf $(TMP_DIR)/npm-cache-$(TMPNPM)
 endef
diff --git a/lang/node-serialport/patches/000-remove_depends.patch b/lang/node-serialport/patches/000-remove_depends.patch
new file mode 100644 (file)
index 0000000..063d041
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/package.json
++++ b/package.json
+@@ -46,7 +46,6 @@
+   ],
+   "dependencies": {
+     "@serialport/binding-mock": "^9.0.2",
+-    "@serialport/bindings": "^9.0.4",
+     "@serialport/parser-byte-length": "^9.0.1",
+     "@serialport/parser-cctalk": "^9.0.1",
+     "@serialport/parser-delimiter": "^9.0.1",
diff --git a/lang/node-serialport/patches/001-turn_off_depends.patch b/lang/node-serialport/patches/001-turn_off_depends.patch
deleted file mode 100644 (file)
index bb6ace6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/package.json
-+++ b/package.json
-@@ -46,7 +46,6 @@
-   ],
-   "dependencies": {
-     "@serialport/binding-mock": "^9.0.2",
--    "@serialport/bindings": "^9.0.2",
-     "@serialport/parser-byte-length": "^9.0.1",
-     "@serialport/parser-cctalk": "^9.0.1",
-     "@serialport/parser-delimiter": "^9.0.1",
index b645b003d1a53c6afdeab52af9d97ad68e948efd..2054d612b3fa3761b4a923b27e2d0f61962dfeb0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v12.20.0
+PKG_VERSION:=v14.15.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=61e3fd5c9af565e8d25403ce56b2c0097e2e3270381f2d4216573d48b3dc428b
+PKG_HASH:=32cfb19be9bd15cfdfaf842b29c80cc1c1c4b841a3b8ce05de74e1aca1cbf4fe
 
 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
 PKG_LICENSE:=MIT
@@ -116,8 +116,7 @@ CONFIGURE_ARGS:= \
        --shared-nghttp2 \
        --shared-libuv \
        --shared-cares \
-       $(if $(CONFIG_NODEJS_ICU_SMALL),, \
-               --with-intl=$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
+       --with-intl=$(if $(CONFIG_NODEJS_ICU_SMALL),small-icu,$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
        $(if $(findstring +neon,$(CONFIG_CPU_TYPE)),--with-arm-fpu=neon) \
        $(if $(findstring +vfp",$(CONFIG_CPU_TYPE)),--with-arm-fpu=vfp) \
        $(if $(findstring +vfpv3",$(CONFIG_CPU_TYPE)),--with-arm-fpu=vfpv3-d16) \
diff --git a/lang/node/patches/001-hardfloat.patch b/lang/node/patches/001-hardfloat.patch
deleted file mode 100644 (file)
index 6c879f7..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/deps/v8/src/base/cpu.cc
-+++ b/deps/v8/src/base/cpu.cc
-@@ -143,6 +143,7 @@
-       ".set push\n\t"
-       ".set noreorder\n\t"
-       ".set oddspreg\n\t"
-+      ".set hardfloat\n\t"
-       "lui $t0, 0x3FF0\n\t"
-       "ldc1 $f0, %0\n\t"
-       "mtc1 $t0, $f1\n\t"
index 98d0b1eadc0f8acbb6ee860a1c0896a836729788..0c4cfa9087493fc2267af43de1d0b63994fde97c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -1109,7 +1109,8 @@
+@@ -1179,7 +1179,8 @@ Module._initPaths = function() {
      path.resolve(process.execPath, '..') :
      path.resolve(process.execPath, '..', '..');
  
index 77d8bec68dbc37a173831d3d11095d9e3d35c58a..200e2ca48491de029ab23715a03abe2a821bbdda 100644 (file)
@@ -1,7 +1,6 @@
-diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/platform/condition-variable.cc
---- a/deps/v8/src/base/platform/condition-variable.cc  2020-09-30 01:58:13.000000000 +0900
-+++ b/deps/v8/src/base/platform/condition-variable.cc  2020-10-06 09:04:33.341499270 +0900
-@@ -16,7 +16,7 @@
+--- a/deps/v8/src/base/platform/condition-variable.cc
++++ b/deps/v8/src/base/platform/condition-variable.cc
+@@ -16,7 +16,7 @@ namespace base {
  
  ConditionVariable::ConditionVariable() {
  #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
@@ -10,7 +9,7 @@ diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/p
    // On Free/Net/OpenBSD and Linux with glibc we can change the time
    // source for pthread_cond_timedwait() to use the monotonic clock.
    pthread_condattr_t attr;
-@@ -92,7 +92,7 @@
+@@ -92,7 +92,7 @@ bool ConditionVariable::WaitFor(Mutex* m
        &native_handle_, &mutex->native_handle(), &ts);
  #else
  #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
@@ -19,10 +18,9 @@ diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/p
    // On Free/Net/OpenBSD and Linux with glibc we can change the time
    // source for pthread_cond_timedwait() to use the monotonic clock.
    result = clock_gettime(CLOCK_MONOTONIC, &ts);
-diff -urN a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platform/platform-posix.cc
---- a/deps/v8/src/base/platform/platform-posix.cc      2020-09-30 01:58:13.000000000 +0900
-+++ b/deps/v8/src/base/platform/platform-posix.cc      2020-10-06 09:04:33.341499270 +0900
-@@ -772,7 +772,7 @@
+--- a/deps/v8/src/base/platform/platform-posix.cc
++++ b/deps/v8/src/base/platform/platform-posix.cc
+@@ -823,7 +823,7 @@ bool Thread::Start() {
  #if V8_OS_MACOSX
      // Default on Mac OS X is 512kB -- bump up to 1MB
      stack_size = 1 * 1024 * 1024;
@@ -31,9 +29,8 @@ diff -urN a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platf
      // Default on AIX is 96kB -- bump up to 2MB
      stack_size = 2 * 1024 * 1024;
  #endif
-diff -urN a/deps/v8/src/codegen/external-reference-table.cc b/deps/v8/src/codegen/external-reference-table.cc
---- a/deps/v8/src/codegen/external-reference-table.cc  2020-09-30 01:58:13.000000000 +0900
-+++ b/deps/v8/src/codegen/external-reference-table.cc  2020-10-06 09:04:33.345499241 +0900
+--- a/deps/v8/src/codegen/external-reference-table.cc
++++ b/deps/v8/src/codegen/external-reference-table.cc
 @@ -9,7 +9,7 @@
  #include "src/ic/stub-cache.h"
  #include "src/logging/counters.h"
diff --git a/lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch b/lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch
deleted file mode 100644 (file)
index 079bbb4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7c69553d7275bbcaa88fada8ccd0d2d9f787e1ad Mon Sep 17 00:00:00 2001
-From: Martin Bark <martin@barkynet.com>
-Date: Sat, 4 Mar 2017 20:41:40 +0000
-Subject: [PATCH] check if uclibc has backtrace support
-
-Signed-off-by: Martin Bark <martin@barkynet.com>
----
- deps/v8/src/base/debug/stack_trace_posix.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/v8/src/base/debug/stack_trace_posix.cc b/deps/v8/src/base/debug/stack_trace_posix.cc
-index 87c0a73..d2c182a 100644
---- a/deps/v8/src/base/debug/stack_trace_posix.cc
-+++ b/deps/v8/src/base/debug/stack_trace_posix.cc
-@@ -25,7 +25,7 @@
- #include <string>
- #include <vector>
--#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS
-+#if V8_LIBC_GLIBC || V8_LIBC_BSD || ( V8_LIBC_UCLIBC && __UCLIBC_HAS_BACKTRACE__ ) || V8_OS_SOLARIS
- #define HAVE_EXECINFO_H 1
- #endif
--- 
-2.7.4
-
index 486d2ffd0ae74503ff234d8f80aeeacd3059e953..9341b3e4a9b3b85adc58a72d2dc0483bad6ebcab 100644 (file)
@@ -1,6 +1,6 @@
 --- a/tools/gyp/pylib/gyp/generator/make.py
 +++ b/tools/gyp/pylib/gyp/generator/make.py
-@@ -176,7 +176,7 @@
+@@ -180,7 +180,7 @@ cmd_solink_module = $(LINK.$(TOOLSET)) -
  
  LINK_COMMANDS_MAC = """\
  quiet_cmd_alink = LIBTOOL-STATIC $@
index 6564b177fa6729edc8a621f8b79fe986eb8a9156..e81478d7be8c50df78b27242d6628361515be4dc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/tools/icu/icu-generic.gyp
 +++ b/tools/icu/icu-generic.gyp
-@@ -517,6 +517,7 @@
+@@ -522,6 +522,7 @@
        'target_name': 'genrb',
        'type': 'executable',
        'toolsets': [ 'host' ],
@@ -8,7 +8,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          '<@(icu_src_genrb)'
-@@ -533,6 +534,7 @@
+@@ -538,6 +539,7 @@
        'target_name': 'iculslocs',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -16,7 +16,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          'iculslocs.cc',
-@@ -545,6 +547,7 @@
+@@ -550,6 +552,7 @@
        'target_name': 'icupkg',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -24,7 +24,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          '<@(icu_src_icupkg)',
-@@ -556,6 +559,7 @@
+@@ -561,6 +564,7 @@
        'target_name': 'genccode',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -32,9 +32,9 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          '<@(icu_src_genccode)',
---- a/tools/v8_gypfiles/v8.gyp 2019-06-27 19:12:20.000000000 +0900
-+++ b/tools/v8_gypfiles/v8.gyp 2019-07-01 14:40:48.292020880 +0900
-@@ -1255,6 +1255,7 @@
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -1310,6 +1310,7 @@
      {
        'target_name': 'bytecode_builtins_list_generator',
        'type': 'executable',
@@ -42,7 +42,7 @@
        'conditions': [
          ['want_separate_host_toolset', {
            'toolsets': ['host'],
-@@ -1278,6 +1279,8 @@
+@@ -1333,6 +1334,8 @@
      {
        'target_name': 'mksnapshot',
        'type': 'executable',
@@ -51,7 +51,7 @@
        'dependencies': [
          'v8_base_without_compiler',
          'v8_compiler_for_mksnapshot',
-@@ -1300,6 +1303,7 @@
+@@ -1354,6 +1357,7 @@
      {
        'target_name': 'torque',
        'type': 'executable',
@@ -59,7 +59,7 @@
        'dependencies': [
          'torque_base',
          # "build/win:default_exe_manifest",
-@@ -1338,6 +1342,7 @@
+@@ -1392,6 +1396,7 @@
      {
        'target_name': 'torque-language-server',
        'type': 'executable',
@@ -67,7 +67,7 @@
        'conditions': [
          ['want_separate_host_toolset', {
            'toolsets': ['host'],
-@@ -1365,6 +1370,8 @@
+@@ -1419,6 +1424,8 @@
      {
        'target_name': 'gen-regexp-special-case',
        'type': 'executable',
index 4d11973216c057d603a587024e877edeb34f651f..bfa71eb4206955a8f6842c0492c8245f3d046e09 100644 (file)
@@ -13,7 +13,7 @@ Forwarded: https://github.com/nodejs/node/issues/33816
  //
  // Permission is hereby granted, free of charge, to any person obtaining a
  // copy of this software and associated documentation files (the
-@@ -1028,13 +1029,6 @@
+@@ -1026,13 +1027,6 @@ function lookupAndConnect(self, options)
      hints: options.hints || 0
    };
  
diff --git a/lang/node/patches/999-mips-fix.patch b/lang/node/patches/999-mips-fix.patch
deleted file mode 100644 (file)
index 33a2eac..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-Description: upstream mips fix
-Origin: https://github.com/nodejs/node/issues/31118
-Last-Update: 2020-05-30
-
---- a/deps/v8/AUTHORS
-+++ b/deps/v8/AUTHORS
-@@ -106,6 +106,7 @@
- James M Snell <jasnell@gmail.com>
- Jianghua Yang <jianghua.yjh@alibaba-inc.com>
- Jiawen Geng <technicalcute@gmail.com>
-+Jiaxun Yang <jiaxun.yang@flygoat.com>
- Joel Stanley <joel@jms.id.au>
- Johan Bergström <johan@bergstroem.nu>
- Jonathan Liu <net147@gmail.com>
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
-@@ -94,10 +94,6 @@
- void PlatformEmbeddedFileWriterAIX::DeclareFunctionEnd(const char* name) {}
--int PlatformEmbeddedFileWriterAIX::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterAIX::FilePrologue() {}
- void PlatformEmbeddedFileWriterAIX::DeclareExternalFilename(
-@@ -120,12 +116,6 @@
-   return kLong;
- }
--int PlatformEmbeddedFileWriterAIX::WriteByteChunk(const uint8_t* data) {
--  DCHECK_EQ(ByteChunkDataDirective(), kLong);
--  const uint32_t* long_ptr = reinterpret_cast<const uint32_t*>(data);
--  return HexLiteral(*long_ptr);
--}
--
- #undef SYMBOL_PREFIX
- }  // namespace internal
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
-@@ -37,8 +37,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
-   void FilePrologue() override;
-@@ -48,7 +46,6 @@
-   int IndentedDataDirective(DataDirective directive) override;
-   DataDirective ByteChunkDataDirective() const override;
--  int WriteByteChunk(const uint8_t* data) override;
-  private:
-   void DeclareSymbolGlobal(const char* name);
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
-@@ -24,6 +24,10 @@
-   }
- }
-+int PlatformEmbeddedFileWriterBase::HexLiteral(uint64_t value) {
-+  return fprintf(fp_, "0x%" PRIx64, value);
-+}
-+
- int DataDirectiveSize(DataDirective directive) {
-   switch (directive) {
-     case kByte:
-@@ -39,24 +43,37 @@
- }
- int PlatformEmbeddedFileWriterBase::WriteByteChunk(const uint8_t* data) {
--  DCHECK_EQ(ByteChunkDataDirective(), kOcta);
--
--  static constexpr size_t kSize = kInt64Size;
--
--  uint64_t part1, part2;
--  // Use memcpy for the reads since {data} is not guaranteed to be aligned.
-+  size_t kSize = DataDirectiveSize(ByteChunkDataDirective());
-+  size_t kHalfSize = kSize / 2;
-+  uint64_t high = 0, low = 0;
-+
-+  switch (kSize) {
-+    case 1:
-+      low = *data;
-+      break;
-+    case 4:
-+      low = *reinterpret_cast<const uint32_t*>(data);
-+      break;
-+    case 8:
-+      low = *reinterpret_cast<const uint64_t*>(data);
-+      break;
-+    case 16:
- #ifdef V8_TARGET_BIG_ENDIAN
--  memcpy(&part1, data, kSize);
--  memcpy(&part2, data + kSize, kSize);
-+      memcpy(&high, data, kHalfSize);
-+      memcpy(&low, data + kHalfSize, kHalfSize);
- #else
--  memcpy(&part1, data + kSize, kSize);
--  memcpy(&part2, data, kSize);
-+      memcpy(&high, data + kHalfSize, kHalfSize);
-+      memcpy(&low, data, kHalfSize);
- #endif  // V8_TARGET_BIG_ENDIAN
-+      break;
-+    default:
-+      UNREACHABLE();
-+  }
--  if (part1 != 0) {
--    return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, part1, part2);
-+  if (high != 0) {
-+    return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, high, low);
-   } else {
--    return fprintf(fp(), "0x%" PRIx64, part2);
-+    return fprintf(fp(), "0x%" PRIx64, low);
-   }
- }
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
-@@ -67,7 +67,7 @@
-   virtual void DeclareFunctionEnd(const char* name) = 0;
-   // Returns the number of printed characters.
--  virtual int HexLiteral(uint64_t value) = 0;
-+  virtual int HexLiteral(uint64_t value);
-   virtual void Comment(const char* string) = 0;
-   virtual void Newline() { fprintf(fp_, "\n"); }
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
-@@ -112,10 +112,6 @@
- void PlatformEmbeddedFileWriterGeneric::DeclareFunctionEnd(const char* name) {}
--int PlatformEmbeddedFileWriterGeneric::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterGeneric::FilePrologue() {}
- void PlatformEmbeddedFileWriterGeneric::DeclareExternalFilename(
-@@ -142,6 +138,18 @@
-   return fprintf(fp_, "  %s ", DirectiveAsString(directive));
- }
-+DataDirective PlatformEmbeddedFileWriterGeneric::ByteChunkDataDirective()
-+    const {
-+#if defined(V8_TARGET_ARCH_MIPS) || defined(V8_TARGET_ARCH_MIPS64)
-+  // MIPS uses a fixed 4 byte instruction set, using .long
-+  // to prevent any unnecessary padding.
-+  return kLong;
-+#else
-+  // Other ISAs just listen to the base
-+  return PlatformEmbeddedFileWriterBase::ByteChunkDataDirective();
-+#endif
-+}
-+
- #undef SYMBOL_PREFIX
- }  // namespace internal
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
-@@ -39,8 +39,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
-   void FilePrologue() override;
-@@ -49,6 +47,8 @@
-   int IndentedDataDirective(DataDirective directive) override;
-+  DataDirective ByteChunkDataDirective() const override;
-+
-  private:
-   void DeclareSymbolGlobal(const char* name);
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
-@@ -87,10 +87,6 @@
- void PlatformEmbeddedFileWriterMac::DeclareFunctionEnd(const char* name) {}
--int PlatformEmbeddedFileWriterMac::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterMac::FilePrologue() {}
- void PlatformEmbeddedFileWriterMac::DeclareExternalFilename(
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
-@@ -37,8 +37,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
-   void FilePrologue() override;
index b000bea7251b0c79257fac51ad1cffe9d7afe2f1..11d2e16eca429c583b5274aaae55d274d21e6a30 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=perl-html-parser
 PKG_VERSION:=3.72
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_URL:=http://www.cpan.org/authors/id/G/GA/GAAS/
 PKG_SOURCE:=HTML-Parser-$(PKG_VERSION).tar.gz
@@ -20,8 +20,10 @@ PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
 PKG_CPE_ID:=cpe:/a:derrick_oswald:html-parser
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/HTML-Parser-$(PKG_VERSION)
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/perl/HTML-Parser-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 include ../perl/perlmod.mk
 
 define Package/perl-html-parser
@@ -45,5 +47,17 @@ define Package/perl-html-parser/install
        $(call perlmod/Install,$(1),HTML auto/HTML)
 endef
 
+define Host/Configure
+       $(call perlmod/host/Configure,,,)
+endef
+
+define Host/Compile
+       $(call perlmod/host/Compile,,)
+endef
+
+define Host/Install
+       $(call perlmod/host/Install,$(1),)
+endef
 
 $(eval $(call BuildPackage,perl-html-parser))
+$(eval $(call HostBuild))
diff --git a/lang/perl-mail-spamassassin/Makefile b/lang/perl-mail-spamassassin/Makefile
new file mode 100644 (file)
index 0000000..979c65c
--- /dev/null
@@ -0,0 +1,101 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-mail-spamassassin
+PKG_RELEASE:=1
+PKG_VERSION:=3.4.4
+PKG_HASH:=8ea27a165b81e3ce8c84ae85c3ecba1f2edfa04ef4a86f07fe28ab612fc8ff60
+
+PKG_SOURCE_NAME:=Mail-SpamAssassin
+PKG_SOURCE_URL:=@APACHE/spamassassin/source
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:apache:spamassassin
+
+PKG_BUILD_DEPENDS:=perl-dbi/host perl-html-parser/host perl-net-dns/host perl-netaddr-ip/host
+PKG_INSTALL:=1
+PKG_SOURCE_VERSION:=$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+include ../perl/perlmod.mk
+
+CONFIGURE_PATH:=spamc
+
+define Package/spamassassin
+  SECTION:=mail
+  CATEGORY:=Mail
+  TITLE:=SpamAssassin
+  URL:=https://spamassassin.apache.org/
+  DEPENDS:=+perl +perlbase-autoloader +perlbase-config +perlbase-data +perlbase-digest \
+           +perlbase-encode +perlbase-essential +perlbase-file +perlbase-getopt \
+           +perlbase-hash +perlbase-mime +perlbase-net +perlbase-socket \
+           +perl-dbi +perl-html-parser +perl-net-dns +perl-netaddr-ip
+  VARIANT:=ssl
+endef
+
+define Package/spamc/Default
+  SECTION:=mail
+  CATEGORY:=Mail
+  TITLE:=SpamAssassin client binary
+  URL:=https://spamassassin.apache.org/
+  DEPENDS:=+zlib
+endef
+
+define Package/spamc
+  $(call Package/spamc/Default)
+  VARIANT:=nossl
+endef
+
+define Package/spamc-ssl
+  $(call Package/spamc/Default)
+  TITLE+= (with SSL)
+  DEPENDS+=+libopenssl
+  VARIANT:=ssl
+endef
+
+ifeq ($(BUILD_VARIANT),ssl)
+TARGET_CFLAGS += -DSPAMC_SSL
+CONFIGURE_ARGS += --enable-ssl
+endif
+
+define Package/spamassassin/conffiles
+/etc/mail/spamassassin
+endef
+
+define Build/Configure
+       $(call perlmod/Configure,,)
+       $(call Build/Configure/Default)
+       ( cd "$(PKG_BUILD_DIR)/$(CONFIGURE_PATH)" && ./version.h.pl --with-version=$(PKG_SOURCE_VERSION) )
+endef
+
+define Build/Compile
+       $(call perlmod/Compile,,)
+       $(call Build/Compile/Default,,,spamc)
+endef
+
+define Package/spamassassin/install
+       $(call perlmod/Install,$(1),Mail/SpamAssassin auto/Mail/SpamAssassin)
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sa-awl $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sa-learn $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sa-compile $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/spamassassin $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sa-update $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/spamd $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sa-check_spamd $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/etc/mail/spamassassin
+       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/mail/spamassassin/* $(1)/etc/mail/spamassassin
+endef
+
+define Package/spamc/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/spamc $(1)/usr/bin
+endef
+
+Package/spamc-ssl/install = $(Package/spamc/install)
+
+$(eval $(call BuildPackage,spamassassin))
+$(eval $(call BuildPackage,spamc))
+$(eval $(call BuildPackage,spamc-ssl))
diff --git a/lang/perl-net-dns/Makefile b/lang/perl-net-dns/Makefile
new file mode 100644 (file)
index 0000000..ffe732a
--- /dev/null
@@ -0,0 +1,55 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-net-dns
+PKG_VERSION:=1.29
+PKG_RELEASE:=1
+
+PKG_SOURCE_NAME:=Net-DNS
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://www.net-dns.org/download
+PKG_HASH:=852d6ee87e8f0d014223026581cbb56924ba8cddd3ceb29c6191dbb6122d43c5
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/perl/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=MIT
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../perl/perlmod.mk
+
+define Package/perl-net-dns
+  SUBMENU:=Perl
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Net::DNS DNS resolver implemented in Perl
+  URL:=https://www.net-dns.org/
+  DEPENDS:=perl +perlbase-essential +perlbase-io
+endef
+
+define Build/Configure
+        $(call perlmod/Configure,,)
+endef
+
+define Build/Compile
+        $(call perlmod/Compile,,)
+endef
+
+define Package/perl-net-dns/install
+        $(call perlmod/Install,$(1),Net auto/Net)
+endef
+
+define Host/Configure
+        $(call perlmod/host/Configure,,,)
+endef
+
+define Host/Compile
+        $(call perlmod/host/Compile,,)
+endef
+
+define Host/Install
+        $(call perlmod/host/Install,$(1),)
+endef
+
+$(eval $(call BuildPackage,perl-net-dns))
+$(eval $(call HostBuild))
diff --git a/lang/perl-netaddr-ip/Makefile b/lang/perl-netaddr-ip/Makefile
new file mode 100644 (file)
index 0000000..4e6cf6d
--- /dev/null
@@ -0,0 +1,62 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-netaddr-ip
+PKG_VERSION:=4.079
+PKG_RELEASE:=1
+
+PKG_SOURCE_NAME:=NetAddr-IP
+PKG_SOURCE_URL:=https://www.cpan.org/authors/id/M/MI/MIKER/
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=ec5a82dfb7028bcd28bb3d569f95d87dd4166cc19867f2184ed3a59f6d6ca0e7
+
+PKG_LICENSE:=GPL-2.0-or-later Artistic-1.0-Perl
+PKG_LICENSE_FILES:=Copying
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/perl/NetAddr-IP-$(PKG_VERSION)
+HOST_BUILD_DEPENDS:=perl/host
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/NetAddr-IP-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../perl/perlmod.mk
+
+define Package/perl-netaddr-ip
+  SUBMENU:=Perl
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=NetAddr::IP - Manages IPv4 and IPv6 addresses and subnets
+  URL:=http://search.cpan.org/dist/NetAddr::IP/
+  DEPENDS:=perl +perlbase-essential +perlbase-test
+endef
+
+define Host/Configure
+       $(call perlmod/host/Configure,-noxs,,)
+       $(call Host/Configure/Default,,,Lite/Util)
+endef
+
+define Host/Compile
+       $(call Host/Compile/Default,,,Lite/Util)
+       $(call perlmod/host/Compile,,)
+endef
+
+define Host/Install
+       $(call perlmod/host/Install,$(1),)
+endef
+
+define Build/Configure
+       $(call perlmod/Configure,-noxs,)
+       $(call Build/Configure/Default,,,Lite/Util)
+endef
+
+define Build/Compile
+       $(call Build/Compile/Default,,,Lite/Util)
+       $(call perlmod/Compile,,)
+endef
+
+define Package/perl-netaddr-ip/install
+       $(call perlmod/Install,$(1),NetAddr auto/NetAddr)
+endef
+
+$(eval $(call BuildPackage,perl-netaddr-ip))
+$(eval $(call HostBuild))
diff --git a/lang/perl-try-tiny/Makefile b/lang/perl-try-tiny/Makefile
new file mode 100644 (file)
index 0000000..e351ff6
--- /dev/null
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2021 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-try-tiny
+PKG_VERSION:=0.30
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/E/ET/ETHER/
+PKG_SOURCE:=Try-Tiny-$(PKG_VERSION).tar.gz
+PKG_HASH:=da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Try-Tiny-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Matt Merhar <mattmerhar@protonmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include $(TOPDIR)/feeds/packages/lang/perl/perlmod.mk
+
+define Package/perl-try-tiny
+  SUBMENU:=Perl
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Minimal try/catch with proper preservation of $$$$@
+  URL:=https://metacpan.org/pod/Try::Tiny
+  DEPENDS:=perl +perlbase-essential
+endef
+
+define Build/Configure
+       $(call perlmod/Configure,,)
+endef
+
+define Build/Compile
+       $(call perlmod/Compile,,)
+endef
+
+define Package/perl-try-tiny/install
+       $(call perlmod/Install,$(1),Try auto/Try)
+endef
+
+$(eval $(call BuildPackage,perl-try-tiny))
index d044b351978ace470b42708e46487480194df76d..ddd707f419a5d7d75361a9491c6438f75394e2ab 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=perl-www
 PKG_VERSION:=6.43
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/O/OA/OALDERS
 PKG_SOURCE:=libwww-perl-$(PKG_VERSION).tar.gz
@@ -30,7 +30,7 @@ define Package/perl-www
   CATEGORY:=Languages
   TITLE:=WWW client/server library for Perl (aka LWP)
   URL:=https://search.cpan.org/dist/libwww-perl/
-  DEPENDS:=perl +perl-encode-locale +perl-file-listing +perl-html-parser +perl-http-cookies +perl-http-daemon +perl-http-date +perl-http-message +perl-http-negotiate +perl-lwp-mediatypes +perl-net-http +perl-uri +perl-www-robotrules +perlbase-base +perlbase-digest +perlbase-encode +perlbase-essential +perlbase-io +perlbase-mime +perlbase-net
+  DEPENDS:=perl +perl-encode-locale +perl-file-listing +perl-html-parser +perl-http-cookies +perl-http-daemon +perl-http-date +perl-http-message +perl-http-negotiate +perl-lwp-mediatypes +perl-net-http +perl-try-tiny +perl-uri +perl-www-robotrules +perlbase-base +perlbase-digest +perlbase-encode +perlbase-essential +perlbase-io +perlbase-mime +perlbase-net
 endef
 
 define Build/Configure
diff --git a/lang/php7-pecl-imagick/Makefile b/lang/php7-pecl-imagick/Makefile
new file mode 100644 (file)
index 0000000..c9c3bdb
--- /dev/null
@@ -0,0 +1,33 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PECL_NAME:=imagick
+PECL_LONGNAME:=Image Processing (ImageMagick binding)
+
+PKG_VERSION:=3.4.4
+PKG_RELEASE:=1
+PKG_HASH:=8dd5aa16465c218651fc8993e1faecd982e6a597870fd4b937e9ece02d567077
+
+PKG_NAME:=php7-pecl-imagick
+PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=http://pecl.php.net/get/
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+
+PKG_LICENSE:=PHP-3.01
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=php7
+PKG_BUILD_DIR:=$(BUILD_DIR)/pecl-php7/$(PECL_NAME)-$(PKG_VERSION)
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+include ../php7/pecl.mk
+
+$(eval $(call PECLPackage,imagick,$(PECL_LONGNAME),+imagemagick,30))
+$(eval $(call BuildPackage,$(PKG_NAME)))
index edcf302ff2a8f01011ea4774604c8b8187c52b8e..3981f5cc6f2b7813b9439b3ed4d40dca47d85661 100644 (file)
@@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk
 PECL_NAME:=mcrypt
 PECL_LONGNAME:=Bindings for the libmcrypt library
 
-PKG_VERSION:=1.0.3
-PKG_RELEASE:=2
-PKG_HASH:=affd675843a079e9efd49ac2f723286dd5bcb0916315aa53e2ae5edd5eadb034
+PKG_VERSION:=1.0.4
+PKG_RELEASE:=1
+PKG_HASH:=98153e78958d7a48dcd0dcfe1fc3c16ec987121a0cb2d7c273d280ee7e4ea00d
 
 PKG_NAME:=php7-pecl-mcrypt
 PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
index ffb7f677b0aed46c3baaa7f399423fa2f45687ae..7936b19038c5fb0b22ee0bd608e8ac7bf8d3d3e3 100644 (file)
@@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk
 PECL_NAME:=redis
 PECL_LONGNAME:=PHP extension for interfacing with Redis
 
-PKG_VERSION:=5.3.1
+PKG_VERSION:=5.3.2
 PKG_RELEASE:=1
-PKG_HASH:=7c29e49c5cbc6b54ccccc00b44fac4d3ed9895e5718fcf62a5b06281dda8809d
+PKG_HASH:=f4e92de628abcb917cdc810df045ca3fa0f2af34673eaa2a03350e3c5c5fdab1
 
 PKG_NAME:=php7-pecl-redis
 PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
index 1e8087f0ba982557eca2be6642e3fd408f6c106c..762ae268b17e423543c675f82567d5e2c3c6cf7d 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=7.4.12
+PKG_VERSION:=7.4.13
 PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
@@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:php:php
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=e82d2bcead05255f6b7d2ff4e2561bc334204955820cabc2457b5239fde96b76
+PKG_HASH:=aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4
 
 PKG_BUILD_PARALLEL:=1
 PKG_USE_MIPS16:=0
diff --git a/lang/php7/patches/1005-support_for_icu4c_68_1.patch b/lang/php7/patches/1005-support_for_icu4c_68_1.patch
deleted file mode 100644 (file)
index 040dc77..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/build/php.m4     2020-10-28 00:01:52.000000000 +0900
-+++ b/build/php.m4     2020-11-13 08:57:27.939303216 +0900
-@@ -1907,6 +1907,10 @@
-   if test "$PKG_CONFIG icu-io --atleast-version=60"; then
-     ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
-   fi
-+
-+  if test "$PKG_CONFIG icu-io --atleast-version=68"; then
-+    ICU_CFLAGS="$ICU_CFLAGS -DU_DEFINE_FALSE_AND_TRUE=1"
-+  fi
- ])
- dnl
diff --git a/lang/php7/test.sh b/lang/php7/test.sh
new file mode 100644 (file)
index 0000000..273afc7
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+case "$1" in
+       php7-cgi)
+               php-cgi -v | grep "$2"
+               ;;
+       php7-cli)
+               php-cli -v | grep "$2"
+               ;;
+       php7-fpm)
+               php-fpm -v | grep "$2"
+               ;;
+       php7-mod-*)
+               PHP_MOD="${1#php7-mod-}"
+               PHP_MOD="${PHP_MOD//-/_}"
+
+               opkg install php7-cli
+
+               php-cli -m | grep -i "$PHP_MOD"
+               ;;
+       *)
+               ;;
+esac
index 482b608fabfefda0710194b27b00c935bd509a8e..4632379a3f57cbbcd7e164cd4d2f1782e4c281fe 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
-PKG_VERSION:=3.1.3
+PKG_VERSION:=3.1.4
 PKG_RELEASE:=1
 
 PYPI_NAME:=Django
-PKG_HASH:=14b87775ffedab2ef6299b73343d1b4b41e5d4e2aa58c6581f114dbec01e3f8f
+PKG_HASH:=edb10b5c45e7e9c0fb1dc00b76ec7449aca258a39ffd613dbd078c51d19c9f03
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Peter Stadler <peter.stadler@student.uibk.ac.at>
 PKG_LICENSE:=BSD-3-Clause
index 869ce38025e3e685f49206a33e1ee3256a3ddf1a..16dd6cf792c0627e90875338b24552e0f56c27bf 100644 (file)
@@ -1,2 +1,2 @@
-cffi==1.14.2 --hash=sha256:ae8f34d50af2c2154035984b8b5fc5d9ed63f32fe615646ab435b05b132ca91b
+cffi==1.14.4 --hash=sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c
 pycparser==2.20 --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0
index 26ffee64130890122966e66e4ade360420e9c944..8652f84b0305a290c997b11dfebf6113f3ae82af 100644 (file)
@@ -7,11 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pillow
-PKG_VERSION:=8.0.1
+PKG_VERSION:=8.1.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=Pillow
-PKG_HASH:=11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e
+PKG_HASH:=887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=HPND
diff --git a/lang/python/python-augeas/Makefile b/lang/python/python-augeas/Makefile
new file mode 100644 (file)
index 0000000..09f8fdc
--- /dev/null
@@ -0,0 +1,42 @@
+#
+# Copyright (C) 2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-augeas
+PKG_VERSION:=1.1.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=python-augeas
+PKG_HASH:=5194a49e86b40ffc57055f73d833f87e39dce6fce934683e7d0d5bbb8eff3b8c
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi  # cffi>=1.0.0
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-augeas
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Python bindings for Augeas
+  URL:=http://augeas.net
+  DEPENDS:=+python3-light +python3-cffi +augeas
+endef
+
+define Package/python3-augeas/description
+  Pure python bindings for Augeas.
+endef
+
+$(eval $(call Py3Package,python3-augeas))
+$(eval $(call BuildPackage,python3-augeas))
+$(eval $(call BuildPackage,python3-augeas-src))
diff --git a/lang/python/python-augeas/patches/001-backport-ffi-fix.patch b/lang/python/python-augeas/patches/001-backport-ffi-fix.patch
new file mode 100644 (file)
index 0000000..1ed618f
--- /dev/null
@@ -0,0 +1,95 @@
+From 712c2028568df7760bc98d95577e35709078bfea Mon Sep 17 00:00:00 2001
+From: Jeffery To <jeffery.to@gmail.com>
+Date: Sun, 8 Nov 2020 21:51:09 +0800
+Subject: [PATCH] Use CFFI in out-of-line API mode (#49)
+
+Currently, ffi.py is called during setup to generate augeas.py; this
+file would normally be used for out-of-line ABI mode. ffi.py is also
+imported at run-time, instead of the generated augeas.py, and used in
+in-line ABI mode.
+
+This changes usage of CFFI to out-of-line API mode (CFFI's "main mode of
+usage"): ffi.py is called during setup to generate _augeas.abi3.so (a C
+extension module); this generated module is imported at run-time.
+
+With this change, the headers/development files for augeas (i.e.
+libaugeas-dev on Debian, augeas-devel on Fedora, etc.) and the C
+compiler are required for build/setup. (These were not necessary
+previously.)
+
+Closes https://github.com/hercules-team/python-augeas/issues/48.
+---
+ augeas/__init__.py |  2 +-
+ augeas/ffi.py      | 27 ++++++++++++++++++++++-----
+ setup.py           |  1 +
+ 3 files changed, 24 insertions(+), 6 deletions(-)
+
+diff --git a/augeas/__init__.py b/augeas/__init__.py
+index 0fc0d96..4af0200 100644
+--- a/augeas/__init__.py
++++ b/augeas/__init__.py
+@@ -32,7 +32,7 @@
+ from sys import version_info as _pyver
+-from augeas.ffi import ffi, lib
++from _augeas import ffi, lib
+ __author__ = "Nathaniel McCallum <nathaniel@natemccallum.com>"
+ __credits__ = """Jeff Schroeder <jeffschroeder@computer.org>
+diff --git a/augeas/ffi.py b/augeas/ffi.py
+index fdd8d1c..98b3175 100644
+--- a/augeas/ffi.py
++++ b/augeas/ffi.py
+@@ -1,9 +1,28 @@
++import os
++import subprocess
++
+ from cffi import FFI
++def get_include_dirs():
++    XML2_CONFIG = os.environ.get('XML2_CONFIG', 'xml2-config')
++    PKG_CONFIG = os.environ.get('PKG_CONFIG', 'pkg-config')
++    try:
++        stdout = subprocess.check_output([XML2_CONFIG, '--cflags'])
++    except (OSError, subprocess.CalledProcessError):
++        try:
++            stdout = subprocess.check_output([PKG_CONFIG, '--cflags', 'libxml-2.0'])
++        except (OSError, subprocess.CalledProcessError):
++            stdout = b''
++    cflags = stdout.decode('utf-8').split()
++    return [cflag[2:] for cflag in cflags if cflag.startswith('-I')]
++
+ ffi = FFI()
+-ffi.set_source("augeas",
+-               None,
+-               libraries=['augeas'])
++ffi.set_source("_augeas",
++               """
++               #include <augeas.h>
++               """,
++               libraries=['augeas'],
++               include_dirs=get_include_dirs())
+ ffi.cdef("""
+ typedef struct augeas augeas;
+@@ -59,7 +78,5 @@
+ void free(void *);
+ """)
+-lib = ffi.dlopen("augeas")
+-
+ if __name__ == "__main__":
+     ffi.compile(verbose=True)
+diff --git a/setup.py b/setup.py
+index 65026c1..6c4265e 100755
+--- a/setup.py
++++ b/setup.py
+@@ -22,6 +22,7 @@
+       setup_requires=["cffi>=1.0.0"],
+       cffi_modules=["augeas/ffi.py:ffi"],
+       install_requires=["cffi>=1.0.0"],
++      zip_safe=False,
+       url="http://augeas.net/",
+       classifiers=[
+           "Programming Language :: Python :: 2.7",
index 987ee96814486542af735b8a44fd139751ba8d9e..4cb3eaed6862c6dfa78ea1370baa1656b515359d 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cffi
-PKG_VERSION:=1.14.3
+PKG_VERSION:=1.14.4
 PKG_RELEASE:=1
 
 PYPI_NAME:=cffi
-PKG_HASH:=f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591
+PKG_HASH:=1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 1b71631efd8015161bfcafae3a9cec16f5fd8820..438c3a6511253bec00d1c6db52aae9efad0244e5 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-chardet
-PKG_VERSION:=3.0.4
-PKG_RELEASE:=4
+PKG_VERSION:=4.0.0
+PKG_RELEASE:=1
 PKG_LICENSE:=LGPL-2.1
 
 PYPI_NAME:=chardet
-PKG_HASH:=84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae
+PKG_HASH:=0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index aefc728e5e3c8da1da08d7d24c2d2a77343c548c..ebbbf88c91f4af7f36e5cd7a141d6563a675bec5 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cryptography
-PKG_VERSION:=3.2.1
+PKG_VERSION:=3.3.1
 PKG_RELEASE:=1
 
 PYPI_NAME:=cryptography
-PKG_HASH:=d3d5e10be0cf2a12214ddee45c6bd203dab435e3d83b4560c03066eda600bfe3
+PKG_HASH:=7e177e4bea2de937a584b13645cab32f25e3d96fc0bc4a4cf99c27dc77682be6
 
 PKG_LICENSE:=Apache-2.0 BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
diff --git a/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch b/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch
new file mode 100644 (file)
index 0000000..6b206b4
--- /dev/null
@@ -0,0 +1,28 @@
+From 7eefc9c72f522e414f953fee2d6ca9242c566107 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Fri, 7 Jun 2019 18:18:46 -0700
+Subject: [PATCH 1/7] Add new ASN1_STRING_get0_data API
+
+Introduced with OpenSSL 1.1
+---
+ src/_cffi_src/openssl/asn1.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/src/_cffi_src/openssl/asn1.py
++++ b/src/_cffi_src/openssl/asn1.py
+@@ -45,6 +45,7 @@ void ASN1_OBJECT_free(ASN1_OBJECT *);
+ /*  ASN1 STRING */
+ unsigned char *ASN1_STRING_data(ASN1_STRING *);
++const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *);
+ int ASN1_STRING_set(ASN1_STRING *, const void *, int);
+ /*  ASN1 OCTET STRING */
+@@ -105,4 +106,7 @@ ASN1_NULL *ASN1_NULL_new(void);
+ """
+ CUSTOMIZATIONS = """
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define ASN1_STRING_data ASN1_STRING_get0_data
++#endif
+ """
diff --git a/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch b/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch
new file mode 100644 (file)
index 0000000..dc31500
--- /dev/null
@@ -0,0 +1,55 @@
+From 77b25307a743eb52ef5ead24c956e577f5bd025f Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Fri, 7 Jun 2019 20:42:04 -0700
+Subject: [PATCH 2/7] Add compatibility for X509_STORE_set_get_issuer
+
+Deprecated under OpenSSL 1.1.
+---
+ src/_cffi_src/openssl/x509_vfy.py                        | 8 ++++++++
+ src/cryptography/hazmat/bindings/openssl/_conditional.py | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+--- a/src/_cffi_src/openssl/x509_vfy.py
++++ b/src/_cffi_src/openssl/x509_vfy.py
+@@ -22,6 +22,7 @@ TYPES = """
+ static const long Cryptography_HAS_102_VERIFICATION;
+ static const long Cryptography_HAS_110_VERIFICATION_PARAMS;
+ static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER;
++static const long Cryptography_HAS_X509_CB_ISSUER_CHECK;
+ typedef ... Cryptography_STACK_OF_ASN1_OBJECT;
+ typedef ... Cryptography_STACK_OF_X509_OBJECT;
+@@ -252,4 +253,11 @@ void (*X509_STORE_set_get_issuer)(X509_S
+ #else
+ static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1;
+ #endif
++
++#ifndef X509_V_FLAG_CB_ISSUER_CHECK
++static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 0;
++#define X509_V_FLAG_CB_ISSUER_CHECK   0x0
++#else
++static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1;
++#endif
+ """
+--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
++++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
+@@ -270,6 +270,11 @@ def cryptography_has_get_proto_version()
+         "SSL_get_max_proto_version",
+     ]
++def cryptography_has_x509_cb_issuer_check():
++    return [
++        "X509_V_FLAG_CB_ISSUER_CHECK",
++    ]
++
+ # This is a mapping of
+ # {condition: function-returning-names-dependent-on-that-condition} so we can
+@@ -319,4 +324,7 @@ CONDITIONAL_NAMES = {
+     "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain,
+     "Cryptography_HAS_SRTP": cryptography_has_srtp,
+     "Cryptography_HAS_GET_PROTO_VERSION": cryptography_has_get_proto_version,
++    "Cryptography_HAS_X509_CB_ISSUER_CHECK": (
++        cryptography_has_x509_cb_issuer_check
++    ),
+ }
diff --git a/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch b/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch
new file mode 100644 (file)
index 0000000..ddad984
--- /dev/null
@@ -0,0 +1,127 @@
+From 7a55c37e01114dfd1ae733b099fdee1ba1889449 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Fri, 7 Jun 2019 21:00:46 -0700
+Subject: [PATCH 3/7] Add compatibility for deprecated TLS methods
+
+---
+ src/_cffi_src/openssl/ssl.py                  | 45 +++++++++++++++++--
+ .../hazmat/bindings/openssl/_conditional.py   | 36 +++++++++++++++
+ 2 files changed, 77 insertions(+), 4 deletions(-)
+
+--- a/src/_cffi_src/openssl/ssl.py
++++ b/src/_cffi_src/openssl/ssl.py
+@@ -14,12 +14,14 @@ TYPES = """
+ static const long Cryptography_HAS_SSL_ST;
+ static const long Cryptography_HAS_TLS_ST;
+ static const long Cryptography_HAS_SSL3_METHOD;
+-static const long Cryptography_HAS_TLSv1_1;
+-static const long Cryptography_HAS_TLSv1_2;
++static const long Cryptography_HAS_TLS1_METHOD;
++static const long Cryptography_HAS_TLS1_1_METHOD;
++static const long Cryptography_HAS_TLS1_2_METHOD;
+ static const long Cryptography_HAS_TLSv1_3;
+ static const long Cryptography_HAS_SECURE_RENEGOTIATION;
+ static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS;
+ static const long Cryptography_HAS_DTLS;
++static const long Cryptography_HAS_DTLS1_METHOD;
+ static const long Cryptography_HAS_SIGALGS;
+ static const long Cryptography_HAS_PSK;
+ static const long Cryptography_HAS_VERIFIED_CHAIN;
+@@ -543,8 +545,43 @@ static const long Cryptography_HAS_SSL3_
+ static const long Cryptography_HAS_RELEASE_BUFFERS = 1;
+ static const long Cryptography_HAS_OP_NO_COMPRESSION = 1;
+-static const long Cryptography_HAS_TLSv1_1 = 1;
+-static const long Cryptography_HAS_TLSv1_2 = 1;
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++static const long Cryptography_HAS_TLS1_METHOD = 0;
++const SSL_METHOD* (*TLSv1_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_server_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_client_method)(void) = NULL;
++#else
++static const long Cryptography_HAS_TLS1_METHOD = 1;
++#endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++static const long Cryptography_HAS_TLS1_1_METHOD = 0;
++const SSL_METHOD* (*TLSv1_1_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_1_server_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_1_client_method)(void) = NULL;
++#else
++static const long Cryptography_HAS_TLS1_1_METHOD = 1;
++#endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++static const long Cryptography_HAS_TLS1_2_METHOD = 0;
++const SSL_METHOD* (*TLSv1_2_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_2_server_method)(void) = NULL;
++const SSL_METHOD* (*TLSv1_2_client_method)(void) = NULL;
++#else
++static const long Cryptography_HAS_TLS1_2_METHOD = 1;
++#endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++static const long Cryptography_HAS_DTLS1_METHOD = 0;
++const SSL_METHOD* (*DTLSv1_method)(void) = NULL;
++const SSL_METHOD* (*DTLSv1_server_method)(void) = NULL;
++const SSL_METHOD* (*DTLSv1_client_method)(void) = NULL;
++#else
++static const long Cryptography_HAS_DTLS1_METHOD = 1;
++#endif
++
+ static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1;
+ static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1;
+ static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1;
+--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
++++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
+@@ -33,6 +33,38 @@ def cryptography_has_ssl3_method():
+     ]
++def cryptography_has_tls1_method():
++    return [
++        "TLSv1_method",
++        "TLSv1_client_method",
++        "TLSv1_server_method",
++    ]
++
++
++def cryptography_has_tls1_1_method():
++    return [
++        "TLSv1_1_method",
++        "TLSv1_1_client_method",
++        "TLSv1_1_server_method",
++    ]
++
++
++def cryptography_has_tls1_2_method():
++    return [
++        "TLSv1_2_method",
++        "TLSv1_2_client_method",
++        "TLSv1_2_server_method",
++    ]
++
++
++def cryptography_has_dtls1_method():
++    return [
++        "DTLSv1_method",
++        "DTLSv1_client_method",
++        "DTLSv1_server_method",
++    ]
++
++
+ def cryptography_has_102_verification():
+     return [
+         "X509_V_ERR_SUITE_B_INVALID_VERSION",
+@@ -286,6 +318,10 @@ CONDITIONAL_NAMES = {
+     "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md,
+     "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label,
+     "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method,
++    "Cryptography_HAS_TLS1_METHOD": cryptography_has_tls1_method,
++    "Cryptography_HAS_TLS1_1_METHOD": cryptography_has_tls1_1_method,
++    "Cryptography_HAS_TLS1_2_METHOD": cryptography_has_tls1_2_method,
++    "Cryptography_HAS_DTLS1_METHOD": cryptography_has_dtls1_method,
+     "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification,
+     "Cryptography_HAS_110_VERIFICATION_PARAMS": (
+         cryptography_has_110_verification_params
diff --git a/lang/python/python-cryptography/patches/0004-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch b/lang/python/python-cryptography/patches/0004-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch
new file mode 100644 (file)
index 0000000..79b84dc
--- /dev/null
@@ -0,0 +1,42 @@
+From 008e299aaf32af0b93eede649c6942af93b1c11e Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 15 Jun 2019 17:49:25 -0700
+Subject: [PATCH 4/7] Replace EVP_CIPHER_CTX_cleanup with EVP_CIPHER_CTX_reset
+
+Deprecated in OpenSSL 1.1
+---
+ src/_cffi_src/openssl/evp.py                        | 6 ++++++
+ src/cryptography/hazmat/backends/openssl/ciphers.py | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+--- a/src/_cffi_src/openssl/evp.py
++++ b/src/_cffi_src/openssl/evp.py
+@@ -48,6 +48,7 @@ int EVP_CipherUpdate(EVP_CIPHER_CTX *, u
+                      const unsigned char *, int);
+ int EVP_CipherFinal_ex(EVP_CIPHER_CTX *, unsigned char *, int *);
+ int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *);
++int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *);
+ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
+ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *);
+ int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *, int);
+@@ -269,4 +270,9 @@ static const long Cryptography_HAS_EVP_D
+ #ifndef EVP_PKEY_POLY1305
+ #define EVP_PKEY_POLY1305 NID_poly1305
+ #endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_reset
++#define OpenSSL_add_all_algorithms() do {} while(0)
++#endif
+ """
+--- a/src/cryptography/hazmat/backends/openssl/ciphers.py
++++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
+@@ -199,7 +199,7 @@ class _CipherContext(object):
+             self._backend.openssl_assert(res != 0)
+             self._tag = self._backend._ffi.buffer(tag_buf)[:]
+-        res = self._backend._lib.EVP_CIPHER_CTX_cleanup(self._ctx)
++        res = self._backend._lib.EVP_CIPHER_CTX_reset(self._ctx)
+         self._backend.openssl_assert(res == 1)
+         return self._backend._ffi.buffer(buf)[: outlen[0]]
diff --git a/lang/python/python-cryptography/patches/0005-Switch-get_-Update-APIs-to-get0.patch b/lang/python/python-cryptography/patches/0005-Switch-get_-Update-APIs-to-get0.patch
new file mode 100644 (file)
index 0000000..dd46195
--- /dev/null
@@ -0,0 +1,117 @@
+From 339e0ab364ca931435c0ad134dc6047eb6974540 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 15 Jun 2019 18:47:46 -0700
+Subject: [PATCH 5/7] Switch get_*Update APIs to get0
+
+Deprecated in 1.1
+---
+ src/_cffi_src/openssl/x509.py                 | 27 ++++++++++++++++---
+ .../hazmat/backends/openssl/backend.py        |  4 +--
+ .../hazmat/backends/openssl/x509.py           |  8 +++---
+ 3 files changed, 29 insertions(+), 10 deletions(-)
+
+--- a/src/_cffi_src/openssl/x509.py
++++ b/src/_cffi_src/openssl/x509.py
+@@ -202,8 +202,10 @@ long X509_get_version(X509 *);
+ ASN1_TIME *X509_get_notBefore(X509 *);
+ ASN1_TIME *X509_get_notAfter(X509 *);
+-ASN1_TIME *X509_getm_notBefore(X509 *);
+-ASN1_TIME *X509_getm_notAfter(X509 *);
++ASN1_TIME *X509_getm_notBefore(const X509 *);
++ASN1_TIME *X509_getm_notAfter(const X509 *);
++const ASN1_TIME *X509_get0_notBefore(const X509 *);
++const ASN1_TIME *X509_get0_notAfter(const X509 *);
+ long X509_REQ_get_version(X509_REQ *);
+ X509_NAME *X509_REQ_get_subject_name(X509_REQ *);
+@@ -235,6 +237,8 @@ X509_CRL *sk_X509_CRL_value(Cryptography
+ long X509_CRL_get_version(X509_CRL *);
+ ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *);
+ ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *);
++const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *);
++const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *);
+ X509_NAME *X509_CRL_get_issuer(X509_CRL *);
+ Cryptography_STACK_OF_X509_REVOKED *X509_CRL_get_REVOKED(X509_CRL *);
+@@ -243,8 +247,11 @@ int X509_CRL_set_lastUpdate(X509_CRL *,
+ int X509_CRL_set_nextUpdate(X509_CRL *, ASN1_TIME *);
+ int X509_set_notBefore(X509 *, ASN1_TIME *);
+ int X509_set_notAfter(X509 *, ASN1_TIME *);
+-int X509_set1_notBefore(X509 *, ASN1_TIME *);
+-int X509_set1_notAfter(X509 *, ASN1_TIME *);
++
++int X509_CRL_set1_lastUpdate(X509_CRL *, const ASN1_TIME *);
++int X509_CRL_set1_nextUpdate(X509_CRL *, const ASN1_TIME *);
++int X509_set1_notBefore(X509 *, const ASN1_TIME *);
++int X509_set1_notAfter(X509 *, const ASN1_TIME *);
+ EC_KEY *d2i_EC_PUBKEY_bio(BIO *, EC_KEY **);
+ int i2d_EC_PUBKEY_bio(BIO *, EC_KEY *);
+@@ -299,4 +306,16 @@ int i2d_re_X509_CRL_tbs(X509_CRL *crl, u
+     return i2d_X509_CRL_INFO(crl->crl, pp);
+ }
+ #endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define X509_get_notBefore X509_get0_notBefore
++#define X509_get_notAfter X509_get0_notAfter
++#define X509_set_notBefore X509_set1_notBefore
++#define X509_set_notAfter X509_set1_notAfter
++
++#define X509_CRL_get_lastUpdate X509_CRL_get0_lastUpdate
++#define X509_CRL_get_nextUpdate X509_CRL_get0_nextUpdate
++#define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate
++#define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate
++#endif
+ """
+--- a/src/cryptography/hazmat/backends/openssl/backend.py
++++ b/src/cryptography/hazmat/backends/openssl/backend.py
+@@ -1128,12 +1128,12 @@ class Backend(object):
+         # Set the last update time.
+         last_update = self._create_asn1_time(builder._last_update)
+-        res = self._lib.X509_CRL_set_lastUpdate(x509_crl, last_update)
++        res = self._lib.X509_CRL_set1_lastUpdate(x509_crl, last_update)
+         self.openssl_assert(res == 1)
+         # Set the next update time.
+         next_update = self._create_asn1_time(builder._next_update)
+-        res = self._lib.X509_CRL_set_nextUpdate(x509_crl, next_update)
++        res = self._lib.X509_CRL_set1_nextUpdate(x509_crl, next_update)
+         self.openssl_assert(res == 1)
+         # Add extensions.
+--- a/src/cryptography/hazmat/backends/openssl/x509.py
++++ b/src/cryptography/hazmat/backends/openssl/x509.py
+@@ -86,12 +86,12 @@ class _Certificate(object):
+     @property
+     def not_valid_before(self):
+-        asn1_time = self._backend._lib.X509_getm_notBefore(self._x509)
++        asn1_time = self._backend._lib.X509_get0_notBefore(self._x509)
+         return _parse_asn1_time(self._backend, asn1_time)
+     @property
+     def not_valid_after(self):
+-        asn1_time = self._backend._lib.X509_getm_notAfter(self._x509)
++        asn1_time = self._backend._lib.X509_get0_notAfter(self._x509)
+         return _parse_asn1_time(self._backend, asn1_time)
+     @property
+@@ -277,13 +277,13 @@ class _CertificateRevocationList(object)
+     @property
+     def next_update(self):
+-        nu = self._backend._lib.X509_CRL_get_nextUpdate(self._x509_crl)
++        nu = self._backend._lib.X509_CRL_get0_nextUpdate(self._x509_crl)
+         self._backend.openssl_assert(nu != self._backend._ffi.NULL)
+         return _parse_asn1_time(self._backend, nu)
+     @property
+     def last_update(self):
+-        lu = self._backend._lib.X509_CRL_get_lastUpdate(self._x509_crl)
++        lu = self._backend._lib.X509_CRL_get0_lastUpdate(self._x509_crl)
+         self._backend.openssl_assert(lu != self._backend._ffi.NULL)
+         return _parse_asn1_time(self._backend, lu)
diff --git a/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch b/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch
new file mode 100644 (file)
index 0000000..2513fe6
--- /dev/null
@@ -0,0 +1,39 @@
+From 98bf3eda9c950158cf6a0a6a698dd365712201b1 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Mon, 25 Nov 2019 12:06:16 -0800
+Subject: [PATCH 6/7] Add X509_STORE_CTX_trusted_stack compatibility macro
+
+Deprecated in 1.1
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ src/_cffi_src/openssl/x509_vfy.py | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+--- a/src/_cffi_src/openssl/x509_vfy.py
++++ b/src/_cffi_src/openssl/x509_vfy.py
+@@ -157,8 +157,12 @@ int X509_STORE_CTX_init(X509_STORE_CTX *
+                         Cryptography_STACK_OF_X509 *);
+ void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *,
+                                   Cryptography_STACK_OF_X509 *);
++void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *,
++                                  Cryptography_STACK_OF_X509 *);
+ void X509_STORE_CTX_set_cert(X509_STORE_CTX *, X509 *);
+-void X509_STORE_CTX_set_chain(X509_STORE_CTX *,Cryptography_STACK_OF_X509 *);
++void X509_STORE_CTX_set_chain(X509_STORE_CTX *, Cryptography_STACK_OF_X509 *);
++void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *,
++                                  Cryptography_STACK_OF_X509 *);
+ X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *);
+ void X509_STORE_CTX_set0_param(X509_STORE_CTX *, X509_VERIFY_PARAM *);
+ int X509_STORE_CTX_set_default(X509_STORE_CTX *, const char *);
+@@ -260,4 +264,10 @@ static const long Cryptography_HAS_X509_
+ #else
+ static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1;
+ #endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack
++#define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted
++#define X509_STORE_CTX_get_chain X509_STORE_CTX_get1_chain
++#endif
+ """
diff --git a/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch b/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch
new file mode 100644 (file)
index 0000000..b2d4cb9
--- /dev/null
@@ -0,0 +1,56 @@
+From e96af1cee523c5551c7fc5f36eba8e271fa51b20 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Thu, 5 Dec 2019 12:52:13 -0800
+Subject: [PATCH 7/7] Add defines for totally deprecated functions
+
+---
+ src/_cffi_src/openssl/conf.py   | 4 ++++
+ src/_cffi_src/openssl/crypto.py | 4 ++++
+ src/_cffi_src/openssl/ecdh.py   | 3 +++
+ src/_cffi_src/openssl/ssl.py    | 5 +++++
+ 4 files changed, 16 insertions(+)
+
+--- a/src/_cffi_src/openssl/conf.py
++++ b/src/_cffi_src/openssl/conf.py
+@@ -18,4 +18,8 @@ void OPENSSL_no_config(void);
+ """
+ CUSTOMIZATIONS = """
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define OPENSSL_config(x) 0
++#define OPENSSL_no_config() 0
++#endif
+ """
+--- a/src/_cffi_src/openssl/crypto.py
++++ b/src/_cffi_src/openssl/crypto.py
+@@ -114,4 +114,8 @@ void *Cryptography_realloc_wrapper(void
+ void Cryptography_free_wrapper(void *ptr, const char *path, int line) {
+     free(ptr);
+ }
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define CRYPTO_get_locking_callback() 0
++#endif
+ """
+--- a/src/_cffi_src/openssl/ecdh.py
++++ b/src/_cffi_src/openssl/ecdh.py
+@@ -18,4 +18,7 @@ long SSL_CTX_set_ecdh_auto(SSL_CTX *, in
+ """
+ CUSTOMIZATIONS = """
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define SSL_CTX_set_ecdh_auto(a, b) ((b) != 0)
++#endif
+ """
+--- a/src/_cffi_src/openssl/ssl.py
++++ b/src/_cffi_src/openssl/ssl.py
+@@ -739,4 +739,9 @@ long (*SSL_get_max_proto_version)(SSL *)
+ #else
+ static const long Cryptography_HAS_GET_PROTO_VERSION = 1;
+ #endif
++
++#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
++#define SSL_library_init() 1
++#define SSL_load_error_strings() 0
++#endif
+ """
diff --git a/lang/python/python-cryptography/patches/010-Add-new-ASN1_STRING_get0_data-API.patch b/lang/python/python-cryptography/patches/010-Add-new-ASN1_STRING_get0_data-API.patch
deleted file mode 100644 (file)
index 3857a78..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1d97b931bf4701fbd3478d2b788ec4310d9eb8e1 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Fri, 7 Jun 2019 18:18:46 -0700
-Subject: [PATCH] Add new ASN1_STRING_get0_data API
-
-Introduced with OpenSSL 1.1
----
- src/_cffi_src/openssl/asn1.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
---- a/src/_cffi_src/openssl/asn1.py
-+++ b/src/_cffi_src/openssl/asn1.py
-@@ -45,6 +45,7 @@ void ASN1_OBJECT_free(ASN1_OBJECT *);
- /*  ASN1 STRING */
- unsigned char *ASN1_STRING_data(ASN1_STRING *);
-+const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *);
- int ASN1_STRING_set(ASN1_STRING *, const void *, int);
- /*  ASN1 OCTET STRING */
-@@ -105,4 +106,11 @@ ASN1_NULL *ASN1_NULL_new(void);
- """
- CUSTOMIZATIONS = """
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER
-+#define ASN1_STRING_get0_data ASN1_STRING_data
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define ASN1_STRING_data ASN1_STRING_get0_data
-+#endif
- """
diff --git a/lang/python/python-cryptography/patches/020-Add-compatibility-for-X509_STORE_set_get_issuer.patch b/lang/python/python-cryptography/patches/020-Add-compatibility-for-X509_STORE_set_get_issuer.patch
deleted file mode 100644 (file)
index 8f5cb78..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From a30684980e8f1f7472d885487880b405608f4122 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Fri, 7 Jun 2019 20:42:04 -0700
-Subject: [PATCH] Add compatibility for X509_STORE_set_get_issuer
-
-Deprecated under OpenSSL 1.1.
----
- src/_cffi_src/openssl/x509_vfy.py                        | 8 ++++++++
- src/cryptography/hazmat/bindings/openssl/_conditional.py | 9 +++++++++
- 2 files changed, 17 insertions(+)
-
---- a/src/_cffi_src/openssl/x509_vfy.py
-+++ b/src/_cffi_src/openssl/x509_vfy.py
-@@ -22,6 +22,7 @@ TYPES = """
- static const long Cryptography_HAS_102_VERIFICATION;
- static const long Cryptography_HAS_110_VERIFICATION_PARAMS;
- static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER;
-+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK;
- typedef ... Cryptography_STACK_OF_ASN1_OBJECT;
- typedef ... Cryptography_STACK_OF_X509_OBJECT;
-@@ -274,4 +275,11 @@ void (*X509_STORE_set_get_issuer)(X509_S
- #else
- static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1;
- #endif
-+
-+#ifndef X509_V_FLAG_CB_ISSUER_CHECK
-+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 0;
-+#define X509_V_FLAG_CB_ISSUER_CHECK   0x0
-+#else
-+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1;
-+#endif
- """
---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
-+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
-@@ -291,6 +291,12 @@ def cryptography_has_srtp():
-     ]
-+def cryptography_has_x509_cb_issuer_check():
-+    return [
-+        "X509_V_FLAG_CB_ISSUER_CHECK",
-+    ]
-+
-+
- # This is a mapping of
- # {condition: function-returning-names-dependent-on-that-condition} so we can
- # loop over them and delete unsupported names at runtime. It will be removed
-@@ -342,4 +348,7 @@ CONDITIONAL_NAMES = {
-     "Cryptography_HAS_ENGINE": cryptography_has_engine,
-     "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain,
-     "Cryptography_HAS_SRTP": cryptography_has_srtp,
-+    "Cryptography_HAS_X509_CB_ISSUER_CHECK": (
-+        cryptography_has_x509_cb_issuer_check
-+    ),
- }
diff --git a/lang/python/python-cryptography/patches/030-Add-compatibility-for-deprecated-TLS-methods.patch b/lang/python/python-cryptography/patches/030-Add-compatibility-for-deprecated-TLS-methods.patch
deleted file mode 100644 (file)
index 2050e46..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-From 3f3b85a59d3c2cb021174ad92ad3a43d9eb73e62 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Fri, 7 Jun 2019 21:00:46 -0700
-Subject: [PATCH] Add compatibility for deprecated TLS methods
-
----
- src/_cffi_src/openssl/ssl.py                  | 45 +++++++++++++++++--
- .../hazmat/bindings/openssl/_conditional.py   | 36 +++++++++++++++
- 2 files changed, 77 insertions(+), 4 deletions(-)
-
---- a/src/_cffi_src/openssl/ssl.py
-+++ b/src/_cffi_src/openssl/ssl.py
-@@ -15,8 +15,9 @@ static const long Cryptography_HAS_SSL_S
- static const long Cryptography_HAS_TLS_ST;
- static const long Cryptography_HAS_SSL2;
- static const long Cryptography_HAS_SSL3_METHOD;
--static const long Cryptography_HAS_TLSv1_1;
--static const long Cryptography_HAS_TLSv1_2;
-+static const long Cryptography_HAS_TLS1_METHOD;
-+static const long Cryptography_HAS_TLS1_1_METHOD;
-+static const long Cryptography_HAS_TLS1_2_METHOD;
- static const long Cryptography_HAS_TLSv1_3;
- static const long Cryptography_HAS_SECURE_RENEGOTIATION;
- static const long Cryptography_HAS_TLSEXT_STATUS_REQ_CB;
-@@ -24,6 +25,7 @@ static const long Cryptography_HAS_STATU
- static const long Cryptography_HAS_TLSEXT_STATUS_REQ_TYPE;
- static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS;
- static const long Cryptography_HAS_DTLS;
-+static const long Cryptography_HAS_DTLS1_METHOD;
- static const long Cryptography_HAS_SIGALGS;
- static const long Cryptography_HAS_PSK;
- static const long Cryptography_HAS_CIPHER_DETAILS;
-@@ -596,8 +598,43 @@ static const long Cryptography_HAS_STATU
- static const long Cryptography_HAS_TLSEXT_STATUS_REQ_TYPE = 1;
- static const long Cryptography_HAS_RELEASE_BUFFERS = 1;
- static const long Cryptography_HAS_OP_NO_COMPRESSION = 1;
--static const long Cryptography_HAS_TLSv1_1 = 1;
--static const long Cryptography_HAS_TLSv1_2 = 1;
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+static const long Cryptography_HAS_TLS1_METHOD = 0;
-+const SSL_METHOD* (*TLSv1_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_server_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_client_method)(void) = NULL;
-+#else
-+static const long Cryptography_HAS_TLS1_METHOD = 1;
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+static const long Cryptography_HAS_TLS1_1_METHOD = 0;
-+const SSL_METHOD* (*TLSv1_1_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_1_server_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_1_client_method)(void) = NULL;
-+#else
-+static const long Cryptography_HAS_TLS1_1_METHOD = 1;
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+static const long Cryptography_HAS_TLS1_2_METHOD = 0;
-+const SSL_METHOD* (*TLSv1_2_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_2_server_method)(void) = NULL;
-+const SSL_METHOD* (*TLSv1_2_client_method)(void) = NULL;
-+#else
-+static const long Cryptography_HAS_TLS1_2_METHOD = 1;
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+static const long Cryptography_HAS_DTLS1_METHOD = 0;
-+const SSL_METHOD* (*DTLSv1_method)(void) = NULL;
-+const SSL_METHOD* (*DTLSv1_server_method)(void) = NULL;
-+const SSL_METHOD* (*DTLSv1_client_method)(void) = NULL;
-+#else
-+static const long Cryptography_HAS_DTLS1_METHOD = 1;
-+#endif
-+
- static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1;
- static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1;
- static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1;
---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
-+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
-@@ -33,6 +33,38 @@ def cryptography_has_ssl3_method():
-     ]
-+def cryptography_has_tls1_method():
-+    return [
-+        "TLSv1_method",
-+        "TLSv1_client_method",
-+        "TLSv1_server_method",
-+    ]
-+
-+
-+def cryptography_has_tls1_1_method():
-+    return [
-+        "TLSv1_1_method",
-+        "TLSv1_1_client_method",
-+        "TLSv1_1_server_method",
-+    ]
-+
-+
-+def cryptography_has_tls1_2_method():
-+    return [
-+        "TLSv1_2_method",
-+        "TLSv1_2_client_method",
-+        "TLSv1_2_server_method",
-+    ]
-+
-+
-+def cryptography_has_dtls1_method():
-+    return [
-+        "DTLSv1_method",
-+        "DTLSv1_client_method",
-+        "DTLSv1_server_method",
-+    ]
-+
-+
- def cryptography_has_102_verification():
-     return [
-         "X509_V_ERR_SUITE_B_INVALID_VERSION",
-@@ -307,6 +339,10 @@ CONDITIONAL_NAMES = {
-     "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md,
-     "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label,
-     "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method,
-+    "Cryptography_HAS_TLS1_METHOD": cryptography_has_tls1_method,
-+    "Cryptography_HAS_TLS1_1_METHOD": cryptography_has_tls1_1_method,
-+    "Cryptography_HAS_TLS1_2_METHOD": cryptography_has_tls1_2_method,
-+    "Cryptography_HAS_DTLS1_METHOD": cryptography_has_dtls1_method,
-     "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification,
-     "Cryptography_HAS_110_VERIFICATION_PARAMS": (
-         cryptography_has_110_verification_params
diff --git a/lang/python/python-cryptography/patches/040-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch b/lang/python/python-cryptography/patches/040-Replace-EVP_CIPHER_CTX_cleanup-with-EVP_CIPHER_CTX_r.patch
deleted file mode 100644 (file)
index 8193644..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 50c1e937342c8b13c8a80c3bb55ce245aecdcdfe Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sat, 15 Jun 2019 17:49:25 -0700
-Subject: [PATCH] Replace EVP_CIPHER_CTX_cleanup with EVP_CIPHER_CTX_reset
-
-Deprecated in OpenSSL 1.1
----
- src/_cffi_src/openssl/evp.py                        | 10 ++++++++++
- src/cryptography/hazmat/backends/openssl/ciphers.py |  2 +-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
---- a/src/_cffi_src/openssl/evp.py
-+++ b/src/_cffi_src/openssl/evp.py
-@@ -48,6 +48,7 @@ int EVP_CipherUpdate(EVP_CIPHER_CTX *, u
-                      const unsigned char *, int);
- int EVP_CipherFinal_ex(EVP_CIPHER_CTX *, unsigned char *, int *);
- int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *);
-+int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *);
- EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
- void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *);
- int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *, int);
-@@ -273,4 +274,13 @@ static const long Cryptography_HAS_EVP_D
- #ifndef EVP_PKEY_POLY1305
- #define EVP_PKEY_POLY1305 NID_poly1305
- #endif
-+
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER
-+#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_cleanup
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_reset
-+#define OpenSSL_add_all_algorithms() do {} while(0)
-+#endif
- """
---- a/src/cryptography/hazmat/backends/openssl/ciphers.py
-+++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
-@@ -199,7 +199,7 @@ class _CipherContext(object):
-             self._backend.openssl_assert(res != 0)
-             self._tag = self._backend._ffi.buffer(tag_buf)[:]
--        res = self._backend._lib.EVP_CIPHER_CTX_cleanup(self._ctx)
-+        res = self._backend._lib.EVP_CIPHER_CTX_reset(self._ctx)
-         self._backend.openssl_assert(res == 1)
-         return self._backend._ffi.buffer(buf)[: outlen[0]]
diff --git a/lang/python/python-cryptography/patches/050-Switch-get_-Update-APIs-to-get0.patch b/lang/python/python-cryptography/patches/050-Switch-get_-Update-APIs-to-get0.patch
deleted file mode 100644 (file)
index b73e3b6..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-From 645c30f76bce250772ce4e0b878e7228bd104277 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sat, 15 Jun 2019 18:47:46 -0700
-Subject: [PATCH] Switch get_*Update APIs to get0
-
-Deprecated in 1.1
----
- src/_cffi_src/openssl/x509.py                 | 34 ++++++++++++++++---
- .../hazmat/backends/openssl/backend.py        |  4 +--
- .../hazmat/backends/openssl/x509.py           |  8 ++---
- 3 files changed, 36 insertions(+), 10 deletions(-)
-
---- a/src/_cffi_src/openssl/x509.py
-+++ b/src/_cffi_src/openssl/x509.py
-@@ -202,8 +202,10 @@ long X509_get_version(X509 *);
- ASN1_TIME *X509_get_notBefore(X509 *);
- ASN1_TIME *X509_get_notAfter(X509 *);
--ASN1_TIME *X509_getm_notBefore(X509 *);
--ASN1_TIME *X509_getm_notAfter(X509 *);
-+ASN1_TIME *X509_getm_notBefore(const X509 *);
-+ASN1_TIME *X509_getm_notAfter(const X509 *);
-+const ASN1_TIME *X509_get0_notBefore(const X509 *);
-+const ASN1_TIME *X509_get0_notAfter(const X509 *);
- long X509_REQ_get_version(X509_REQ *);
- X509_NAME *X509_REQ_get_subject_name(X509_REQ *);
-@@ -235,6 +237,8 @@ X509_CRL *sk_X509_CRL_value(Cryptography
- long X509_CRL_get_version(X509_CRL *);
- ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *);
- ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *);
-+const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *);
-+const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *);
- X509_NAME *X509_CRL_get_issuer(X509_CRL *);
- Cryptography_STACK_OF_X509_REVOKED *X509_CRL_get_REVOKED(X509_CRL *);
-@@ -243,8 +247,11 @@ int X509_CRL_set_lastUpdate(X509_CRL *,
- int X509_CRL_set_nextUpdate(X509_CRL *, ASN1_TIME *);
- int X509_set_notBefore(X509 *, ASN1_TIME *);
- int X509_set_notAfter(X509 *, ASN1_TIME *);
--int X509_set1_notBefore(X509 *, ASN1_TIME *);
--int X509_set1_notAfter(X509 *, ASN1_TIME *);
-+
-+int X509_CRL_set1_lastUpdate(X509_CRL *, const ASN1_TIME *);
-+int X509_CRL_set1_nextUpdate(X509_CRL *, const ASN1_TIME *);
-+int X509_set1_notBefore(X509 *, const ASN1_TIME *);
-+int X509_set1_notAfter(X509 *, const ASN1_TIME *);
- EC_KEY *d2i_EC_PUBKEY_bio(BIO *, EC_KEY **);
- int i2d_EC_PUBKEY_bio(BIO *, EC_KEY *);
-@@ -339,6 +346,25 @@ const ASN1_INTEGER *X509_REVOKED_get0_se
- #define X509_set1_notAfter X509_set_notAfter
- #define X509_getm_notAfter X509_get_notAfter
- #define X509_getm_notBefore X509_get_notBefore
-+#define X509_get0_notAfter X509_get_notAfter
-+#define X509_get0_notBefore X509_get_notBefore
-+
-+#define X509_CRL_set1_lastUpdate X509_CRL_set_lastUpdate
-+#define X509_CRL_set1_nextUpdate X509_CRL_set_nextUpdate
-+#define X509_CRL_get0_lastUpdate X509_CRL_get_lastUpdate
-+#define X509_CRL_get0_nextUpdate X509_CRL_get_nextUpdate
- #endif
- #endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define X509_set_notBefore X509_set1_notBefore
-+#define X509_set_notAfter X509_set1_notAfter
-+#define X509_get_notAfter X509_get0_notAfter
-+#define X509_get_notBefore X509_get0_notBefore
-+
-+#define X509_CRL_get_lastUpdate X509_CRL_get0_lastUpdate
-+#define X509_CRL_get_nextUpdate X509_CRL_get0_nextUpdate
-+#define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate
-+#define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate
-+#endif
- """
---- a/src/cryptography/hazmat/backends/openssl/backend.py
-+++ b/src/cryptography/hazmat/backends/openssl/backend.py
-@@ -1127,12 +1127,12 @@ class Backend(object):
-         # Set the last update time.
-         last_update = self._create_asn1_time(builder._last_update)
--        res = self._lib.X509_CRL_set_lastUpdate(x509_crl, last_update)
-+        res = self._lib.X509_CRL_set1_lastUpdate(x509_crl, last_update)
-         self.openssl_assert(res == 1)
-         # Set the next update time.
-         next_update = self._create_asn1_time(builder._next_update)
--        res = self._lib.X509_CRL_set_nextUpdate(x509_crl, next_update)
-+        res = self._lib.X509_CRL_set1_nextUpdate(x509_crl, next_update)
-         self.openssl_assert(res == 1)
-         # Add extensions.
---- a/src/cryptography/hazmat/backends/openssl/x509.py
-+++ b/src/cryptography/hazmat/backends/openssl/x509.py
-@@ -86,12 +86,12 @@ class _Certificate(object):
-     @property
-     def not_valid_before(self):
--        asn1_time = self._backend._lib.X509_getm_notBefore(self._x509)
-+        asn1_time = self._backend._lib.X509_get0_notBefore(self._x509)
-         return _parse_asn1_time(self._backend, asn1_time)
-     @property
-     def not_valid_after(self):
--        asn1_time = self._backend._lib.X509_getm_notAfter(self._x509)
-+        asn1_time = self._backend._lib.X509_get0_notAfter(self._x509)
-         return _parse_asn1_time(self._backend, asn1_time)
-     @property
-@@ -277,13 +277,13 @@ class _CertificateRevocationList(object)
-     @property
-     def next_update(self):
--        nu = self._backend._lib.X509_CRL_get_nextUpdate(self._x509_crl)
-+        nu = self._backend._lib.X509_CRL_get0_nextUpdate(self._x509_crl)
-         self._backend.openssl_assert(nu != self._backend._ffi.NULL)
-         return _parse_asn1_time(self._backend, nu)
-     @property
-     def last_update(self):
--        lu = self._backend._lib.X509_CRL_get_lastUpdate(self._x509_crl)
-+        lu = self._backend._lib.X509_CRL_get0_lastUpdate(self._x509_crl)
-         self._backend.openssl_assert(lu != self._backend._ffi.NULL)
-         return _parse_asn1_time(self._backend, lu)
diff --git a/lang/python/python-cryptography/patches/060-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch b/lang/python/python-cryptography/patches/060-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch
deleted file mode 100644 (file)
index 048d474..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 07fb50eecc3a3a50ac543f53f98c285eb1ceeb1e Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Mon, 25 Nov 2019 12:06:16 -0800
-Subject: [PATCH] Add X509_STORE_CTX_trusted_stack compatibility macro
-
-Deprecated in 1.1
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/_cffi_src/openssl/x509_vfy.py | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
---- a/src/_cffi_src/openssl/x509_vfy.py
-+++ b/src/_cffi_src/openssl/x509_vfy.py
-@@ -157,8 +157,12 @@ int X509_STORE_CTX_init(X509_STORE_CTX *
-                         Cryptography_STACK_OF_X509 *);
- void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *,
-                                   Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *,
-+                                  Cryptography_STACK_OF_X509 *);
- void X509_STORE_CTX_set_cert(X509_STORE_CTX *, X509 *);
--void X509_STORE_CTX_set_chain(X509_STORE_CTX *,Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set_chain(X509_STORE_CTX *, Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *,
-+                                  Cryptography_STACK_OF_X509 *);
- X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *);
- void X509_STORE_CTX_set0_param(X509_STORE_CTX *, X509_VERIFY_PARAM *);
- int X509_STORE_CTX_set_default(X509_STORE_CTX *, const char *);
-@@ -282,4 +286,15 @@ static const long Cryptography_HAS_X509_
- #else
- static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1;
- #endif
-+
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define X509_STORE_CTX_set0_trusted_stack X509_STORE_CTX_trusted_stack
-+#define X509_STORE_CTX_set0_untrusted X509_STORE_CTX_set_chain
-+#endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack
-+#define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted
-+#define X509_STORE_CTX_get_chain X509_STORE_CTX_get1_chain
-+#endif
- """
diff --git a/lang/python/python-cryptography/patches/070-Add-defines-for-totally-deprecated-functions.patch b/lang/python/python-cryptography/patches/070-Add-defines-for-totally-deprecated-functions.patch
deleted file mode 100644 (file)
index 29bea06..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From 93317e7835acf40a9b8b0f7af417240b57ab690a Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Thu, 5 Dec 2019 12:52:13 -0800
-Subject: [PATCH] Add defines for totally deprecated functions
-
----
- src/_cffi_src/openssl/conf.py   | 4 ++++
- src/_cffi_src/openssl/crypto.py | 4 ++++
- src/_cffi_src/openssl/ssl.py    | 5 +++++
- 3 files changed, 13 insertions(+)
-
---- a/src/_cffi_src/openssl/conf.py
-+++ b/src/_cffi_src/openssl/conf.py
-@@ -18,4 +18,8 @@ void OPENSSL_no_config(void);
- """
- CUSTOMIZATIONS = """
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define OPENSSL_config(x) 0
-+#define OPENSSL_no_config() 0
-+#endif
- """
---- a/src/_cffi_src/openssl/crypto.py
-+++ b/src/_cffi_src/openssl/crypto.py
-@@ -124,4 +124,8 @@ void *Cryptography_realloc_wrapper(void
- void Cryptography_free_wrapper(void *ptr, const char *path, int line) {
-     free(ptr);
- }
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define CRYPTO_get_locking_callback() 0
-+#endif
- """
---- a/src/_cffi_src/openssl/ssl.py
-+++ b/src/_cffi_src/openssl/ssl.py
-@@ -792,4 +792,9 @@ int (*SSL_CTX_set_max_early_data)(SSL_CT
- #else
- static const long Cryptography_HAS_TLSv1_3 = 1;
- #endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define SSL_library_init() 1
-+#define SSL_load_error_strings() 0
-+#endif
- """
index b80630021636f58b4e4b1c7d21cb2c1069f54490..cd05be0544829f65bf28777b1159140c36a615fe 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-idna
-PKG_VERSION:=2.10
+PKG_VERSION:=3.1
 PKG_RELEASE:=1
 
 PYPI_NAME:=idna
-PKG_HASH:=b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6
+PKG_HASH:=c5b02147e01ea9920e6b0a3f1f7bb833612d507592c837a6c49552768f4054e1
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.rst
index acd29ad49716cf61042d709757fd3e09941e8797..ce0ab508e3ed089fe75679fe13ab0faf4f7c6937 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-lxml
-PKG_VERSION:=4.6.1
+PKG_VERSION:=4.6.2
 PKG_RELEASE:=1
 
 PYPI_NAME:=lxml
-PKG_HASH:=c152b2e93b639d1f36ec5a8ca24cde4a8eefb2b6b83668fcd8e83a67badcb367
+PKG_HASH:=cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSES.txt
index 6580e74fc10a5ef0f06cf281798823ba7ecd1779..7cda73cba7bc9eea470740efce5205b97d378ee1 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyopenssl
-PKG_VERSION:=19.1.0
-PKG_RELEASE:=2
+PKG_VERSION:=20.0.1
+PKG_RELEASE:=1
 
 PYPI_NAME:=pyOpenSSL
-PKG_HASH:=9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507
+PKG_HASH:=4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index c48265d69308f547ce8fe11788d7c4e611ee1abf..3ea0ef2d4fb41b9bf0c67961ce4bcc7fb4cf5450 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-requests
-PKG_VERSION:=2.25.0
+PKG_VERSION:=2.25.1
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
@@ -17,7 +17,7 @@ PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:python-requests:requests
 
 PYPI_NAME:=requests
-PKG_HASH:=7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8
+PKG_HASH:=27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index 751b3c9059357b749e238eff85d5138aa5852d05..7c43456f86403b47c09a5ce6ec43e68cb24a6a51 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asgiref
-PKG_VERSION:=3.3.0
+PKG_VERSION:=3.3.1
 PKG_RELEASE:=1
 
 PYPI_NAME:=asgiref
-PKG_HASH:=cd88907ecaec59d78e4ac00ea665b03e571cb37e3a0e37b3702af1a9e86c365a
+PKG_HASH:=7162a3cb30ab0609f1a4c95938fd73e8604f63bdba516a7f7d64b83ff09478f0
 
 PKG_MAINTAINER:=Peter Stadler <peter.stadler@student.uibk.ac.at>
 PKG_LICENSE:=BSD-3-Clause
index b1f14131f4cc1f32bf1ff2302c0b710a62d54cdb..73299ca9833737e32826e03e14daea8802262775 100644 (file)
@@ -8,7 +8,7 @@
 # Note: keep in sync with setuptools & pip
 PYTHON3_VERSION_MAJOR:=3
 PYTHON3_VERSION_MINOR:=9
-PYTHON3_VERSION_MICRO:=0
+PYTHON3_VERSION_MICRO:=1
 
 PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
 
index 4cb5d37f5c1813d7c2ee648a0e0c9f75dd330740..99e71d383fd67e8d822449fc0434e125ab6cbeb1 100644 (file)
@@ -16,7 +16,7 @@ PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854
+PKG_HASH:=991c3f8ac97992f3d308fefeb03a64db462574eadbff34ce8bc5bb583d9903ff
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=Python/2.0
@@ -134,7 +134,8 @@ MAKE_FLAGS+=\
 EXTRA_CFLAGS+= \
        -DNDEBUG -fno-inline
 EXTRA_LDFLAGS+= \
-       -L$(PKG_BUILD_DIR)
+       -L$(PKG_BUILD_DIR) \
+       -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
 
 DISABLE_BLUETOOTH:= \
        ac_cv_header_bluetooth_bluetooth_h=no \
index 0dc6fd0db7e942d8fa75bb34bd1887bde6a9cedc..8efd4e771e23bb8f6d9cd57e5a2c33fd7bc45d97 100644 (file)
@@ -9,22 +9,24 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcl
 TCL_MAJOR_VERSION:=8.6
-PKG_VERSION:=${TCL_MAJOR_VERSION}.9
+PKG_VERSION:=${TCL_MAJOR_VERSION}.10
 PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION)-src.tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e
+PKG_HASH:=5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION)
+
+PKG_MAINTAINER:=Joe Mistachkin <joe@mistachkin.com>
 PKG_LICENSE:=TCL
 PKG_LICENSE_FILES:=license.terms
-PKG_MAINTAINER:=Joe Mistachkin <joe@mistachkin.com>
 PKG_CPE_ID:=cpe:/a:tcl_tk:tcl_tk
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION)
-
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+HOST_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
index 3874efc64ee147771ed7c58fb20634c4b27cd8f3..3d7d4776d6714891baacd059df850ab65d88a3ae 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vala
-PKG_VERSION:=0.50.0
+PKG_VERSION:=0.50.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNOME/vala/0.50
-PKG_HASH:=838adc50ac08881e06cf233fefd93740dec1530312cc1cf12c36d4e0e87d3071
+PKG_HASH:=2c0d5dc6d65d070f724063075424c403765ab7935c9e6fbcb84981b94d07ceda
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 9d9dc0830754ff4096c03f6c936f370533a7184d..54c0a94c26b4919a4efa89b8de34b7de0d948262 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apr-util
 PKG_VERSION:=1.6.1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/apr/
@@ -142,6 +142,8 @@ define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/include/apr-1 \
                $(1)/usr/lib/apr-util-1 $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/apu-1-config $(1)/usr/bin
+       $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' $(1)/usr/bin/apu-1-config
+       $(SED) '/^bindir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apu-1-config
        $(CP) $(PKG_INSTALL_DIR)/usr/include/apr-1/* $(1)/usr/include/apr-1
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/apr-util-1/apr_*.{a,so} \
                        $(1)/usr/lib/apr-util-1 2>/dev/null || :
@@ -149,8 +151,8 @@ define Build/InstallDev
                                                $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/apr-util-1.pc \
                                        $(1)/usr/lib/pkgconfig
-       $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \
-                                       $(1)/usr/bin/apu-1-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/apu-1-config $(2)/bin/apu-1-config
 endef
 
 define Package/libaprutil/install
index 034a4e8f81fe3de85a4f46b0d04e361f7ea3998a..f7869d5d8eda3e2ca5967977e9fe6a5e00ead0ca 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apr
 PKG_VERSION:=1.7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/apr/
@@ -88,9 +88,13 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/share/build-1/* $(1)/usr/share/build-1
        $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \
                                        $(1)/usr/bin/apr-1-config
+       $(SED) '/^bindir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
        $(SED) '/^datadir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
+       $(SED) '/^datarootdir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
        $(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' \
                                $(1)/usr/share/build-1/apr_rules.mk
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/apr-1-config $(2)/bin/apr-1-config
 endef
 
 define Package/libapr/install
index 465062a9f7501fee42b4bb235d5d4a2599bbe0eb..3daf5594afdc294779a7649fb1ad92bcd8203ef4 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=boost
-PKG_VERSION:=1.74.0
-PKG_SOURCE_VERSION:=1_74_0
-PKG_RELEASE:=6
+PKG_VERSION:=1.75.0
+PKG_SOURCE_VERSION:=1_75_0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
-PKG_HASH:=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
+PKG_HASH:=953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb
 
 PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
 PKG_LICENSE:=BSL-1.0
@@ -42,7 +42,7 @@ define Package/boost/Default
 endef
 
 define Package/boost/description
-This package provides the Boost v1.74.0 libraries.
+This package provides the Boost v1.75.0 libraries.
 Boost is a set of free, peer-reviewed, portable C++ source libraries.
 
 This package provides the following run-time libraries:
@@ -59,6 +59,7 @@ This package provides the following run-time libraries:
  - graph
  - - graph-parallel
  - iostreams
+ - json
  - locale
  - log
  - math
@@ -76,7 +77,7 @@ This package provides the following run-time libraries:
  - wave
 
 There are many more header-only libraries supported by Boost.
-See more at http://www.boost.org/doc/libs/1_74_0/
+See more at http://www.boost.org/doc/libs/1_75_0/
 endef
 
 PKG_BUILD_DEPENDS:=boost/host
@@ -344,6 +345,7 @@ $(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclud
 $(eval $(call DefineBoostLibrary,filesystem,system))
 $(eval $(call DefineBoostLibrary,graph,regex))
 $(eval $(call DefineBoostLibrary,iostreams,,,,zlib liblzma libbz2 libzstd))
+$(eval $(call DefineBoostLibrary,json,container))
 $(eval $(call DefineBoostLibrary,locale,system chrono thread,,,icu))
 $(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex))
 $(eval $(call DefineBoostLibrary,math))
diff --git a/libs/boost/patches/001-uclibc-asio.patch b/libs/boost/patches/001-uclibc-asio.patch
deleted file mode 100644 (file)
index 07efd13..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From 95d82acc57bb7d8bae431f7a6ce0707aac3ef33f Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Thu, 5 Sep 2019 19:41:13 -0700
-Subject: [PATCH] Use eventfd() function with uClibc
-
-The Boost eventfd code either directly makes the eventfd system call
-using __NR_eventfd (when __GLIBC_MINOR is less than 8), or otherwise
-uses the eventfd() function provided by the C library.
-
-However, since uClibc pretends to be glibc 2.2, the Boost eventfd code
-directly uses the system call. While it works fine on most
-architectures, it doesn't on ARC since __NR_eventfd is not defined on
-this architecture. However, eventfd() is properly implemented.
-
-So, this patch adjusts the logic used by Boost to consider uClibc as a
-C library providing the eventfd() function.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp  | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-index 38d4b2a61..e16cc8b00 100644
---- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
-@@ -23,11 +23,11 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <fcntl.h>
--#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
- # include <asm/unistd.h>
--#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
- # include <sys/eventfd.h>
--#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
- #include <boost/asio/detail/cstdint.hpp>
- #include <boost/asio/detail/eventfd_select_interrupter.hpp>
- #include <boost/asio/detail/throw_error.hpp>
-@@ -46,14 +46,14 @@ eventfd_select_interrupter::eventfd_select_interrupter()
- void eventfd_select_interrupter::open_descriptors()
- {
--#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
-   write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
-   if (read_descriptor_ != -1)
-   {
-     ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
-     ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
-   }
--#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
- # if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
-   write_descriptor_ = read_descriptor_ =
-     ::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK);
-@@ -70,7 +70,7 @@ void eventfd_select_interrupter::open_descriptors()
-       ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
-     }
-   }
--#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
-   if (read_descriptor_ == -1)
-   {
diff --git a/libs/cjson/Makefile b/libs/cjson/Makefile
new file mode 100644 (file)
index 0000000..9aff81c
--- /dev/null
@@ -0,0 +1,53 @@
+# This Makefile is free software, SPDX codes: GPL-2.0-or-later OR MIT
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=cJSON
+PKG_VERSION:=1.7.14
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/DaveGamble/cJSON/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=fb50a663eefdc76bafa80c82bc045af13b1363e8f45cec8b442007aef6a41343
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:cjson_project:cjson
+
+CMAKE_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/cJSON
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Ultralightweight JSON parser in ANSI C
+  URL:=https://github.com/DaveGamble/cJSON
+  MAINTAINER:=Karl Palsson <karlp@etactica.com>
+endef
+
+define Package/cJSON/description
+ Ultralightweight JSON parser in ANSI C.
+cJSON aims to be the dumbest possible parser that you can get your
+job done with. It's a single file of C, and a single header file.
+endef
+
+CMAKE_OPTIONS += -DENABLE_CJSON_TEST=OFF
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libcjson.pc $(1)/usr/lib/pkgconfig
+       $(INSTALL_DIR) $(1)/usr/include/cjson
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/cjson/cJSON.h $(1)/usr/include/cjson
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcjson.so* $(1)/usr/lib/
+endef
+
+define Package/cJSON/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcjson.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,cJSON))
index 82b3ec380a4a7efb210dcd486ca0f499ea1b2009..895060f2bc93c61ad229811b7bd5ee1d70a313ea 100644 (file)
@@ -297,7 +297,7 @@ CMAKE_OPTIONS = \
        -DKDB_DEFAULT_RESOLVER=resolver_fm_pb_b \
        -DKDB_DEFAULT_STORAGE=ini \
        -DENABLE_OPTIMIZATIONS=OFF \
-       -DPLUGINS="ALL;-multifile;-simpleini;-internalnotification" \
+       -DPLUGINS="ALL;-gpgme;-internalnotification;-multifile;-simpleini" \
        -DIconv_INCLUDE_DIR="$(ICONV_PREFIX)/include" \
        -DIconv_LIBRARY="$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)" \
        -DBINDINGS="MAINTAINED;-intercept_env;-intercept_fs;-io_uv;-io_ev;-io_glib"
index 40ef6f2ee382e12c8d1fff6fe1e077d1d8b05fa9..df3a5d600e92a708db501fcf466648e62f853ee1 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
 PKG_VERSION:=2.66.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNOME/glib/2.66
index 31fece96517cb67fa6883ac07d3510266e9ba498..fbd35b7762cb5f352f05291f306e2c765e12da86 100644 (file)
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -94,7 +94,7 @@ installed_tests_template = files('template.test.in')
+@@ -94,7 +94,7 @@ installed_tests_template = files('templa
  installed_tests_template_tap = files('template-tap.test.in')
  
  # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
index 41b3f20670b6c55994b889909fc9444bf645f699..d0c5c80394ea14b72c5b672701af8ccebfadcebd 100644 (file)
@@ -1,5 +1,5 @@
---- a/glib/valgrind.h  2019-12-12 14:53:26.000200499 +0100
-+++ b/glib/valgrind.h  2019-12-12 14:49:45.056163300 +0100
+--- a/glib/valgrind.h
++++ b/glib/valgrind.h
 @@ -158,7 +158,7 @@
  #  define PLAT_s390x_linux 1
  #elif defined(__linux__) && defined(__mips__) && (__mips==64)
diff --git a/libs/glib2/patches/006-c99.patch b/libs/glib2/patches/006-c99.patch
new file mode 100644 (file)
index 0000000..60db223
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/meson.build
++++ b/meson.build
+@@ -923,7 +923,7 @@ if host_system == 'windows' and (cc.get_
+   glib_conf.set('HAVE_C99_SNPRINTF', false)
+   glib_conf.set('HAVE_C99_VSNPRINTF', false)
+   glib_conf.set('HAVE_UNIX98_PRINTF', false)
+-elif not cc_can_run and host_system in ['ios', 'darwin']
++elif true
+   # All these are true when compiling natively on macOS, so we should use good
+   # defaults when building for iOS and tvOS.
+   glib_conf.set('HAVE_C99_SNPRINTF', true)
index 6dba3b10aa7ce1b9b3b5a072f67275998e6a838d..d21bde5999c46b772f8421859ba6d8d66dc1a8fc 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnutls
-PKG_VERSION:=3.6.15
-PKG_RELEASE:=1
+PKG_VERSION:=3.7.0
+PKG_RELEASE:=2
 PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6
-PKG_HASH:=0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558
-#PKG_FIXUP:=autoreconf gettext-version
+PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7
+PKG_HASH:=49e2a22691d252c9f24a9829b293a8f359095bc5a818351f05f1c0a5188a1df8
+PKG_FIXUP:=autoreconf gettext-version
 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_CPE_ID:=cpe:/a:gnu:gnutls
@@ -37,6 +37,7 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_GNUTLS_SRP \
        CONFIG_GNUTLS_TPM \
        CONFIG_LIBNETTLE_MINI \
+       CONFIG_PACKAGE_libgnutls-dane \
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -80,7 +81,7 @@ $(call Package/gnutls/Default)
   CATEGORY:=Utilities
   SUBMENU:=Encryption
   TITLE+= (utilities)
-  DEPENDS+= +libgnutls
+  DEPENDS+= +libgnutls +PACKAGE_libgnutls-dane:libgnutls-dane
 endef
 
 define Package/gnutls-utils/description
@@ -99,6 +100,12 @@ $(call Package/gnutls/Default)
   DEPENDS+= +libnettle +!LIBNETTLE_MINI:libgmp +GNUTLS_EXT_LIBTASN1:libtasn1 +GNUTLS_PKCS11:p11-kit +GNUTLS_CRYPTODEV:kmod-cryptodev +libatomic
 endef
 
+define Package/libgnutls-dane
+$(call Package/gnutls/Default)
+  TITLE+= (libgnutls-dane library)
+  DEPENDS:= +libgnutls +libunbound
+endef
+
 define Package/libgnutls/description
 $(call Package/gnutls/Default/description)
  This package contains the GnuTLS shared library, needed by other programs.
@@ -118,8 +125,6 @@ CONFIGURE_ARGS+= \
        --disable-seccomp-tests \
        --disable-tests \
        --disable-valgrind-tests \
-       \
-       --disable-libdane \
        --disable-ssl2-support \
        --disable-ssl3-support \
        --enable-local-libopts \
@@ -178,16 +183,20 @@ ifeq ($(CONFIG_GNUTLS_CRYPTODEV),y)
 CONFIGURE_ARGS += --enable-cryptodev
 endif
 
+ifeq ($(CONFIG_PACKAGE_libgnutls-dane),)
+CONFIGURE_ARGS += --disable-libdane
+endif
+
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
+               $(PKG_INSTALL_DIR)/usr/lib/*.so* \
                $(1)/usr/lib/
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/gnutls \
                $(1)/usr/include/
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
                $(1)/usr/lib/pkgconfig/
 endef
 
@@ -244,7 +253,13 @@ define Package/libgnutls/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
 endef
 
+define Package/libgnutls-dane/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls-dane.so.* $(1)/usr/lib/
+endef
+
 
 $(eval $(call BuildPackage,certtool))
 $(eval $(call BuildPackage,gnutls-utils))
 $(eval $(call BuildPackage,libgnutls))
+$(eval $(call BuildPackage,libgnutls-dane))
diff --git a/libs/gnutls/patches/010-m4.patch b/libs/gnutls/patches/010-m4.patch
new file mode 100644 (file)
index 0000000..119183e
--- /dev/null
@@ -0,0 +1,73 @@
+--- a/m4/stdint.m4
++++ b/m4/stdint.m4
+@@ -15,7 +15,7 @@ AC_DEFUN_ONCE([gl_STDINT_H],
+   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+   AC_REQUIRE([gl_LIMITS_H])
+-  AC_REQUIRE([gt_TYPE_WINT_T])
++  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
+   dnl For backward compatibility. Some packages may still be testing these
+   dnl macros.
+--- a/m4/vasnprintf.m4
++++ b/m4/vasnprintf.m4
+@@ -33,7 +33,7 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF],
+ AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
+ [
+   AC_REQUIRE([gt_TYPE_WCHAR_T])
+-  AC_REQUIRE([gt_TYPE_WINT_T])
++  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
+ ])
+ # Prerequisites of lib/printf-parse.h, lib/printf-parse.c.
+@@ -41,7 +41,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
+ [
+   AC_REQUIRE([gl_FEATURES_H])
+   AC_REQUIRE([gt_TYPE_WCHAR_T])
+-  AC_REQUIRE([gt_TYPE_WINT_T])
++  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
+   AC_REQUIRE([AC_TYPE_SIZE_T])
+   AC_CHECK_TYPE([ptrdiff_t], ,
+     [AC_DEFINE([ptrdiff_t], [long],
+@@ -55,7 +55,7 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
+ [
+   AC_REQUIRE([AC_FUNC_ALLOCA])
+   AC_REQUIRE([gt_TYPE_WCHAR_T])
+-  AC_REQUIRE([gt_TYPE_WINT_T])
++  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
+   AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
+   dnl Use the _snprintf function only if it is declared (because on NetBSD it
+   dnl is defined as a weak alias of snprintf; we prefer to use the latter).
+--- a/m4/wchar_t.m4
++++ b/m4/wchar_t.m4
+@@ -8,7 +8,7 @@ dnl From Bruno Haible.
+ dnl Test whether <stddef.h> has the 'wchar_t' type.
+ dnl Prerequisite: AC_PROG_CC
+-AC_DEFUN([gt_TYPE_WCHAR_T],
++AC_DEFUN([gt_TYPE_WCHAR_T_GNUTLS],
+ [
+   AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
+     [AC_COMPILE_IFELSE(
+--- a/m4/wint_t.m4
++++ b/m4/wint_t.m4
+@@ -9,7 +9,7 @@ dnl Test whether <wchar.h> has the 'wint
+ dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
+ dnl Prerequisite: AC_PROG_CC
+-AC_DEFUN([gt_TYPE_WINT_T],
++AC_DEFUN([gt_TYPE_WINT_T_GNUTLS],
+ [
+   AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
+     [AC_COMPILE_IFELSE(
+--- a/src/gl/m4/gnulib-comp.m4
++++ b/src/gl/m4/gnulib-comp.m4
+@@ -1061,7 +1061,7 @@ changequote([, ])dnl
+   gl_UNISTD_MODULE_INDICATOR([sleep])
+   AC_CHECK_DECLS_ONCE([alarm])
+   AC_REQUIRE([gt_TYPE_WCHAR_T])
+-  AC_REQUIRE([gt_TYPE_WINT_T])
++  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
+   gl_FUNC_STRERROR_R
+   if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
+     AC_LIBOBJ([strerror_r])
index f7e3c0fe66deb60cfa5048e7e4a730bd3e5d8c57..70acb1ef97efc634c072b23c2d4967ae29b71510 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=google-authenticator-libpam
 PKG_VERSION:=1.09
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/google/google-authenticator-libpam/tar.gz/$(PKG_VERSION)?
@@ -36,8 +36,8 @@ define Package/google-authenticator-libpam/description
 endef
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/lib/security
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/security/* $(1)/lib/security/
+       $(INSTALL_DIR) $(1)/usr/lib/security
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/security/* $(1)/usr/lib/security/
 endef
 
 define Package/google-authenticator-libpam/install
index 1123f579a8236be70ae0657c3cd24c39d55463b1..da766a341464c504ecdf454bc5cd348582d0df95 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gpgme
 PKG_VERSION:=1.15.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://gnupg.org/ftp/gcrypt/$(PKG_NAME)
@@ -83,6 +83,15 @@ define Build/InstallDev
        $(INSTALL_DATA) \
                $(PKG_INSTALL_DIR)/usr/lib/cmake/Gpgmepp/*.cmake \
                $(1)/usr/lib/cmake/Gpgmepp
+
+       $(INSTALL_DIR) $(2)/bin $(1)/usr/bin
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/gpgme-config \
+               $(2)/bin/
+       $(SED) \
+               's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
+               $(2)/bin/gpgme-config
+       $(LN) -sf $(STAGING_DIR)/host/bin/gpgme-config $(1)/usr/bin/gpgme-config
 endef
 
 define Package/libgpgme/install
index f2413b9a5cc211421a421a19750e48e686c282d9..459e5a6be5ccffe9fd2dee8d6a04add65d28cf0c 100644 (file)
@@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=icu4c
 MAJOR_VERSION:=68
-MINOR_VERSION:=1
+MINOR_VERSION:=2
 PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION)
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(MAJOR_VERSION)_$(MINOR_VERSION)-src.tgz
 PKG_SOURCE_URL:=https://github.com/unicode-org/icu/releases/download/release-$(MAJOR_VERSION)-$(MINOR_VERSION)
-PKG_HASH:=a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d
+PKG_HASH:=c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625
 
 PKG_LICENSE:=ICU
 PKG_LICENSE_FILES:=LICENSE
index 55dc4859da4eacfade57fd90f762c7e17821bbcc..c77db6ee9c4792f8d657ff5e912f062c995b974f 100644 (file)
@@ -1,5 +1,3 @@
-diff --git a/Makefile.in b/Makefile.in
-index 9db6c52..6aa2273 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -190,7 +190,6 @@ install-icu: $(INSTALLED_BUILT_FILES)
index 6914a070335491ce3ee843454397a18ef194c2f9..f4ee626d759a1d2abace513957c0f3c1ce7bd178 100644 (file)
@@ -1,6 +1,6 @@
 --- a/runConfigureICU
 +++ b/runConfigureICU
-@@ -239,8 +239,8 @@
+@@ -239,8 +239,8 @@ case $platform in
          THE_COMP="the GNU C++"
          CC=gcc; export CC
          CXX=g++; export CXX
index bdab3f93656b302ec6592f009f3d02d8b13a9b5b..fd4767d28084cd05d72571487e9def004ad45841 100644 (file)
@@ -10,8 +10,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  source/config/mh-linux |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/config/mh-linux b/config/mh-linux
-index 366f0cc..2689aab 100644
 --- a/config/mh-linux
 +++ b/config/mh-linux
 @@ -23,7 +23,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
@@ -23,6 +21,3 @@ index 366f0cc..2689aab 100644
  
  ## Compiler switch to embed a library name
  # The initial tab in the next line is to prevent icu-config from reading it.
--- 
-1.7.10.4
-
index 0ad406b41f84a5c9f393782cd9b1a38095e62a8d..0a139b124fb0064654a4842f63589b5aac8038bf 100644 (file)
@@ -38,7 +38,7 @@
  };
  
  static const UText emptyText = UTEXT_INITIALIZER;
-@@ -584,7 +584,7 @@ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status) {
+@@ -584,7 +584,7 @@ utext_setup(UText *ut, int32_t extraSpac
          // We need to heap-allocate storage for the new UText
          int32_t spaceRequired = sizeof(UText);
          if (extraSpace > 0) {
index f7186e989bd969b7bdb09002c4c19b8791ced183..dee1755ab2df8458f2e3ecf5485278b20bb928b3 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=keyutils
-PKG_VERSION:=1.6.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.6.3
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://people.redhat.com/dhowells/keyutils/
-PKG_HASH:=c8b15722ae51d95b9ad76cc6d49a4c2cc19b0c60f72f61fb9bf43eea7cbd64ce
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/
+PKG_HASH:=a61d5706136ae4c05bd48f86186bcfdbd88dd8bd5107e3e195c924cfc1b39bb4
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
@@ -38,6 +38,16 @@ define Package/keyctl
   LICENSE_FILES:=LICENSE.GPL
 endef
 
+define Package/keyutils
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Encryption
+  TITLE:=keyutils (request-key and key.dns_resolver)
+  DEPENDS:=+libkeyutils
+  LICENSE:=GPL-2.0-or-later
+  LICENSE_FILES:=LICENSE.GPL
+endef
+
 define Package/keyutils/description
   Key utilities
 endef
@@ -61,10 +71,18 @@ define Package/libkeyutils/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libkeyutils.so.$(ABI_VERSION)* $(1)/usr/lib/
 endef
 
+define Package/keyutils/install
+       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/keyutils $(1)/etc/request-key.d
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/request-key $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/key.dns_resolver $(1)/usr/sbin/
+       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/request-key.conf $(1)/etc/
+endef
+
 define Package/keyctl/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/keyctl $(1)/usr/bin
 endef
 
 $(eval $(call BuildPackage,libkeyutils))
+$(eval $(call BuildPackage,keyutils))
 $(eval $(call BuildPackage,keyctl))
index 3cf9b544c7dd6f4a8608575b7345adb389c2c482..0507f9127e152a415dfa9846ec7b9c2c86c61107 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -108,7 +108,7 @@ all: keyctl request-key key.dns_resolver
+@@ -109,7 +109,7 @@ all: keyctl request-key key.dns_resolver
  ###############################################################################
  #RPATH = -Wl,-rpath,$(LIBDIR)
  
index 11cf6c09c7bb2ceff56e849f44b1c1003c28afef..513751839e74867deef20f51844e0202381160a8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/key.dns_resolver.c
 +++ b/key.dns_resolver.c
-@@ -529,12 +529,12 @@ int main(int argc, char *argv[])
+@@ -717,12 +717,12 @@ int main(int argc, char *argv[])
        keyend = buf + ktlen + 1;
  
        /* the actual key description follows the last semicolon */
index 085fca2d2fbe7bb90707a622b7a916063ee60de4..43a0db493647b8bb3b5efea4dfa1f1405e7731d5 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libarchive
-PKG_VERSION:=3.4.3
-PKG_RELEASE:=2
+PKG_VERSION:=3.5.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.libarchive.org/downloads
-PKG_HASH:=0bfc3fd40491768a88af8d9b86bf04a9e95b6d41a94f9292dbc0ec342288c05f
+PKG_HASH:=245bff9d17e78986bf9716eb887e3bc731d7fd8e5d04efebb8bb1e1c39a3a354
 
 PKG_MAINTAINER:=Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
 PKG_LICENSE:=BSD-2-Clause
index 2f37f00c27c621626f307eb3a9c1e470ee7b3b1a..808c78472a79b972a2bd80b3972ccffd73d9bd4b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libdaq
 PKG_VERSION:=2.2.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://www.snort.org/downloads/snortplus/
 PKG_SOURCE:=daq-$(PKG_VERSION).tar.gz
@@ -53,6 +53,9 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/daq/* $(STAGING_DIR)/usr/lib/daq/
        $(INSTALL_DIR) $(STAGING_DIR)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/daq-modules-config $(STAGING_DIR)/usr/bin/
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(STAGING_DIR)/usr/bin/daq-modules-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/daq-modules-config $(2)/bin/daq-modules-config
 endef
 
 define Package/libdaq/install
@@ -60,8 +63,6 @@ define Package/libdaq/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/daq
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/daq/*.so* $(1)/usr/lib/daq/
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/daq-modules-config $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,libdaq))
index c19b66dff80ae3581865402f3f933359f22bc2a2..1f2e359b5f96af1e202d86f76a40598cf7a3a246 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libfmt
-PKG_VERSION:=7.1.2
+PKG_VERSION:=7.1.3
 PKG_RELEASE:=1
 
 PKG_SOURCE_NAME:=fmt
 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/fmtlib/$(PKG_SOURCE_NAME)/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=4119a1c34dff91631e1d0a3707428f764f1ea22fe3cd5e70af5b4ccd5513831c
+PKG_HASH:=5cae7072042b3043e12d53d50ef404bbb76949dad1de368d7f993a15c8c05ecc
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
index 6d3c1b9acd7a252f12fd63fc8b7caa39097b5d6b..eb6a14c6ff7d13454ba7f5adaab53da2a36dfe2e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libftdi
 PKG_VERSION:=0.20
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.intra2net.com/en/developer/libftdi/download/
@@ -52,6 +52,9 @@ define Build/InstallDev
        $(SED) 's,/usr/bin,/usr,g' $(1)/usr/lib/pkgconfig/libftdipp.pc
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libftdipp.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libftdipp.pc
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libftdi-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/libftdi-config $(2)/bin/libftdi-config
 endef
 
 define Package/libftdi/install
index 4c70694b2b660108da8cb38e55f867cea28bc711..59d5f4f260420a4a95678575c9e8eaf70dd8ba56 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libftdi1
 PKG_VERSION:=1.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.intra2net.com/en/developer/libftdi/download/
@@ -66,13 +66,15 @@ CMAKE_OPTIONS += \
 
 define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
-       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libftdi1-config
        $(SED) 's,/usr/bin,/usr,g' $(1)/usr/lib/pkgconfig/libftdi1.pc
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libftdi1.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libftdi1.pc
        $(SED) 's,/usr/bin,/usr,g' $(1)/usr/lib/pkgconfig/libftdipp1.pc
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libftdipp1.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libftdipp1.pc
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libftdi1-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/libftdi1-config $(2)/bin/libftdi1-config
 endef
 
 define Package/libftdi1/install
index 955fc107425686d92474fb77455675fb12e519c0..e07b9e70140d51059b5c39d18971f62ae5f88a88 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgcrypt
 PKG_VERSION:=1.8.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/libgcrypt/
@@ -59,9 +59,8 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/include/gcrypt*.h $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgcrypt.{la,a,so*} $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/libgcrypt.m4 $(1)/usr/share/aclocal/
-       $(SED) 's,^libdir=\"$$$${exec_prefix}/lib,libdir=\"$(STAGING_DIR)/usr/lib,g' $(1)/usr/bin/libgcrypt-config
-       $(SED) 's,^includedir=\"$$$${prefix}/include/,includedir=\"$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/libgcrypt-config
-       ln -sf $(STAGING_DIR)/usr/bin/libgcrypt-config $(2)/bin/
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libgcrypt-config
+       $(LN) ../../usr/bin/libgcrypt-config $(2)/bin/libgcrypt-config
 endef
 
 define Package/libgcrypt/install
index b591533780297a51c00ca28be8bbd9fac53d3c90..3e69de332faef484c3f90e963fcbcc849eee70ba 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgphoto2
-PKG_VERSION:=2.5.25
-PKG_RELEASE:=2
+PKG_VERSION:=2.5.26
+PKG_RELEASE:=3
 PORT_VERSION:=0.12.0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=7c0e98f438c2b128186afe16ce7833a12fa36f87d01467e837b9d27e7a167f3a
+PKG_HASH:=7740fea3cbb78489071cdfec06c07fab528e69e27ac82734eae6a73eaeeabcd4
 
 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -473,22 +473,24 @@ TARGET_CFLAGS += $(FPIC)
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gphoto2{,-port}-config $(1)/usr/bin/
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/gphoto2{,-port}-config
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/gphoto2 $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgphoto2{,_port}.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,-I$$$${prefix}/include/gphoto2,,g' $(1)/usr/bin/gphoto2{,-port}-config
-       $(SED) 's,-I$$$${prefix}/include,,g' $(1)/usr/bin/gphoto2{,-port}-config
        # remove annoying recursive symlink
        rm -f $(1)/usr/include/gphoto2/gphoto2
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/gphoto2-config $(2)/bin/gphoto2-config
+       $(LN) ../../usr/bin/gphoto2-port-config $(2)/bin/gphoto2-port-config
 endef
 
 define Package/libgphoto2/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.so.* $(1)/usr/lib/
-       ln -s $(1)/usr/lib/libgphoto2_port.so.12 $(1)/usr/lib/libgphoto2_port.so.10
+       $(LN) libgphoto2_port.so.12 $(1)/usr/lib/libgphoto2_port.so.10
        $(INSTALL_DIR) $(1)/usr/lib/libgphoto2
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2/print-camera-list $(1)/usr/lib/libgphoto2/print-camera-list
 endef
index 7e1d89d89583d233f7b51fd4acdc10e9a694c313..e29cfbd4be75fdcc7f5979416f6af3cd6ca20ca5 100644 (file)
@@ -1,19 +1,15 @@
-Index: libgphoto2-2.5.19/configure.ac
-===================================================================
---- libgphoto2-2.5.19.orig/configure.ac
-+++ libgphoto2-2.5.19/configure.ac
-@@ -209,7 +209,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja
+--- a/configure.ac
++++ b/configure.ac
+@@ -244,7 +244,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja
  GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],[The gPhoto Team],[${MAIL_GPHOTO_TRANSLATION}])
  AM_GNU_GETTEXT_VERSION([0.14.1])
  AM_GNU_GETTEXT([external])
 -AM_PO_SUBDIRS()
  AM_ICONV()
  GP_GETTEXT_FLAGS()
-
-Index: libgphoto2-2.5.19/libgphoto2_port/configure.ac
-===================================================================
---- libgphoto2-2.5.19.orig/libgphoto2_port/configure.ac
-+++ libgphoto2-2.5.19/libgphoto2_port/configure.ac
+--- a/libgphoto2_port/configure.ac
++++ b/libgphoto2_port/configure.ac
 @@ -124,7 +124,6 @@ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2
  ALL_LINGUAS="cs da de es eu fi fr it ja nl pl pt_BR ru sk sr sv uk vi zh_CN zh_TW"
  AM_GNU_GETTEXT_VERSION([0.14.1])
@@ -21,3 +17,4 @@ Index: libgphoto2-2.5.19/libgphoto2_port/configure.ac
 -AM_PO_SUBDIRS()
  AM_ICONV()
  GP_GETTEXT_FLAGS()
index 80145f8247d2b68415a28192909b2c6fc6fe290b..4abfb89d6ee4090c96318a074c05f4c090f68c25 100644 (file)
@@ -1,34 +1,28 @@
-Index: libgphoto2-2.5.19/Makefile.am
-===================================================================
---- libgphoto2-2.5.19.orig/Makefile.am
-+++ libgphoto2-2.5.19/Makefile.am
-@@ -8,7 +8,7 @@ bin_SCRIPTS = gphoto2-config
- EXTRA_DIST = HACKING MAINTAINERS TESTERS installcheck.mk
-
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,7 @@ EXTRA_DIST = MAINTAINERS TESTERS install
+ EXTRA_DIST += HACKING.md SECURITY.md
  # Note: @subdirs@ lists all the directories from AC_CONFIG_SUBDIRS()
 -SUBDIRS = @subdirs@ libgphoto2 camlibs tests examples po packaging doc gphoto-m4
 +SUBDIRS = @subdirs@ libgphoto2 camlibs packaging gphoto-m4
-
  EXTRA_DIST    += libgphoto2.pc.in
  pkgconfig_DATA = libgphoto2.pc
-Index: libgphoto2-2.5.19/Makefile.in
-===================================================================
---- libgphoto2-2.5.19.orig/Makefile.in
-+++ libgphoto2-2.5.19/Makefile.in
-@@ -482,7 +482,7 @@ EXTRA_DIST = HACKING MAINTAINERS TESTERS
-       INSTALL README.in README README.packaging
-
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -503,7 +503,7 @@ EXTRA_DIST = MAINTAINERS TESTERS install
+       README.packaging
  # Note: @subdirs@ lists all the directories from AC_CONFIG_SUBDIRS()
 -SUBDIRS = @subdirs@ libgphoto2 camlibs tests examples po packaging doc gphoto-m4
 +SUBDIRS = @subdirs@ libgphoto2 camlibs packaging gphoto-m4
  pkgconfig_DATA = libgphoto2.pc
  noinst_DATA = libgphoto2-uninstalled.pc
- doc_DATA = AUTHORS COPYING NEWS ABOUT-NLS ChangeLog README \
-Index: libgphoto2-2.5.19/configure.ac
-===================================================================
---- libgphoto2-2.5.19.orig/configure.ac
-+++ libgphoto2-2.5.19/configure.ac
-@@ -635,20 +635,11 @@ gphoto-m4/Makefile
+ doc_DATA = AUTHORS COPYING NEWS ABOUT-NLS ChangeLog README.md \
+--- a/configure.ac
++++ b/configure.ac
+@@ -706,20 +706,11 @@ gphoto-m4/Makefile
  libgphoto2/Makefile
  libgphoto2.pc
  libgphoto2-uninstalled.pc
@@ -49,37 +43,31 @@ Index: libgphoto2-2.5.19/configure.ac
  ],[
  dnl This relies on this code being called for each of the above files
  dnl with ac_file set to the filename.
-Index: libgphoto2-2.5.19/libgphoto2_port/Makefile.am
-===================================================================
---- libgphoto2-2.5.19.orig/libgphoto2_port/Makefile.am
-+++ libgphoto2-2.5.19/libgphoto2_port/Makefile.am
+--- a/libgphoto2_port/Makefile.am
++++ b/libgphoto2_port/Makefile.am
 @@ -25,7 +25,7 @@ udevscript_PROGRAMS =
  bin_SCRIPTS = gphoto2-port-config
-
  # The . stands for the current dir, i.e. the iolibs to build.
 -SUBDIRS = po libgphoto2_port test . doc gphoto-m4
 +SUBDIRS = libgphoto2_port . gphoto-m4
-
-
  ########################################################################
-Index: libgphoto2-2.5.19/libgphoto2_port/Makefile.in
-===================================================================
---- libgphoto2-2.5.19.orig/libgphoto2_port/Makefile.in
-+++ libgphoto2-2.5.19/libgphoto2_port/Makefile.in
-@@ -574,7 +574,7 @@ EXTRA_LTLIBRARIES = disk.la ptpip.la ser
+--- a/libgphoto2_port/Makefile.in
++++ b/libgphoto2_port/Makefile.in
+@@ -581,7 +581,7 @@ EXTRA_LTLIBRARIES = disk.la ptpip.la ser
  bin_SCRIPTS = gphoto2-port-config
-
  # The . stands for the current dir, i.e. the iolibs to build.
 -SUBDIRS = po libgphoto2_port test . doc gphoto-m4
 +SUBDIRS = libgphoto2_port . gphoto-m4
-
  ########################################################################
  # All iolibs are defined as EXTRA_LTLIBRARIES. This requires that
-Index: libgphoto2-2.5.19/libgphoto2_port/configure.ac
-===================================================================
---- libgphoto2-2.5.19.orig/libgphoto2_port/configure.ac
-+++ libgphoto2-2.5.19/libgphoto2_port/configure.ac
-@@ -512,13 +512,10 @@ AC_SUBST([AM_LDFLAGS])
+--- a/libgphoto2_port/configure.ac
++++ b/libgphoto2_port/configure.ac
+@@ -536,13 +536,10 @@ AC_SUBST([AM_LDFLAGS])
  # ---------------------------------------------------------------------------
  AC_CONFIG_FILES([
  Makefile
index 84a56ccec5d7a94f076386077644cac11ee1cfcc..b1528c9ec954b8dc735075a0d430e9124d81a694 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libimobiledevice
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.libimobiledevice.org/downloads
diff --git a/libs/libimobiledevice/patches/100-ios14.patch b/libs/libimobiledevice/patches/100-ios14.patch
new file mode 100644 (file)
index 0000000..cd95028
--- /dev/null
@@ -0,0 +1,21 @@
+From b5d575c118ecfc2afcb12739433e916527182327 Mon Sep 17 00:00:00 2001
+From: Nikias Bassen <nikias@gmx.li>
+Date: Fri, 7 Aug 2020 00:50:46 +0200
+Subject: [PATCH] mobilebackup2: Set DeviceLink version to 400 to support iOS
+ 14b4+
+
+---
+ src/mobilebackup2.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/mobilebackup2.c
++++ b/src/mobilebackup2.c
+@@ -30,7 +30,7 @@
+ #include "device_link_service.h"
+ #include "common/debug.h"
+-#define MBACKUP2_VERSION_INT1 300
++#define MBACKUP2_VERSION_INT1 400
+ #define MBACKUP2_VERSION_INT2 0
+ #define IS_FLAG_SET(x, y) ((x & y) == y)
diff --git a/libs/libimobiledevice/patches/110-iOS14.patch b/libs/libimobiledevice/patches/110-iOS14.patch
new file mode 100644 (file)
index 0000000..d4d1b4c
--- /dev/null
@@ -0,0 +1,21 @@
+From d857a83272d921929ae6ccf1fa70d85768840e84 Mon Sep 17 00:00:00 2001
+From: Nikias Bassen <nikias@gmx.li>
+Date: Mon, 10 Aug 2020 15:39:56 +0200
+Subject: [PATCH] screenshotr: Set DeviceLink version to 400 to support iOS
+ 14b4+
+
+---
+ src/screenshotr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/screenshotr.c
++++ b/src/screenshotr.c
+@@ -30,7 +30,7 @@
+ #include "device_link_service.h"
+ #include "common/debug.h"
+-#define SCREENSHOTR_VERSION_INT1 300
++#define SCREENSHOTR_VERSION_INT1 400
+ #define SCREENSHOTR_VERSION_INT2 0
+ /**
diff --git a/libs/libimobiledevice/patches/120-iOS14.patch b/libs/libimobiledevice/patches/120-iOS14.patch
new file mode 100644 (file)
index 0000000..9b981c8
--- /dev/null
@@ -0,0 +1,81 @@
+From 98056a89648f431759c5fa4ed87c6ea6ba0cdd3f Mon Sep 17 00:00:00 2001
+From: Nikias Bassen <nikias@gmx.li>
+Date: Thu, 10 Sep 2020 15:12:21 +0200
+Subject: [PATCH] debugserver: Fix service startup for iOS 14b4+
+
+---
+ include/libimobiledevice/debugserver.h |  1 +
+ include/libimobiledevice/lockdown.h    |  1 +
+ src/debugserver.c                      | 11 +++++++++--
+ src/lockdown.c                         |  5 ++++-
+ 4 files changed, 15 insertions(+), 3 deletions(-)
+
+--- a/include/libimobiledevice/debugserver.h
++++ b/include/libimobiledevice/debugserver.h
+@@ -31,6 +31,7 @@ extern "C" {
+ #include <libimobiledevice/lockdown.h>
+ #define DEBUGSERVER_SERVICE_NAME "com.apple.debugserver"
++#define DEBUGSERVER_SECURE_SERVICE_NAME DEBUGSERVER_SERVICE_NAME ".DVTSecureSocketProxy"
+ /** Error Codes */
+ typedef enum {
+--- a/include/libimobiledevice/lockdown.h
++++ b/include/libimobiledevice/lockdown.h
+@@ -96,6 +96,7 @@ typedef struct lockdownd_pair_record *lockdownd_pair_record_t;
+ struct lockdownd_service_descriptor {
+       uint16_t port;
+       uint8_t ssl_enabled;
++      char* identifier;
+ };
+ typedef struct lockdownd_service_descriptor *lockdownd_service_descriptor_t;
+--- a/src/debugserver.c
++++ b/src/debugserver.c
+@@ -80,7 +80,10 @@ LIBIMOBILEDEVICE_API debugserver_error_t debugserver_client_new(idevice_t device
+               debug_info("Creating base service client failed. Error: %i", ret);
+               return ret;
+       }
+-      service_disable_bypass_ssl(parent, 1);
++
++      if (service->identifier && (strcmp(service->identifier, DEBUGSERVER_SECURE_SERVICE_NAME) != 0)) {
++              service_disable_bypass_ssl(parent, 1);
++      }
+       debugserver_client_t client_loc = (debugserver_client_t) malloc(sizeof(struct debugserver_client_private));
+       client_loc->parent = parent;
+@@ -95,7 +98,11 @@ LIBIMOBILEDEVICE_API debugserver_error_t debugserver_client_new(idevice_t device
+ LIBIMOBILEDEVICE_API debugserver_error_t debugserver_client_start_service(idevice_t device, debugserver_client_t * client, const char* label)
+ {
+       debugserver_error_t err = DEBUGSERVER_E_UNKNOWN_ERROR;
+-      service_client_factory_start_service(device, DEBUGSERVER_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(debugserver_client_new), &err);
++      service_client_factory_start_service(device, DEBUGSERVER_SECURE_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(debugserver_client_new), &err);
++      if (err != DEBUGSERVER_E_SUCCESS) {
++              err = DEBUGSERVER_E_UNKNOWN_ERROR;
++              service_client_factory_start_service(device, DEBUGSERVER_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(debugserver_client_new), &err);
++      }
+       return err;
+ }
+--- a/src/lockdown.c
++++ b/src/lockdown.c
+@@ -1307,6 +1307,7 @@ static lockdownd_error_t lockdownd_do_start_service(lockdownd_client_t client, c
+                       *service = (lockdownd_service_descriptor_t)malloc(sizeof(struct lockdownd_service_descriptor));
+               (*service)->port = 0;
+               (*service)->ssl_enabled = 0;
++              (*service)->identifier = strdup(identifier);
+               /* read service port number */
+               plist_t node = plist_dict_get_item(dict, "Port");
+@@ -1511,8 +1512,10 @@ LIBIMOBILEDEVICE_API lockdownd_error_t lockdownd_data_classes_free(char **classe
+ LIBIMOBILEDEVICE_API lockdownd_error_t lockdownd_service_descriptor_free(lockdownd_service_descriptor_t service)
+ {
+-      if (service)
++      if (service) {
++              free(service->identifier);
+               free(service);
++      }
+       return LOCKDOWN_E_SUCCESS;
+ }
index a160620ce67244a1cc98cf92f56e2e201bb6d202..ef704441753a5ef6fd3f73cac518416413f7d3d0 100644 (file)
@@ -11,23 +11,20 @@ PKG_NAME:=libmcrypt
 PKG_VERSION:=2.5.8
 PKG_RELEASE:=2
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
-
-PKG_LICENSE:=LGPLv2.1
-PKG_LICENSE_FILES:=COPYING.LIB
-PKG_CPE_ID:=cpe:/a:mcrypt:libmcrypt
-
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/mcrypt
 PKG_HASH:=bf2f1671f44af88e66477db0982d5ecb5116a5c767b0a0d68acb34499d41b793
 
-PKG_FIXUP:=autoreconf
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING.LIB
+PKG_CPE_ID:=cpe:/a:mcrypt:libmcrypt
+
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-TARGET_CFLAGS += $(FPIC)
-
 define Package/libmcrypt
   SECTION:=libs
   CATEGORY:=Libraries
@@ -40,12 +37,11 @@ define Package/libmcrypt/description
        together a variety of ciphers for convenient use.
 endef
 
-define Build/Configure
-       $(call Build/Configure/Default, \
-               --enable-shared \
-               --enable-static \
-       )
-endef
+CONFIGURE_ARGS += \
+       --enable-shared \
+       --enable-static
+
+TARGET_CFLAGS += $(FPIC)
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
@@ -54,8 +50,9 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmcrypt.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/libmcrypt-config $(1)/usr/bin/
-       $(SED) 's,-I$$$${prefix}/include,,g' $(1)/usr/bin/libmcrypt-config
-       $(SED) 's,-L$$$${exec_prefix}/lib,,g' $(1)/usr/bin/libmcrypt-config
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libmcrypt-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/libmcrypt-config $(2)/bin/libmcrypt-config
 endef
 
 define Package/libmcrypt/install
index 719ab826c9533be152f903681df2cbe88bf10fb1..7bc16dfcaefffc7447cf74efa468030d0c1b7144 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpam
-PKG_VERSION:=1.5.0
+PKG_VERSION:=1.5.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=Linux-PAM-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/linux-pam/linux-pam/releases/download/v$(PKG_VERSION)
-PKG_HASH:=02d39854b508fae9dc713f7733bbcdadbe17b50de965aedddd65bcb6cc7852c8
+PKG_HASH:=201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc
 PKG_BUILD_DIR:=$(BUILD_DIR)/Linux-PAM-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
@@ -22,8 +22,8 @@ PKG_LICENSE_FILES:=COPYING Copyright
 PKG_CPE_ID:=cpe:/a:kernel:linux-pam
 
 PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -60,21 +60,21 @@ CONFIGURE_ARGS += \
        --without-xauth
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/lib
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/lib/* $(1)/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
 endef
 
 define Package/libpam/install
-       $(INSTALL_DIR) $(1)/lib $(1)/lib/security $(1)/lib/security/pam_filter
        $(INSTALL_DIR) $(1)/etc $(1)/etc/pam.d
+       $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/security $(1)/usr/lib/security/pam_filter
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/lib/*.so* $(1)/lib/
-       $(CP) $(PKG_INSTALL_DIR)/lib/security/*.so* $(1)/lib/security/
-       $(CP) $(PKG_INSTALL_DIR)/lib/security/pam_filter/* $(1)/lib/security/pam_filter/
        $(CP) $(PKG_INSTALL_DIR)/etc/* $(1)/etc/
        $(CP) ./files/* $(1)/etc/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/security/*.so* $(1)/usr/lib/security/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/security/pam_filter/* $(1)/usr/lib/security/pam_filter/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
 endef
 
index da0b7402e8ede55e2cff554ac519db24045d2241..a40274f776f247912dff6ec3b057e7b7733acb7d 100644 (file)
@@ -1,36 +1,11 @@
-From 1948dd03d69c1a50e92d7e8868b7d6eabd4873c1 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Wed, 17 Jun 2015 16:11:31 +0800
-Subject: [PATCH 1/7] build: always use /lib instead of /lib64.
-
-* configure.ac: OpenWrt does not use /lib64.
-
-Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
----
- configure.ac |   10 +---------
- 1 file changed, 1 insertion(+), 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index fd0e310..306b6e2 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -25,15 +25,7 @@ dnl If we use /usr as prefix, use /etc for config files
+@@ -25,7 +25,7 @@ dnl If we use /usr as prefix, use /etc f
          then
                  sysconfdir="/etc"
          fi
 -      if test ${libdir} = '${exec_prefix}/lib'
--      then
--              case "$host_cpu" in
--                  x86_64|ppc64|s390x|sparc64)
--                      libdir="/lib64" ;;
--                  *)
--                      libdir="/lib" ;;
--              esac
--      fi
-+      libdir="/lib"
-       if test ${sbindir} = '${exec_prefix}/sbin'
-         then
-                 sbindir="/sbin"
--- 
-1.7.10.4
-
++      if false
+       then
+               case "$host_cpu" in
+                   x86_64|ppc64|s390x|sparc64)
index 7e0bea5d70391d64e82c95f435b226a735164004..43797e5a007f35d71916142031f5f72b9875eefd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpng
 PKG_VERSION:=1.6.37
-PKG_RELEASE:=7
+PKG_RELEASE:=10
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/libpng
@@ -35,22 +35,21 @@ endef
 
 CMAKE_OPTIONS += \
        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-       -DPNG_BUILD_ZLIB=ON \
+       -DPNG_BUILD_ZLIB=OFF \
        -DPNG_SHARED=ON \
        -DPNG_STATIC=ON \
+       -DPNG_EXECUTABLES=OFF \
        -DPNG_TESTS=OFF \
        -DPNG_FRAMEWORK=OFF \
        -DPNG_DEBUG=OFF \
        -DPNG_HARDWARE_OPTIMIZATIONS=O$(if $(findstring powerpc,$(CONFIG_ARCH))$(findstring mipsel,$(CONFIG_ARCH)),FF,N) \
        -Dld-version-script=OFF
 
-TARGET_LDFLAGS += -lz
-
 define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
-       $(SED) \
-               's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
-               $(1)/usr/bin/libpng{,16}-config
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libpng{,16}-config
+       $(SED) '/^includedir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/libpng{,16}-config
+       $(SED) '/^libdir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/libpng{,16}-config
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libpng16.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libpng16.pc
        $(INSTALL_DIR) $(2)/bin
diff --git a/libs/libpng/patches/010-png-exec.patch b/libs/libpng/patches/010-png-exec.patch
new file mode 100644 (file)
index 0000000..43bfa0a
--- /dev/null
@@ -0,0 +1,38 @@
+From 28c0f8895e4ac270b56b5c7e8089dd2417bc4e3c Mon Sep 17 00:00:00 2001
+From: Alex Gaynor <alex.gaynor@gmail.com>
+Date: Sun, 20 May 2018 18:46:32 -0400
+Subject: [PATCH] cmake: Add an option to enable/disable building of
+ executables
+
+Add the CMake option PNG_EXECUTABLES (on by default) in order to
+allow or disallow the building of non-essential executable programs
+associated with libpng.
+
+Contributed-by: Alex Gaynor <alex.gaynor@gmail.com>
+Contributed-by: Cosmin Truta <ctruta@gmail.com>
+Signed-off-by: Cosmin Truta <ctruta@gmail.com>
+---
+ CMakeLists.txt | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,7 +53,8 @@ endif()
+ # COMMAND LINE OPTIONS
+ option(PNG_SHARED "Build shared lib" ON)
+ option(PNG_STATIC "Build static lib" ON)
+-option(PNG_TESTS  "Build libpng tests" ON)
++option(PNG_EXECUTABLES "Build libpng executables" ON)
++option(PNG_TESTS "Build libpng tests" ON)
+ # Many more configuration options could be added here
+ option(PNG_FRAMEWORK "Build OS X framework" OFF)
+@@ -747,7 +748,7 @@ if(PNG_TESTS AND PNG_SHARED)
+   png_add_test(NAME pngimage-full COMMAND pngimage OPTIONS --exhaustive --list-combos --log FILES ${PNGSUITE_PNGS})
+ endif()
+-if(PNG_SHARED)
++if(PNG_SHARED AND PNG_EXECUTABLES)
+   add_executable(pngfix ${pngfix_sources})
+   target_link_libraries(pngfix png)
+   set(PNG_BIN_TARGETS pngfix)
diff --git a/libs/libpng/patches/020-cmake-zlib.patch b/libs/libpng/patches/020-cmake-zlib.patch
new file mode 100644 (file)
index 0000000..e6731c8
--- /dev/null
@@ -0,0 +1,67 @@
+From 9f734b13f4ea062af98652c4c7678f667d2d85c7 Mon Sep 17 00:00:00 2001
+From: David Callu <callu.david@gmail.com>
+Date: Thu, 4 Jul 2019 15:15:53 +0200
+Subject: [PATCH] cmake: Use the correct ZLIB_* variable names
+
+ZLIB_LIBRARIES and ZLIB_INCLUDE_DIRS are the official cmake variable
+names.
+---
+ CMakeLists.txt | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,7 +40,7 @@ option(PNG_BUILD_ZLIB "Custom zlib Locat
+ if(NOT PNG_BUILD_ZLIB)
+   find_package(ZLIB REQUIRED)
+-  include_directories(${ZLIB_INCLUDE_DIR})
++  include_directories(${ZLIB_INCLUDE_DIRS})
+ endif()
+ if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
+@@ -523,7 +523,7 @@ if(PNG_DEBUG)
+ endif()
+ # NOW BUILD OUR TARGET
+-include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
++include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS})
+ unset(PNG_LIB_TARGETS)
+@@ -537,7 +537,7 @@ if(PNG_SHARED)
+     set_target_properties(png PROPERTIES PREFIX "lib")
+     set_target_properties(png PROPERTIES IMPORT_PREFIX "lib")
+   endif()
+-  target_link_libraries(png ${ZLIB_LIBRARY} ${M_LIBRARY})
++  target_link_libraries(png ${ZLIB_LIBRARIES} ${M_LIBRARY})
+   if(UNIX AND AWK)
+     if(HAVE_LD_VERSION_SCRIPT)
+@@ -572,7 +572,7 @@ if(PNG_STATIC)
+     # msvc does not append 'lib' - do it here to have consistent name
+     set_target_properties(png_static PROPERTIES PREFIX "lib")
+   endif()
+-  target_link_libraries(png_static ${ZLIB_LIBRARY} ${M_LIBRARY})
++  target_link_libraries(png_static ${ZLIB_LIBRARIES} ${M_LIBRARY})
+ endif()
+ if(PNG_FRAMEWORK)
+@@ -589,7 +589,7 @@ if(PNG_FRAMEWORK)
+     XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
+     PUBLIC_HEADER "${libpng_public_hdrs}"
+     OUTPUT_NAME png)
+-  target_link_libraries(png_framework ${ZLIB_LIBRARY} ${M_LIBRARY})
++  target_link_libraries(png_framework ${ZLIB_LIBRARIES} ${M_LIBRARY})
+ endif()
+ if(NOT PNG_LIB_TARGETS)
+@@ -754,7 +754,7 @@ if(PNG_SHARED AND PNG_EXECUTABLES)
+   set(PNG_BIN_TARGETS pngfix)
+   add_executable(png-fix-itxt ${png_fix_itxt_sources})
+-  target_link_libraries(png-fix-itxt ${ZLIB_LIBRARY} ${M_LIBRARY})
++  target_link_libraries(png-fix-itxt ${ZLIB_LIBRARIES} ${M_LIBRARY})
+   list(APPEND PNG_BIN_TARGETS png-fix-itxt)
+ endif()
diff --git a/libs/libpng/patches/030-pkgconfig-zlib.patch b/libs/libpng/patches/030-pkgconfig-zlib.patch
new file mode 100644 (file)
index 0000000..0b4fdfd
--- /dev/null
@@ -0,0 +1,22 @@
+From dbe3e0c43e549a1602286144d94b0666549b18e6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
+Date: Mon, 19 Mar 2018 12:41:47 -0300
+Subject: [PATCH] libpng.pc.in: zlib dependency is private
+
+zlib should be injected only when pkgconfig is ran with the --static
+option.
+---
+ libpng.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/libpng.pc.in
++++ b/libpng.pc.in
+@@ -6,7 +6,7 @@ includedir=@includedir@/libpng@PNGLIB_MA
+ Name: libpng
+ Description: Loads and saves PNG files
+ Version: @PNGLIB_VERSION@
+-Requires: zlib
++Requires.private: zlib
+ Libs: -L${libdir} -lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
+ Libs.private: @LIBS@
+ Cflags: -I${includedir}
index 25de3294764ac1f7d0f31137aab52a1e14851df3..ec24bf27816fa79de01b556a275f1b0a4bdf42ff 100644 (file)
@@ -8,7 +8,7 @@
  set(CMAKE_C_FLAGS @CMAKE_C_FLAGS@)
  set(INCDIR "@CMAKE_CURRENT_BINARY_DIR@")
  set(PNG_PREFIX "@PNG_PREFIX@")
-@@ -58,7 +59,7 @@ if ("${INPUTEXT}" STREQUAL ".c" AND "${OUTPUTEXT}" STREQUAL ".out")
+@@ -58,7 +59,7 @@ if ("${INPUTEXT}" STREQUAL ".c" AND "${O
      set(PNG_PREFIX_DEF "-DPNG_PREFIX=${PNG_PREFIX}")
    endif()
  
diff --git a/libs/libpqxx/Config.in b/libs/libpqxx/Config.in
new file mode 100644 (file)
index 0000000..c8407d8
--- /dev/null
@@ -0,0 +1,26 @@
+menu "Options"
+        depends on PACKAGE_libpqxx
+
+config LIBPQXX_STATIC
+    bool "Build static library"
+       default y
+       help
+               Build static (.a) library
+
+config LIBPQXX_SHARED
+    bool "Build and install shared library"
+       default n
+       help
+               Build and install shared (.so) library
+
+config LIBPQXX_INSTALL_TEST
+    bool "Build and install test suite"
+       default n
+       depends on LIBPQXX_STATIC || LIBPQXX_SHARED
+       help
+               Build and install a test suite against a real server.
+               One can run this suite on a target platform to ensure
+               that the library is built the way it should and operating
+               correctly.
+
+endmenu
diff --git a/libs/libpqxx/Makefile b/libs/libpqxx/Makefile
new file mode 100644 (file)
index 0000000..87ee10a
--- /dev/null
@@ -0,0 +1,50 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libpqxx
+PKG_VERSION:=7.3.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/jtv/libpqxx
+PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_MIRROR_HASH:=c176771dbbf02e38b84a8f9bf986a83587e2d86d9e0d2238e2a17a036e865951
+
+CMAKE_INSTALL:=1
+
+PKG_MAINTAINER:=Igor Bezzubchenko <garikello@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/libpqxx
+       SECTION:=libs
+       CATEGORY:=Libraries
+       DEPENDS:=+libpq +libstdcpp
+       TITLE:=PostgreSQL client library (C++ interface)
+       URL:=http://pqxx.org/development/libpqxx
+       SUBMENU:=Database
+endef
+
+define Package/libpqxx/config
+       source "$(SOURCE)/Config.in"
+endef
+
+CMAKE_OPTIONS += \
+       -DBUILD_DOC=OFF \
+       -DBUILD_STATIC_LIBS=O$(if $(CONFIG_LIBPQXX_STATIC),N,FF) \
+       -DBUILD_SHARED_LIBS=O$(if $(CONFIG_LIBPQXX_SHARED),N,FF) \
+       $(if $(CONFIG_LIBPQXX_INSTALL_TEST),\
+               -DINSTALL_TEST=ON  -DSKIP_BUILD_TEST=OFF, \
+               -DINSTALL_TEST=OFF -DSKIP_BUILD_TEST=ON \
+       )
+
+define Package/libpqxx/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(if $(CONFIG_LIBPQXX_SHARED), \
+               $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpqxx*.so $(1)/usr/lib/)
+       $(if $(CONFIG_LIBPQXX_INSTALL_TEST), \
+               $(CP) $(PKG_INSTALL_DIR)/usr/bin/libpqxx* $(1)/usr/bin/)
+endef
+
+$(eval $(call BuildPackage,libpqxx))
diff --git a/libs/libpqxx/patches/100-install-test-executor.patch b/libs/libpqxx/patches/100-install-test-executor.patch
new file mode 100644 (file)
index 0000000..d9eb3ff
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -14,3 +14,7 @@ add_test(
+     WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+     COMMAND runner
+ )
++
++if(INSTALL_TEST)
++      install(PROGRAMS runner TYPE BIN RENAME libpqxx-test-runner)
++endif()
index 1c690787f245615a89a4169e9820b7a7ff2e134c..c14a0ec0bcd8534a3ce76adfae54b5dc682986ea 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libtirpc
-PKG_VERSION:=1.2.6
-PKG_RELEASE:=3
+PKG_VERSION:=1.3.1
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=@SF/libtirpc
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc
+PKG_HASH:=245895caf066bec5e3d4375942c8cb4366adad184c29c618d97f724ea309ee17
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index adb797a757a6d8c96d9bfb71958d568d148fa6ec..dca1f4157a86424ee78b7cd1a09a2e7e78de8976 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libuhttpd
-PKG_VERSION:=3.4.0
+PKG_VERSION:=3.7.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL=https://github.com/zhaojh329/libuhttpd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=c77a404e2a666dda6c731cee977cfa8c2aa433e167222cbd28dd0c91a5c80570
+PKG_HASH:=d59987098e8ee46c150b3d8268555a9ec3b17b9feee5c4cb140d33148e886899
 
 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
 PKG_LICENSE:=MIT
@@ -38,7 +38,7 @@ endef
 
 Package/libuhttpd-openssl=$(call Package/libuhttpd/Default,openssl,+PACKAGE_libuhttpd-openssl:libopenssl)
 Package/libuhttpd-wolfssl=$(call Package/libuhttpd/Default,wolfssl,+PACKAGE_libuhttpd-wolfssl:libwolfssl)
-Package/libuhttpd-mbedtls=$(call Package/libuhttpd/Default,mbedtls,+PACKAGE_libuhttpd-mbedtls:libmbedtls)
+Package/libuhttpd-mbedtls=$(call Package/libuhttpd/Default,mbedtls,+PACKAGE_libuhttpd-mbedtls:libmbedtls +PACKAGE_libuhttpd-mbedtls:zlib)
 Package/libuhttpd-nossl=$(call Package/libuhttpd/Default,nossl)
 
 ifeq ($(BUILD_VARIANT),openssl)
index 4041d69054569b0dde060376a1b98a175391d5be..15c4974e0d5d309227cf22360a024d7760cc99b5 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupnp
 PKG_VERSION:=1.14.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/pupnp
@@ -13,6 +13,7 @@ PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:libupnp_project:libupnp
 
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
index dc50644a338fdb15e0aed4dae4252fae674d0ef0..77d0bb897d60e2798ed050b77f00c174f1f542da 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libuv
 PKG_VERSION:=1.40.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://dist.libuv.org/dist/v$(PKG_VERSION)/
@@ -49,6 +49,8 @@ define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libuv.pc
        $(SED) 's,/usr/lib,$$$${prefix}/lib,g' $(1)/usr/lib/pkgconfig/libuv.pc
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libuv-static.pc
+       $(SED) 's,/usr/lib,$$$${prefix}/lib,g' $(1)/usr/lib/pkgconfig/libuv-static.pc
 endef
 
 define Package/libuv/install
index 7c0d70171976dc2cf0ee76cdf884d6a365d7d1f1..9cd671f91748050986b7c4919d68769b29709710 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libvpx
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.9.0
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://chromium.googlesource.com/webm/libvpx
-PKG_MIRROR_HASH:=51e871a928fe98f14fd08285cb9b64c0d540b36b630ee7d47bc464e909366db7
+PKG_MIRROR_HASH:=0984f8c899b345f6be6f52f5e4888a6d654a45641b7b36de49e1aab22e1ecb58
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 
 PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
index 44c53b0980cce39f946c917809573840c28ec8b8..49851b99d6f79cfe69baeb63f975312abf80e86a 100644 (file)
@@ -8,15 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=x264
-PKG_VERSION:=snapshot-20190324-2245
-PKG_RELEASE:=2
+PKG_VERSION:=2020-10-26
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://download.videolan.org/x264/snapshots/
-PKG_MAINTAINER:=Adrian Panella <ianchi74@outlook.com>
-PKG_HASH:=68010057edaadffc7593933d13084e8d32e041c42b17c089513d88c917f2ad54
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://code.videolan.org/videolan/x264.git
+PKG_SOURCE_VERSION:=4121277b40a667665d4eea1726aefdc55d12d110
+PKG_MIRROR_HASH:=4b4955e8f92d0c4afecbced2cc6414a123085f7472d198b3eeddaa9490b84f60
 
-PKG_LICENSE:=GPL-2.0
+PKG_MAINTAINER:=Adrian Panella <ianchi74@outlook.com>
+PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
 
 PKG_INSTALL:=1
index 699fba5d8c355a88581be5a91b3dd50d0a0d3cf7..e9226036d9449fba680f29d1e59ed1ee87471c7d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libxslt
 PKG_VERSION:=1.1.34
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= \
@@ -22,6 +22,7 @@ PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:xmlsoft:libxslt
 
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 HOST_BUILD_DEPENDS:=libxml2/host
diff --git a/libs/lzo/Makefile b/libs/lzo/Makefile
new file mode 100644 (file)
index 0000000..09885e8
--- /dev/null
@@ -0,0 +1,61 @@
+#
+# Copyright (C) 2006-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lzo
+PKG_VERSION:=2.10
+PKG_RELEASE:=4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.oberhumer.com/opensource/lzo/download/
+PKG_HASH:=c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072
+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+CMAKE_BINARY_SUBDIR:=openwrt-build
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/liblzo
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=A real-time data compression library
+  URL:=http://www.oberhumer.com/opensource/lzo/
+  ABI_VERSION:=2
+endef
+
+define Package/liblzo/description
+ LZO is a data compression library which is suitable for data de-/compression
+ in real-time. This means it favours speed over compression ratio.
+endef
+
+CMAKE_OPTIONS += \
+       -DENABLE_SHARED=ON \
+       -DENABLE_STATIC=ON \
+       \
+       -DBUILD_TESTING=OFF \
+       -DCMAKE_SKIP_INSTALL_RPATH=ON
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/lzo $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzo2.{a,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lzo2.pc $(1)/usr/lib/pkgconfig
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/lzo2.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/lzo2.pc
+endef
+
+define Package/liblzo/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzo2.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,liblzo))
index 328eb8bcc8fa4337d530637bf7a33e5a45236131..f3aaa38d388f4b22abf6886f3a656277246a86ed 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=neon
 PKG_VERSION:=0.31.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://notroj.github.io/neon
@@ -65,8 +65,9 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/neon.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,-I$$$${includedir}/,-I$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/neon-config
-       $(SED) 's,-L$$$${libdir},,g' $(1)/usr/bin/neon-config
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/neon-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/neon-config $(2)/bin/neon-config
 endef
 
 define Package/libneon/install
index 65b9655f57029ea890febda8810d681b05b99c2f..3ebc56ae34634ca9b9a2e45b528fb390f894e231 100644 (file)
@@ -7,14 +7,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nss
-PKG_VERSION:=3.58
+PKG_VERSION:=3.60
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= \
     https://download.cdn.mozilla.net/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src \
     https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src
-PKG_HASH:=9f73cf789b5f109b978e5239551b609b0cafa88d18f0bc8ce3f976cb629353c0
+PKG_HASH:=84abd5575ab874c53ae511bd461e5d0868d1a1b384ee40753154cdd1d590fe3d
 
 PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
 PKG_LICENCE:=MPL-2.0
@@ -108,6 +108,8 @@ endef
 
 define Build/InstallDev
        $(INSTALL_DIR) \
+        $(2)/bin \
+        $(1)/usr/bin \
         $(1)/usr/include/nss \
         $(1)/usr/lib \
         $(1)/usr/lib/pkgconfig
@@ -119,6 +121,12 @@ define Build/InstallDev
          $(1)/usr/lib/
        $(CP) $(PKG_BUILD_DIR)/nss/config/*.pc \
          $(1)/usr/lib/pkgconfig/
+       $(CP) $(PKG_BUILD_DIR)/nss/config/nss-config \
+         $(1)/usr/bin/
+       $(SED) 's,^\(prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
+         $(1)/usr/bin/nss-config
+       $(LN) ../../usr/bin/nss-config \
+         $(2)/bin/
 endef
 
 define Package/nss-utils/install
index f24272bc0596aa7342bae3cb398840878a2f732a..8a2c9d6f480f95ffdbc9bfb94debd87a5c437339 100644 (file)
@@ -10,9 +10,8 @@ Description:             Adds auto-generated nss.pc and nss-config script, and
                          For 3.48, Requires: updated to nspr >= 4.24.
                          For 3.51.1, Requires: updated to nspr >= 4.25.
 
-diff -Naurp nss-3.28-orig/nss/Makefile nss-3.28/nss/Makefile
---- nss-3.28-orig/nss/Makefile 2016-12-21 05:56:27.000000000 -0600
-+++ nss-3.28/nss/Makefile      2016-12-26 22:24:52.695146032 -0600
+--- a/nss/Makefile
++++ b/nss/Makefile
 @@ -48,7 +48,6 @@ include $(CORE_DEPTH)/coreconf/rules.mk
  #######################################################################
  
@@ -21,9 +20,8 @@ diff -Naurp nss-3.28-orig/nss/Makefile nss-3.28/nss/Makefile
        $(MAKE) all
        $(MAKE) latest
  
-diff -Naurp nss-3.28-orig/nss/config/Makefile nss-3.28/nss/config/Makefile
---- nss-3.28-orig/nss/config/Makefile  1969-12-31 18:00:00.000000000 -0600
-+++ nss-3.28/nss/config/Makefile       2016-12-26 22:20:40.008205774 -0600
+--- /dev/null
++++ b/nss/config/Makefile
 @@ -0,0 +1,40 @@
 +CORE_DEPTH = ..
 +DEPTH      = ..
@@ -65,9 +63,8 @@ diff -Naurp nss-3.28-orig/nss/config/Makefile nss-3.28/nss/config/Makefile
 +
 +dummy: all export libs
 +
-diff -Naurp nss-3.28-orig/nss/config/nss-config.in nss-3.28/nss/config/nss-config.in
---- nss-3.28-orig/nss/config/nss-config.in     1969-12-31 18:00:00.000000000 -0600
-+++ nss-3.28/nss/config/nss-config.in  2016-12-26 22:20:40.008205774 -0600
+--- /dev/null
++++ b/nss/config/nss-config.in
 @@ -0,0 +1,153 @@
 +#!/bin/sh
 +
@@ -222,9 +219,8 @@ diff -Naurp nss-3.28-orig/nss/config/nss-config.in nss-3.28/nss/config/nss-confi
 +      echo $libdirs
 +fi      
 +
-diff -Naurp nss-3.28-orig/nss/config/nss.pc.in nss-3.28/nss/config/nss.pc.in
---- nss-3.28-orig/nss/config/nss.pc.in 1969-12-31 18:00:00.000000000 -0600
-+++ nss-3.28/nss/config/nss.pc.in      2016-12-26 22:22:53.300694346 -0600
+--- /dev/null
++++ b/nss/config/nss.pc.in
 @@ -0,0 +1,12 @@
 +prefix=@prefix@
 +exec_prefix=@exec_prefix@
@@ -238,9 +234,8 @@ diff -Naurp nss-3.28-orig/nss/config/nss.pc.in nss-3.28/nss/config/nss.pc.in
 +Libs: -L@libdir@ -lnss@NSS_MAJOR_VERSION@ -lnssutil@NSS_MAJOR_VERSION@ -lsmime@NSS_MAJOR_VERSION@ -lssl@NSS_MAJOR_VERSION@ -lsoftokn@NSS_MAJOR_VERSION@
 +Cflags: -I${includedir}
 +
-diff -Naurp nss-3.28-orig/nss/manifest.mn nss-3.28/nss/manifest.mn
---- nss-3.28-orig/nss/manifest.mn      2016-12-21 05:56:27.000000000 -0600
-+++ nss-3.28/nss/manifest.mn   2016-12-26 22:24:12.278991843 -0600
+--- a/nss/manifest.mn
++++ b/nss/manifest.mn
 @@ -10,7 +10,7 @@ IMPORTS =    nspr20/v4.8 \
  
  RELEASE = nss
@@ -248,6 +243,5 @@ diff -Naurp nss-3.28-orig/nss/manifest.mn nss-3.28/nss/manifest.mn
 -DIRS = coreconf lib cmd cpputil gtests
 +DIRS = coreconf lib cmd cpputil config
  
- lib: coreconf
- cmd: lib
+ HAVE_ALL_TARGET := 1
  
index ce2b683d11bc72c2fadda1211691af94b24b71c2..648f5713ae29eed2bb446cb5ddaf4ccac0e79886 100644 (file)
@@ -1,5 +1,5 @@
---- a/nss/coreconf/arch.mk     2019-04-01 22:20:32.470080052 +0300
-+++ b/nss/coreconf/arch.mk     2019-04-01 22:21:01.730987548 +0300
+--- a/nss/coreconf/arch.mk
++++ b/nss/coreconf/arch.mk
 @@ -20,13 +20,13 @@
  # Macros for getting the OS architecture
  #
index 9f75850ff9b62b293e19fb54bf631ff9af130afe..fd2bf43a66da7b849070034e7e23e65a0bb6e106 100644 (file)
@@ -1,5 +1,5 @@
---- a/nss/lib/dbm/src/dirent.h 2017-10-19 17:15:14.797053528 +0300
-+++ b/nss/lib/dbm/src/dirent.h 2017-10-19 17:15:26.156310432 +0300
+--- a/nss/lib/dbm/src/dirent.h
++++ b/nss/lib/dbm/src/dirent.h
 @@ -30,7 +30,7 @@
  #define MAXNAMLEN FILENAME_MAX
  
@@ -9,9 +9,9 @@
  #endif
  #endif
  
---- a/nss/coreconf/rules.mk    2019-03-31 22:39:06.741609534 +0300
-+++ b/nss/coreconf/rules.mk    2019-03-31 22:36:13.260356949 +0300
-@@ -261,7 +261,7 @@
+--- a/nss/coreconf/rules.mk
++++ b/nss/coreconf/rules.mk
+@@ -176,7 +176,7 @@ $(LIBRARY): $(OBJS) | $$(@D)/d
  ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
        $(AR) $(subst /,\\,$(OBJS))
  else
@@ -20,9 +20,9 @@
  endif
        $(RANLIB) $@
  
---- a/nss/coreconf/arch.mk     2019-03-31 23:38:34.374931416 +0300
-+++ b/nss/coreconf/arch.mk     2019-03-31 23:38:44.667236102 +0300
-@@ -334,7 +334,7 @@
+--- a/nss/coreconf/arch.mk
++++ b/nss/coreconf/arch.mk
+@@ -306,7 +306,7 @@ else
      OBJDIR_NAME_COMPILER = $(COMPILER_TAG)
  endif
  OBJDIR_NAME_BASE = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(OBJDIR_NAME_COMPILER)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG)
  
  
  ifeq (,$(filter-out WIN%,$(OS_TARGET)))
---- a/nss/coreconf/Linux.mk    2019-04-01 10:08:59.129269177 +0300
-+++ b/nss/coreconf/Linux.mk    2019-04-01 10:09:15.557782574 +0300
-@@ -144,7 +144,8 @@
+--- a/nss/coreconf/Linux.mk
++++ b/nss/coreconf/Linux.mk
+@@ -108,11 +108,6 @@ LIBC_TAG          = _glibc
+ endif
+ ifdef BUILD_OPT
+-ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
+-      OPTIMIZER = -Os
+-else
+-      OPTIMIZER = -O2
+-endif
+ ifdef MOZ_DEBUG_SYMBOLS
+       ifdef MOZ_DEBUG_FLAGS
+               OPTIMIZER += $(MOZ_DEBUG_FLAGS)
+@@ -144,7 +139,8 @@ ifdef USE_PTHREADS
        DEFINES         += -D_REENTRANT
  endif
  
-+ifndef USE_NATIVE
 -DSO_CFLAGS            = -fPIC
++ifndef USE_NATIVE
 +DSO_CFLAGS            = $(fpic)
  DSO_LDOPTS            = -shared $(ARCHFLAG) -Wl,--gc-sections
  # The linker on Red Hat Linux 7.2 and RHEL 2.1 (GNU ld version 2.11.90.0.8)
  # incorrectly reports undefined references in the libraries we link with, so
-@@ -154,6 +155,7 @@
+@@ -154,6 +150,7 @@ DSO_LDOPTS         = -shared $(ARCHFLAG) -Wl,--
  ZDEFS_FLAG            = -Wl,-z,defs
  DSO_LDOPTS            += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG))
  LDFLAGS                       += $(ARCHFLAG) -z noexecstack
  
  # On Maemo, we need to use the -rpath-link flag for even the standard system
  # library directories.
---- a/nss/coreconf/Linux.mk    2019-04-06 20:25:36.431663894 +0300
-+++ b/nss/coreconf/Linux.mk    2019-04-06 20:26:23.397129525 +0300
-@@ -108,11 +108,6 @@
+@@ -195,7 +192,7 @@ RPATH = -Wl,-rpath,'$$ORIGIN:/opt/sun/pr
  endif
- ifdef BUILD_OPT
--ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
--      OPTIMIZER = -Os
--else
--      OPTIMIZER = -O2
--endif
- ifdef MOZ_DEBUG_SYMBOLS
-       ifdef MOZ_DEBUG_FLAGS
-               OPTIMIZER += $(MOZ_DEBUG_FLAGS)
-@@ -192,7 +192,7 @@
  endif
- endif
-
 -MKSHLIB         = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) $(RPATH)
 +MKSHLIB         = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) $(RPATH) $(fpic) -Wl,--gc-sections,--as-needed
-
  ifdef MAPFILE
        MKSHLIB += -Wl,--version-script,$(MAPFILE)
---- a/nss/coreconf/UNIX.mk     2019-04-06 20:34:24.284157646 +0300
-+++ b/nss/coreconf/UNIX.mk     2019-04-06 20:34:34.760485327 +0300
-@@ -10,7 +10,6 @@
+--- a/nss/coreconf/UNIX.mk
++++ b/nss/coreconf/UNIX.mk
+@@ -10,7 +10,6 @@ AR          = ar cr $@
  LDOPTS     += -L$(SOURCE_LIB_DIR)
  
  ifdef BUILD_OPT
index 564a6291db11aaac2d7a61c37cf21d93cbbc721b..f62e36d9ac5204afcabb46e0930d58eb7b154f38 100644 (file)
@@ -12,7 +12,7 @@
  
 --- a/nss/lib/sqlite/sqlite3.c
 +++ b/nss/lib/sqlite/sqlite3.c
-@@ -39626,7 +39626,8 @@ static int proxyConchLock(unixFile *pFile, uuid_t myHostID, int lockType){
+@@ -39626,7 +39626,8 @@ static int proxyConchLock(unixFile *pFil
        
        if( nTries==1 ){
          conchModTime = buf.st_mtimespec;
@@ -22,7 +22,7 @@
          continue;  
        }
  
-@@ -39652,7 +39653,7 @@ static int proxyConchLock(unixFile *pFile, uuid_t myHostID, int lockType){
+@@ -39652,7 +39653,7 @@ static int proxyConchLock(unixFile *pFil
            /* don't break the lock on short read or a version mismatch */
            return SQLITE_BUSY;
          }
diff --git a/libs/nss/patches/020-getopt.patch b/libs/nss/patches/020-getopt.patch
new file mode 100644 (file)
index 0000000..23ac68b
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/nss/coreconf/nsinstall/nsinstall.c
++++ b/nss/coreconf/nsinstall/nsinstall.c
+@@ -36,8 +36,8 @@ typedef unsigned int mode_t;
+ #undef HAVE_FCHMOD
+ #endif
+-#ifdef LINUX
+ #include <getopt.h>
++#ifdef LINUX
+ #endif
+ #if defined(SCO) || defined(UNIXWARE) || defined(SNI) || defined(NCR) || defined(NEC)
index 5114242b195b18a2a9b74e4ef7edc34dd07d074f..21c63ac19fb5c45a516e7286a20a0d69588b1694 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=p11-kit
-PKG_VERSION:=0.23.21
+PKG_VERSION:=0.23.22
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/p11-glue/p11-kit/releases/download/$(PKG_VERSION)
-PKG_HASH:=f1baa493f05ca0d867f06bcb54cbb5cdb28c756db07207b6e18de18a87b10627
+PKG_HASH:=8a8f40153dd5a3f8e7c03e641f8db400133fb2a6a9ab2aee1b6d0cb0495ec6b6
 
 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/libs/p11-kit/patches/010-stdint.patch b/libs/p11-kit/patches/010-stdint.patch
new file mode 100644 (file)
index 0000000..7cbc3d9
--- /dev/null
@@ -0,0 +1,24 @@
+From 507c394cfcf4edffc5e4450c5d737e545c26b857 Mon Sep 17 00:00:00 2001
+From: Daniel Engberg <daniel.engberg.lists@pyret.net>
+Date: Sat, 12 Dec 2020 18:56:38 +0100
+Subject: [PATCH] p11-kit/lists.c: Add stdint.h to fix compilation
+
+Add stdint.h otherwise compilation fails on FreeBSD 13-CURRENT with "use of undeclared identifier 'SIZE_MAX'"
+
+Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
+---
+ p11-kit/lists.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/p11-kit/lists.c b/p11-kit/lists.c
+index 365a6d89..1d9062be 100644
+--- a/p11-kit/lists.c
++++ b/p11-kit/lists.c
+@@ -39,6 +39,7 @@
+ #include <assert.h>
+ #include <ctype.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <stdlib.h>
index 28743ba19addb2e7f9ed5f583a18f9c52e14f7d3..199013f206e6bc74b5d98dd70d1c30a5fdf540f7 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pcre2
-PKG_VERSION:=10.35
-PKG_RELEASE:=2
+PKG_VERSION:=10.36
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/pcre/$(PKG_NAME)/$(PKG_VERSION)
-PKG_HASH:=9ccba8e02b0ce78046cdfb52e5c177f0f445e421059e43becca4359c669d4613
+PKG_HASH:=a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c
 
 PKG_MAINTAINER:=Shane Peelar <lookatyouhacker@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
@@ -68,9 +68,9 @@ CMAKE_OPTIONS += \
 
 define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
-       $(SED) \
-               's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
-               $(1)/usr/bin/pcre2-config
+       $(SED)  's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/pcre2-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/pcre2-config $(2)/bin/pcre2-config
 endef
 
 define Package/libpcre2/install
index fe29e1d67b9734ac09fa4ed941f36dc5c3a759cd..cc314bbeaf9c765a3f3f5da49ce851aef1b51118 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=protobuf
-PKG_VERSION:=3.13.0
-PKG_RELEASE:=1
+PKG_VERSION:=3.14.0
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-cpp-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/google/protobuf/releases/download/v$(PKG_VERSION)
-PKG_HASH:=f8a547dfe143a9f61fadafba47fa6573713a33cb80909307c1502e26e1102298
+PKG_HASH:=50ec5a07c0c55d4ec536dd49021f2e194a26bfdbc531d03d1e9d4d3e27175659
 
 PKG_MAINTAINER:=Ken Keys <kkeys@caida.org>
 PKG_LICENSE:=BSD-3-Clause
@@ -22,7 +22,6 @@ PKG_CPE_ID:=cpe:/a:google:protobuf
 
 HOST_BUILD_PARALLEL:=1
 PKG_BUILD_PARALLEL:=1
-CMAKE_INSTALL:=1
 CMAKE_SOURCE_SUBDIR:=cmake
 
 include $(INCLUDE_DIR)/package.mk
index c2fba6b34602eec0de039c61acf9089c4b87c615..b18864bf32fc158594c5b535fa49197ebba50d00 100644 (file)
@@ -1,7 +1,5 @@
-Index: protobuf-3.13.0/cmake/install.cmake
-===================================================================
---- protobuf-3.13.0.orig/cmake/install.cmake
-+++ protobuf-3.13.0/cmake/install.cmake
+--- a/cmake/install.cmake
++++ b/cmake/install.cmake
 @@ -16,8 +16,8 @@ foreach(_library ${_protobuf_libraries})
      $<BUILD_INTERFACE:${protobuf_source_dir}/src>
      $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
diff --git a/libs/protobuf/patches/020-threads.patch b/libs/protobuf/patches/020-threads.patch
new file mode 100644 (file)
index 0000000..4b8301c
--- /dev/null
@@ -0,0 +1,33 @@
+From db2c4f357432ee18975a69af71f50ed415584829 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Thu, 17 Dec 2020 20:54:48 -0800
+Subject: [PATCH] remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS
+
+This is a linker flag and does not belong in CFLAGS.
+
+Fixes an issue with ola and protobuf.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ cmake/protobuf-lite.pc.cmake | 2 +-
+ cmake/protobuf.pc.cmake      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/cmake/protobuf-lite.pc.cmake
++++ b/cmake/protobuf-lite.pc.cmake
+@@ -7,5 +7,5 @@ Name: Protocol Buffers
+ Description: Google's Data Interchange Format
+ Version: @protobuf_VERSION@
+ Libs: -L${libdir} -lprotobuf-lite @CMAKE_THREAD_LIBS_INIT@
+-Cflags: -I${includedir} @CMAKE_THREAD_LIBS_INIT@
++Cflags: -I${includedir}
+ Conflicts: protobuf
+--- a/cmake/protobuf.pc.cmake
++++ b/cmake/protobuf.pc.cmake
+@@ -7,5 +7,5 @@ Name: Protocol Buffers
+ Description: Google's Data Interchange Format
+ Version: @protobuf_VERSION@
+ Libs: -L${libdir} -lprotobuf @CMAKE_THREAD_LIBS_INIT@
+-Cflags: -I${includedir} @CMAKE_THREAD_LIBS_INIT@
++Cflags: -I${includedir}
+ Conflicts: protobuf-lite
index 7fcfed567f5166d852901103b98e9b5183fc2820..0bd49e128676e998ebe0ac672b2a2ed754418e7d 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pugixml
-PKG_VERSION:=1.10
-PKG_RELEASE:=2
+PKG_VERSION:=1.11.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/zeux/pugixml/releases/download/v$(PKG_VERSION)
-PKG_HASH:=55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a
+PKG_HASH:=9dce9f0a3756c5ab84ab7466c99972d030021d81d674f5d38b9e30e9a3ec4922
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=MIT
index 95f2b8c108ce552c72d960677ef4ebdade27cdbd..4e656fb2cbae95b2dbc1b9c6b20e43fb38a0b712 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sbc
-PKG_VERSION:=1.4
-PKG_RELEASE:=2
+PKG_VERSION:=1.5
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
-PKG_HASH:=518bf46e6bb3dc808a95e1eabad26fdebe8a099c1e781c27ed7fca6c2f4a54c9
+PKG_HASH:=0cbad69823a99e8421fe0700e8cf9eeb8fa0c1ad28e8dbc2182b3353507931d2
 
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=COPYING.LIB
@@ -21,6 +21,7 @@ PKG_MAINTAINER:=
 
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/libs/sbc/patches/010-x86.patch b/libs/sbc/patches/010-x86.patch
new file mode 100644 (file)
index 0000000..8b5d5ac
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/sbc/sbc_primitives.c
++++ b/sbc/sbc_primitives.c
+@@ -593,7 +593,9 @@ static int sbc_calc_scalefactors_j(
+ static void sbc_init_primitives_x86(struct sbc_encoder_state *state)
+ {
++#ifdef __x86__
+       __builtin_cpu_init();
++#endif
+ #ifdef SBC_BUILD_WITH_MMX_SUPPORT
+       if (__builtin_cpu_supports("mmx"))
index 821d7104648359989886795e016f79b86ab864a2..63f8382a79b043ff2ac8e2747fb88573a1656bb6 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=spdlog
-PKG_VERSION:=1.8.1
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/gabime/spdlog/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=5197b3147cfcfaa67dd564db7b878e4a4b3d9f3443801722b3915cdeced656cb
+PKG_HASH:=e20e6bd8f57e866eaf25a5417f0a38a116e537f1a77ac7b5409ca2b180cec0d5
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=MIT
index eb4f639fd96b67acbb5c5261fd02a9587e3cb6d3..a35cf6c5a1ddd69f4f9394980a4e48e7614825c9 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=taglib
 PKG_VERSION:=1.12-beta-1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/taglib/taglib/tar.gz/v$(PKG_VERSION)?
@@ -52,6 +52,8 @@ define Build/InstallDev
        $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' $(1)/usr/bin/taglib-config
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/taglib.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/taglib.pc
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/taglib-config $(2)/bin/taglib-config
 endef
 
 $(eval $(call BuildPackage,taglib))
index c3daa662098dc321276026d4d9362d4bd0ed8290..07a11fa1410d43a91c6fbe6c11f25f88594abb97 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcp_wrappers
 PKG_VERSION:=7.6
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.porcupine.org/pub/security
@@ -32,11 +32,7 @@ endef
 
 TARGET_CFLAGS += $(FPIC) -Wall
 
-ifeq ($(CONFIG_USE_MUSL),)
-TARGET_EXTRA_LIBS:=LIBS=-lnsl
-endif
-
-define Build/Compile   
+define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                $(TARGET_CONFIGURE_OPTS) \
                OPT_CFLAGS="$(TARGET_CFLAGS)" \
@@ -53,7 +49,7 @@ define Build/Compile
                tidy all
 endef
 
-define Build/InstallDev        
+define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_BUILD_DIR)/tcpd.h $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
@@ -61,9 +57,9 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/shared/libwrap.so* $(1)/usr/lib/
 endef
 
-define Package/libwrap/install 
+define Package/libwrap/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_BUILD_DIR)/shared/libwrap.so.* $(1)/usr/lib/
 endef
-       
+
 $(eval $(call BuildPackage,libwrap))
index 5e3a8fc4c51720b52af361713bbc8d0da708bc36..7d22cb09f89d9a107ba614ef04c1b543c18a9a59 100644 (file)
  extern char *hosts_allow_table;               /* for verification mode redirection */
  extern char *hosts_deny_table;                /* for verification mode redirection */
  extern int hosts_access_verbose;      /* for verbose matching mode */
-@@ -92,9 +118,14 @@ extern int resident;                       /* > 0 if resident process */
+@@ -92,9 +118,14 @@ extern int resident;                       /* > 0 if residen
    */
  
  #ifdef __STDC__
  extern struct request_info *request_init();   /* initialize request */
  extern struct request_info *request_set();    /* update request structure */
  #endif
-@@ -117,27 +148,31 @@ extern struct request_info *request_set();       /* update request structure */
+@@ -117,27 +148,31 @@ extern struct request_info *request_set(
    * host_info structures serve as caches for the lookup results.
    */
  
index 29c9cefcad52422d96375c5bb2cca4f8ec90b79a..8520097100f079bac41450da023a1078f118cf35 100644 (file)
@@ -12,7 +12,7 @@
  or address pattern listed in the named file. The file format is
 --- a/tcpd.h
 +++ b/tcpd.h
-@@ -93,6 +93,7 @@ extern void refuse __P((struct request_i
+@@ -95,6 +95,7 @@ extern void refuse __P((struct request_i
  extern char *xgets __P((char *, int, FILE *));        /* fgets() on steroids */
  extern char *split_at __P((char *, int));     /* strchr() and split */
  extern unsigned long dot_quad_addr __P((char *)); /* restricted inet_addr() */
index 5e7b968dde8df4cb5a5b2f3c3f064c3101937d19..050df9bd80dd0f3f902e8f9475aabf19962cfcb9 100644 (file)
@@ -1,7 +1,5 @@
-Index: tcp_wrappers_7.6/Makefile
-===================================================================
---- tcp_wrappers_7.6.orig/Makefile
-+++ tcp_wrappers_7.6/Makefile
+--- a/Makefile
++++ b/Makefile
 @@ -1,4 +1,4 @@
 -GLIBC=$(shell grep -s -c __GLIBC__ /usr/include/features.h)
 +GLIBC=$(shell grep -s -c __GLIBC__ ${STAGING_DIR}/usr/include/features.h)
index 5cbd358aa7f5a481efaecc6f8fc21e24d297983e..57a4e7c1c8202348ebec56de450fcecf98971fe9 100644 (file)
@@ -1,6 +1,5 @@
-diff -u tcp_wrappers_7.6.orig/clean_exit.c tcp_wrappers_7.6/clean_exit.c
---- tcp_wrappers_7.6.orig/clean_exit.c 1994-12-29 03:42:20.000000000 +1100
-+++ tcp_wrappers_7.6/clean_exit.c      2017-11-14 22:50:48.000000000 +1100
+--- a/clean_exit.c
++++ b/clean_exit.c
 @@ -9,10 +9,11 @@
    */
  
@@ -14,9 +13,8 @@ diff -u tcp_wrappers_7.6.orig/clean_exit.c tcp_wrappers_7.6/clean_exit.c
  
  extern void exit();
  
-diff -u tcp_wrappers_7.6.orig/diag.c tcp_wrappers_7.6/diag.c
---- tcp_wrappers_7.6.orig/diag.c       1994-12-29 03:42:20.000000000 +1100
-+++ tcp_wrappers_7.6/diag.c    2017-11-14 22:51:09.000000000 +1100
+--- a/diag.c
++++ b/diag.c
 @@ -10,7 +10,7 @@
    */
  
@@ -26,9 +24,8 @@ diff -u tcp_wrappers_7.6.orig/diag.c tcp_wrappers_7.6/diag.c
  #endif
  
  /* System libraries */
-diff -u tcp_wrappers_7.6.orig/eval.c tcp_wrappers_7.6/eval.c
---- tcp_wrappers_7.6.orig/eval.c       1995-01-31 05:51:46.000000000 +1100
-+++ tcp_wrappers_7.6/eval.c    2017-11-14 22:51:50.000000000 +1100
+--- a/eval.c
++++ b/eval.c
 @@ -19,7 +19,7 @@
    */
  
@@ -38,9 +35,8 @@ diff -u tcp_wrappers_7.6.orig/eval.c tcp_wrappers_7.6/eval.c
  #endif
  
  /* System libraries. */
-diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
---- tcp_wrappers_7.6.orig/fakelog.c    1994-12-29 03:42:22.000000000 +1100
-+++ tcp_wrappers_7.6/fakelog.c 2017-11-14 22:52:07.000000000 +1100
+--- a/fakelog.c
++++ b/fakelog.c
 @@ -6,7 +6,7 @@
    */
  
@@ -50,7 +46,7 @@ diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
  #endif
  
  #include <stdio.h>
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1
  
  /* ARGSUSED */
  
@@ -59,7 +55,7 @@ diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
  char   *name;
  int     logopt;
  int     facility;
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ int     facility;
  
  /* vsyslog - format one record */
  
@@ -68,7 +64,7 @@ diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
  int     severity;
  char   *fmt;
  va_list ap;
-@@ -43,7 +43,7 @@
+@@ -43,7 +43,7 @@ va_list ap;
  
  /* VARARGS */
  
@@ -77,7 +73,7 @@ diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
  {
      va_list ap;
      char   *fmt;
-@@ -56,7 +56,7 @@
+@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity)
  
  /* closelog - dummy */
  
@@ -86,9 +82,8 @@ diff -u tcp_wrappers_7.6.orig/fakelog.c tcp_wrappers_7.6/fakelog.c
  {
      /* void */
  }
-diff -u tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
---- tcp_wrappers_7.6.orig/fix_options.c        2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/fix_options.c     2017-11-14 22:52:22.000000000 +1100
+--- a/fix_options.c
++++ b/fix_options.c
 @@ -6,7 +6,7 @@
    */
  
@@ -98,7 +93,7 @@ diff -u tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
  #endif
  
  #include <sys/types.h>
-@@ -29,14 +29,14 @@
+@@ -29,14 +29,14 @@ static char sccsid[] = "@(#) fix_options
  
  /* fix_options - get rid of IP-level socket options */
  
@@ -116,9 +111,8 @@ diff -u tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
  #else /* __GLIBC__ */
      size_t  optsize = sizeof(optbuf);
      int     ipproto;
-diff -u tcp_wrappers_7.6.orig/fromhost.c tcp_wrappers_7.6/fromhost.c
---- tcp_wrappers_7.6.orig/fromhost.c   1994-12-29 03:42:24.000000000 +1100
-+++ tcp_wrappers_7.6/fromhost.c        2017-11-14 22:52:33.000000000 +1100
+--- a/fromhost.c
++++ b/fromhost.c
 @@ -11,7 +11,7 @@
    */
  
@@ -128,9 +122,8 @@ diff -u tcp_wrappers_7.6.orig/fromhost.c tcp_wrappers_7.6/fromhost.c
  #endif
  
  #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
-diff -u tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
---- tcp_wrappers_7.6.orig/hosts_access.c       2017-11-13 09:29:25.000000000 +1100
-+++ tcp_wrappers_7.6/hosts_access.c    2017-11-14 22:52:48.000000000 +1100
+--- a/hosts_access.c
++++ b/hosts_access.c
 @@ -18,7 +18,7 @@
    */
  
@@ -140,9 +133,8 @@ diff -u tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
  #endif
  
  /* System libraries. */
-diff -u tcp_wrappers_7.6.orig/hosts_ctl.c tcp_wrappers_7.6/hosts_ctl.c
---- tcp_wrappers_7.6.orig/hosts_ctl.c  1994-12-29 03:42:28.000000000 +1100
-+++ tcp_wrappers_7.6/hosts_ctl.c       2017-11-14 22:53:01.000000000 +1100
+--- a/hosts_ctl.c
++++ b/hosts_ctl.c
 @@ -12,7 +12,7 @@
    */
  
@@ -152,9 +144,8 @@ diff -u tcp_wrappers_7.6.orig/hosts_ctl.c tcp_wrappers_7.6/hosts_ctl.c
  #endif
  
  #include <stdio.h>
-diff -u tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
---- tcp_wrappers_7.6.orig/inetcf.c     1997-02-12 12:13:24.000000000 +1100
-+++ tcp_wrappers_7.6/inetcf.c  2017-11-14 22:53:11.000000000 +1100
+--- a/inetcf.c
++++ b/inetcf.c
 @@ -6,7 +6,7 @@
    */
  
@@ -164,7 +155,7 @@ diff -u tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
  #endif
  
  #include <sys/types.h>
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ static char sccsid[] = "@(#) inetcf.c 1.
  #include <stdio.h>
  #include <errno.h>
  #include <string.h>
@@ -172,7 +163,7 @@ diff -u tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
  
  extern int errno;
  extern void exit();
-@@ -21,6 +22,8 @@
+@@ -21,6 +22,8 @@ extern void exit();
  #include "tcpd.h"
  #include "inetcf.h"
  
@@ -181,9 +172,8 @@ diff -u tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
   /*
    * Network configuration files may live in unusual places. Here are some
    * guesses. Shorter names follow longer ones.
-diff -u tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
---- tcp_wrappers_7.6.orig/misc.c       2017-11-13 09:29:25.000000000 +1100
-+++ tcp_wrappers_7.6/misc.c    2017-11-14 22:53:23.000000000 +1100
+--- a/misc.c
++++ b/misc.c
 @@ -5,7 +5,7 @@
    */
  
@@ -193,9 +183,8 @@ diff -u tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
  #endif
  
  #include <sys/types.h>
-diff -u tcp_wrappers_7.6.orig/myvsyslog.c tcp_wrappers_7.6/myvsyslog.c
---- tcp_wrappers_7.6.orig/myvsyslog.c  1994-12-29 03:42:34.000000000 +1100
-+++ tcp_wrappers_7.6/myvsyslog.c       2017-11-14 22:53:35.000000000 +1100
+--- a/myvsyslog.c
++++ b/myvsyslog.c
 @@ -8,7 +8,7 @@
    */
  
@@ -205,9 +194,8 @@ diff -u tcp_wrappers_7.6.orig/myvsyslog.c tcp_wrappers_7.6/myvsyslog.c
  #endif
  
  #ifdef vsyslog
-diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
---- tcp_wrappers_7.6.orig/options.c    2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/options.c 2017-11-14 22:53:50.000000000 +1100
+--- a/options.c
++++ b/options.c
 @@ -29,7 +29,7 @@
    */
  
@@ -217,7 +205,7 @@ diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
  #endif
  
  /* System libraries. */
-@@ -47,6 +47,8 @@
+@@ -47,6 +47,8 @@ static char sccsid[] = "@(#) options.c 1
  #include <ctype.h>
  #include <setjmp.h>
  #include <string.h>
@@ -226,7 +214,7 @@ diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
  
  #ifndef MAXPATHNAMELEN
  #define MAXPATHNAMELEN  BUFSIZ
-@@ -108,21 +110,21 @@
+@@ -108,21 +110,21 @@ struct option {
  /* List of known keywords. Add yours here. */
  
  static struct option option_table[] = {
@@ -263,7 +251,7 @@ diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
  };
  
  /* process_options - process access control options */
-@@ -447,88 +449,88 @@
+@@ -447,88 +449,88 @@ struct syslog_names {
  
  static struct syslog_names log_fac[] = {
  #ifdef LOG_KERN
@@ -380,7 +368,7 @@ diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
  };
  
  /* severity_map - lookup facility or severity value */
-@@ -589,7 +591,7 @@
+@@ -589,7 +591,7 @@ char   *string;
      if (src[0] == 0)
        return (0);
  
@@ -389,17 +377,15 @@ diff -u tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c
        if (ch == ':') {
            if (*++src == 0)
                tcpd_warn("rule ends in \":\"");
-diff -u tcp_wrappers_7.6.orig/patchlevel.h tcp_wrappers_7.6/patchlevel.h
---- tcp_wrappers_7.6.orig/patchlevel.h 1997-03-22 05:27:24.000000000 +1100
-+++ tcp_wrappers_7.6/patchlevel.h      2017-11-14 22:54:15.000000000 +1100
+--- a/patchlevel.h
++++ b/patchlevel.h
 @@ -1,3 +1,3 @@
  #ifndef lint
 -static char patchlevel[] = "@(#) patchlevel 7.6 97/03/21 19:27:23";
 +static char patchlevel[] __attribute__((__unused__)) = "@(#) patchlevel 7.6 97/03/21 19:27:23";
  #endif
-diff -u tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
---- tcp_wrappers_7.6.orig/percent_m.c  2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/percent_m.c       2017-11-14 22:54:31.000000000 +1100
+--- a/percent_m.c
++++ b/percent_m.c
 @@ -5,7 +5,7 @@
    */
  
@@ -409,7 +395,7 @@ diff -u tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
  #endif
  
  #include <stdio.h>
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ char   *ibuf;
      char   *bp = obuf;
      char   *cp = ibuf;
  
@@ -418,9 +404,8 @@ diff -u tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
        if (*cp == '%' && cp[1] == 'm') {
  #ifdef HAVE_STRERROR
              strcpy(bp, strerror(errno));
-diff -u tcp_wrappers_7.6.orig/percent_x.c tcp_wrappers_7.6/percent_x.c
---- tcp_wrappers_7.6.orig/percent_x.c  1994-12-29 03:42:38.000000000 +1100
-+++ tcp_wrappers_7.6/percent_x.c       2017-11-14 22:54:40.000000000 +1100
+--- a/percent_x.c
++++ b/percent_x.c
 @@ -11,7 +11,7 @@
    */
  
@@ -430,7 +415,7 @@ diff -u tcp_wrappers_7.6.orig/percent_x.c tcp_wrappers_7.6/percent_x.c
  #endif
  
  /* System libraries. */
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ static char sccsid[] = "@(#) percent_x.c
  #include <stdio.h>
  #include <syslog.h>
  #include <string.h>
@@ -438,9 +423,8 @@ diff -u tcp_wrappers_7.6.orig/percent_x.c tcp_wrappers_7.6/percent_x.c
  
  extern void exit();
  
-diff -u tcp_wrappers_7.6.orig/refuse.c tcp_wrappers_7.6/refuse.c
---- tcp_wrappers_7.6.orig/refuse.c     1994-12-29 03:42:40.000000000 +1100
-+++ tcp_wrappers_7.6/refuse.c  2017-11-14 22:54:50.000000000 +1100
+--- a/refuse.c
++++ b/refuse.c
 @@ -8,7 +8,7 @@
    */
  
@@ -450,9 +434,8 @@ diff -u tcp_wrappers_7.6.orig/refuse.c tcp_wrappers_7.6/refuse.c
  #endif
  
  /* System libraries. */
-diff -u tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
---- tcp_wrappers_7.6.orig/rfc931.c     2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/rfc931.c  2017-11-14 22:54:58.000000000 +1100
+--- a/rfc931.c
++++ b/rfc931.c
 @@ -10,7 +10,7 @@
    */
  
@@ -462,7 +445,7 @@ diff -u tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
  #endif
  
  /* System libraries. */
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
  #include <setjmp.h>
  #include <signal.h>
  #include <string.h>
@@ -470,7 +453,7 @@ diff -u tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
  
  /* Local stuff. */
  
-@@ -152,7 +153,7 @@
+@@ -152,7 +153,7 @@ char   *dest;
                     * protocol, not part of the data.
                     */
  
@@ -479,9 +462,8 @@ diff -u tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
                        *cp = 0;
                    result = user;
                }
-diff -u tcp_wrappers_7.6.orig/safe_finger.c tcp_wrappers_7.6/safe_finger.c
---- tcp_wrappers_7.6.orig/safe_finger.c        2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/safe_finger.c     2017-11-14 22:55:08.000000000 +1100
+--- a/safe_finger.c
++++ b/safe_finger.c
 @@ -15,7 +15,7 @@
    */
  
@@ -491,7 +473,7 @@ diff -u tcp_wrappers_7.6.orig/safe_finger.c tcp_wrappers_7.6/safe_finger.c
  #endif
  
  /* System libraries */
-@@ -27,6 +27,10 @@
+@@ -27,6 +27,10 @@ static char sccsid[] = "@(#) safe_finger
  #include <ctype.h>
  #include <pwd.h>
  #include <syslog.h>
@@ -502,7 +484,7 @@ diff -u tcp_wrappers_7.6.orig/safe_finger.c tcp_wrappers_7.6/safe_finger.c
  
  extern void exit();
  
-@@ -45,6 +49,8 @@
+@@ -45,6 +49,8 @@ int     finger_pid;
  int   allow_severity = SEVERITY;
  int   deny_severity = LOG_WARNING;
  
@@ -511,7 +493,7 @@ diff -u tcp_wrappers_7.6.orig/safe_finger.c tcp_wrappers_7.6/safe_finger.c
  void    cleanup(sig)
  int     sig;
  {
-@@ -52,7 +58,7 @@
+@@ -52,7 +58,7 @@ int     sig;
      exit(0);
  }
  
@@ -520,9 +502,8 @@ diff -u tcp_wrappers_7.6.orig/safe_finger.c tcp_wrappers_7.6/safe_finger.c
  int     argc;
  char  **argv;
  {
-diff -u tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
---- tcp_wrappers_7.6.orig/scaffold.c   2017-11-13 09:29:21.000000000 +1100
-+++ tcp_wrappers_7.6/scaffold.c        2017-11-14 22:55:32.000000000 +1100
+--- a/scaffold.c
++++ b/scaffold.c
 @@ -5,7 +5,7 @@
    */
  
@@ -532,9 +513,8 @@ diff -u tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
  #endif
  
  /* System libraries. */
-diff -u tcp_wrappers_7.6.orig/shell_cmd.c tcp_wrappers_7.6/shell_cmd.c
---- tcp_wrappers_7.6.orig/shell_cmd.c  1994-12-29 03:42:44.000000000 +1100
-+++ tcp_wrappers_7.6/shell_cmd.c       2017-11-14 22:55:45.000000000 +1100
+--- a/shell_cmd.c
++++ b/shell_cmd.c
 @@ -9,7 +9,7 @@
    */
  
@@ -544,7 +524,7 @@ diff -u tcp_wrappers_7.6.orig/shell_cmd.c tcp_wrappers_7.6/shell_cmd.c
  #endif
  
  /* System libraries. */
-@@ -20,6 +20,9 @@
+@@ -20,6 +20,9 @@ static char sccsid[] = "@(#) shell_cmd.c
  #include <stdio.h>
  #include <syslog.h>
  #include <string.h>
@@ -554,9 +534,8 @@ diff -u tcp_wrappers_7.6.orig/shell_cmd.c tcp_wrappers_7.6/shell_cmd.c
  
  extern void exit();
  
-diff -u tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
---- tcp_wrappers_7.6.orig/socket.c     2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/socket.c  2017-11-14 22:55:57.000000000 +1100
+--- a/socket.c
++++ b/socket.c
 @@ -16,7 +16,7 @@
    */
  
@@ -566,7 +545,7 @@ diff -u tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
  #endif
  
  /* System libraries. */
-@@ -77,7 +77,7 @@
+@@ -77,7 +77,7 @@ struct request_info *request;
      static struct sockaddr_in client;
      static struct sockaddr_in server;
  #if !defined (__GLIBC__)
@@ -575,7 +554,7 @@ diff -u tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
  #else /* __GLIBC__ */
      size_t  len;
  #endif /* __GLIBC__ */
-@@ -229,7 +229,7 @@
+@@ -229,7 +229,7 @@ int     fd;
      char    buf[BUFSIZ];
      struct sockaddr_in sin;
  #if !defined(__GLIBC__)
@@ -584,9 +563,8 @@ diff -u tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
  #else /* __GLIBC__ */
      size_t  size = sizeof(sin);
  #endif /* __GLIBC__ */
-diff -u tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
---- tcp_wrappers_7.6.orig/tcpd.c       1996-02-12 03:01:33.000000000 +1100
-+++ tcp_wrappers_7.6/tcpd.c    2017-11-14 22:56:09.000000000 +1100
+--- a/tcpd.c
++++ b/tcpd.c
 @@ -11,7 +11,7 @@
    */
  
@@ -596,7 +574,7 @@ diff -u tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
  #endif
  
  /* System libraries. */
-@@ -24,6 +24,7 @@
+@@ -24,6 +24,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10
  #include <stdio.h>
  #include <syslog.h>
  #include <string.h>
@@ -604,7 +582,7 @@ diff -u tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
  
  #ifndef MAXPATHNAMELEN
  #define MAXPATHNAMELEN        BUFSIZ
-@@ -38,10 +39,12 @@
+@@ -38,10 +39,12 @@ static char sccsid[] = "@(#) tcpd.c 1.10
  #include "patchlevel.h"
  #include "tcpd.h"
  
@@ -618,10 +596,9 @@ diff -u tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
  int     argc;
  char  **argv;
  {
-diff -u tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
---- tcp_wrappers_7.6.orig/tcpd.h       2017-11-13 09:29:25.000000000 +1100
-+++ tcp_wrappers_7.6/tcpd.h    2017-11-14 22:36:40.000000000 +1100
-@@ -182,10 +182,10 @@
+--- a/tcpd.h
++++ b/tcpd.h
+@@ -184,10 +184,10 @@ extern void tli_host __P((struct request
  
  #ifdef __STDC__
  extern void tcpd_warn(char *, ...);   /* report problem and proceed */
@@ -634,9 +611,8 @@ diff -u tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
  #endif
  
  struct tcpd_context {
-diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
---- tcp_wrappers_7.6.orig/tcpdchk.c    2017-11-13 09:29:08.000000000 +1100
-+++ tcp_wrappers_7.6/tcpdchk.c 2017-11-14 22:56:21.000000000 +1100
+--- a/tcpdchk.c
++++ b/tcpdchk.c
 @@ -15,7 +15,7 @@
    */
  
@@ -646,7 +622,7 @@ diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
  #endif
  
  /* System libraries. */
-@@ -30,6 +30,7 @@
+@@ -30,6 +30,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1
  #include <errno.h>
  #include <netdb.h>
  #include <string.h>
@@ -654,7 +630,7 @@ diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
  
  extern int errno;
  extern void exit();
-@@ -199,13 +200,15 @@
+@@ -199,13 +200,15 @@ struct request_info *request;
      char    sv_list[BUFLEN];          /* becomes list of daemons */
      char   *cl_list;                  /* becomes list of requests */
      char   *sh_cmd;                   /* becomes optional shell command */
@@ -671,7 +647,7 @@ diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
        tcpd_context.file = table;
        tcpd_context.line = 0;
        while (xgets(sv_list, sizeof(sv_list), fp)) {
-@@ -331,7 +334,7 @@
+@@ -331,7 +334,7 @@ char   *list;
            clients = 0;
        } else {
            clients++;
@@ -680,7 +656,7 @@ diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
                check_user(cp);
                check_host(host);
            } else {
-@@ -446,7 +449,7 @@
+@@ -446,7 +449,7 @@ char   *pat;
          } else if (errno != ENOENT) {
              tcpd_warn("open %s: %m", pat);
          }
@@ -689,9 +665,8 @@ diff -u tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
        if (dot_quad_addr(pat) == INADDR_NONE
            || dot_quad_addr(mask) == INADDR_NONE)
            tcpd_warn("%s/%s: bad net/mask pattern", pat, mask);
-diff -u tcp_wrappers_7.6.orig/tcpdmatch.c tcp_wrappers_7.6/tcpdmatch.c
---- tcp_wrappers_7.6.orig/tcpdmatch.c  1996-02-12 03:01:36.000000000 +1100
-+++ tcp_wrappers_7.6/tcpdmatch.c       2017-11-14 22:56:40.000000000 +1100
+--- a/tcpdmatch.c
++++ b/tcpdmatch.c
 @@ -14,7 +14,7 @@
    */
  
@@ -701,7 +676,7 @@ diff -u tcp_wrappers_7.6.orig/tcpdmatch.c tcp_wrappers_7.6/tcpdmatch.c
  #endif
  
  /* System libraries. */
-@@ -29,6 +29,8 @@
+@@ -29,6 +29,8 @@ static char sccsid[] = "@(#) tcpdmatch.c
  #include <syslog.h>
  #include <setjmp.h>
  #include <string.h>
@@ -710,9 +685,8 @@ diff -u tcp_wrappers_7.6.orig/tcpdmatch.c tcp_wrappers_7.6/tcpdmatch.c
  
  extern void exit();
  extern int optind;
-diff -u tcp_wrappers_7.6.orig/tli.c tcp_wrappers_7.6/tli.c
---- tcp_wrappers_7.6.orig/tli.c        1997-03-22 05:27:26.000000000 +1100
-+++ tcp_wrappers_7.6/tli.c     2017-11-14 22:56:50.000000000 +1100
+--- a/tli.c
++++ b/tli.c
 @@ -15,7 +15,7 @@
    */
  
@@ -722,9 +696,8 @@ diff -u tcp_wrappers_7.6.orig/tli.c tcp_wrappers_7.6/tli.c
  #endif
  
  #ifdef TLI
-diff -u tcp_wrappers_7.6.orig/try-from.c tcp_wrappers_7.6/try-from.c
---- tcp_wrappers_7.6.orig/try-from.c   1994-12-29 03:42:55.000000000 +1100
-+++ tcp_wrappers_7.6/try-from.c        2017-11-14 22:56:59.000000000 +1100
+--- a/try-from.c
++++ b/try-from.c
 @@ -11,7 +11,7 @@
    */
  
@@ -734,7 +707,7 @@ diff -u tcp_wrappers_7.6.orig/try-from.c tcp_wrappers_7.6/try-from.c
  #endif
  
  /* System libraries. */
-@@ -37,7 +37,7 @@
+@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c
  int     allow_severity = SEVERITY;    /* run-time adjustable */
  int     deny_severity = LOG_WARNING;  /* ditto */
  
@@ -743,9 +716,8 @@ diff -u tcp_wrappers_7.6.orig/try-from.c tcp_wrappers_7.6/try-from.c
  int     argc;
  char  **argv;
  {
-diff -u tcp_wrappers_7.6.orig/update.c tcp_wrappers_7.6/update.c
---- tcp_wrappers_7.6.orig/update.c     1994-12-29 03:42:56.000000000 +1100
-+++ tcp_wrappers_7.6/update.c  2017-11-14 22:57:09.000000000 +1100
+--- a/update.c
++++ b/update.c
 @@ -14,7 +14,7 @@
    */
  
@@ -755,7 +727,7 @@ diff -u tcp_wrappers_7.6.orig/update.c tcp_wrappers_7.6/update.c
  #endif
  
  /* System libraries */
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) update.c 1.
  #include <stdio.h>
  #include <syslog.h>
  #include <string.h>
index af3b2cd1af6fbe64b08dbe616cd1270b63fe1a4c..837fa5470456cceb0bd34599a379e143c4eb1e51 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tiff
-PKG_VERSION:=4.1.0
-PKG_RELEASE:=3
+PKG_VERSION:=4.2.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.osgeo.org/libtiff
-PKG_HASH:=5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634
+PKG_HASH:=eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb
 
 PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/libs/uci2/Makefile b/libs/uci2/Makefile
new file mode 100644 (file)
index 0000000..1a60d19
--- /dev/null
@@ -0,0 +1,52 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=uci2
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://github.com/sartura/uci2.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=2d082b587d32ce019fd94317026911e9b51f90dd
+PKG_MIRROR_HASH:=965339e85ff60724fc25ef812c117d203df63055821aa4d0006cc7f59c421b5b
+
+PKG_MAINTAINER:=Jakov Petrina <jakov.petrina@sartura.hr>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/libuci2/Default
+       TITLE:=AST-based C parser library for UCI
+       URL:=https://github.com/sartura/uci2
+endef
+
+define Package/libuci2
+       $(call Package/libuci2/Default)
+       SECTION:=libs
+       CATEGORY:=Libraries
+endef
+
+define Package/libuci2/description
+UCI2 is a C library that provides an alternative UCI parser with an Abstract
+Syntax Tree (AST) representation of configuration files.
+endef
+
+CMAKE_OPTIONS += \
+       -DENABLE_TESTS=OFF
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/{libuci2,uci2_ast}.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuci2.so $(1)/usr/lib/
+endef
+
+define Package/libuci2/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuci2.so $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libuci2))
index 5b6325d31e9f032741793c63af7b684c698b42d2..603b93379000e8e7ce4f5d084ec1e51b0aeb1c66 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unixodbc
-PKG_VERSION:=2.3.7
+PKG_VERSION:=2.3.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=unixODBC-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.unixodbc.org
-PKG_HASH:=45f169ba1f454a72b8fcbb82abd832630a3bf93baa84731cf2949f449e1e3e77
+PKG_HASH:=52833eac3d681c8b0c9a5a65f2ebd745b3a964f208fc748f977e44015a31b207
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
 PKG_LICENSE:=prog GPL libs LGPL
index 88f90f8696264c6d2fc8a46d82dc0f3bff927d14..da6401db76440b6a300f9e5c5613d268b1856962 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vips
-PKG_VERSION:=8.10.2
+PKG_VERSION:=8.10.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/libvips/libvips/releases/download/v$(PKG_VERSION)
-PKG_HASH:=c1d0d9cb54d75cd4f66dce787fbcac99f834f6621fbf47bce9e02ef65b4ab02a
+PKG_HASH:=a4eef2f5334ab6dbf133cd3c6d6394d5bdb3e76d5ea4d578b02e1bc3d9e1cfd8
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -72,26 +72,18 @@ TARGET_CXXFLAGS += -fno-rtti
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include/vips
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/include/* \
-               $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/vips/* $(1)/usr/include/vips
 
        $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/*.so* \
-               $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libvips.{a,so}* $(1)/usr/lib/
 
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
-       $(INSTALL_DATA) \
-               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
-               $(1)/usr/lib/pkgconfig/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/vips.pc $(1)/usr/lib/pkgconfig/vips.pc
 endef
 
 define Package/vips/install
        $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/*.so* \
-               $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libvips.so.* $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,vips))
index 92c67f511948f0946f258688a1665a3f3285c5d3..f66fbaf514a5339b9d9c78538098079c3c346e57 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive vips-8.10.2-vanilla/configure.ac vips-8.10.2/configure.ac
---- vips-8.10.2-vanilla/configure.ac   2020-10-12 11:43:59.000000000 -0500
-+++ vips-8.10.2/configure.ac   2020-11-19 12:17:39.393295442 -0600
-@@ -53,9 +53,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,9 +53,6 @@ AC_SUBST(LIBRARY_CURRENT)
  AC_SUBST(LIBRARY_REVISION)
  AC_SUBST(LIBRARY_AGE)
  
@@ -11,10 +10,9 @@ diff -u --recursive vips-8.10.2-vanilla/configure.ac vips-8.10.2/configure.ac
  # remove the '(disabled, use --enable-introspection to enable)'
  # suffix from the found_introspection variable
  if test "x$found_introspection" != x"yes"; then
-diff -u --recursive vips-8.10.2-vanilla/libvips/Makefile.am vips-8.10.2/libvips/Makefile.am
---- vips-8.10.2-vanilla/libvips/Makefile.am    2020-09-14 10:38:03.000000000 -0500
-+++ vips-8.10.2/libvips/Makefile.am    2020-11-19 12:18:08.473384766 -0600
-@@ -67,56 +67,3 @@
+--- a/libvips/Makefile.am
++++ b/libvips/Makefile.am
+@@ -67,56 +67,3 @@ install-exec-hook:
        echo "#define VIPS_SONAME \"$$dlname\"" >> soname.h && \
        cp soname.h $(DESTDIR)$(pkgincludedir) && \
        rm soname.h
index c50ddf761e5018480d4c6baada97bf060f6dc1cc..883db7ddd75520b250bef1a08863d6ff9dd22906 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive vips-8.10.2-vanilla/configure.ac vips-8.10.2/configure.ac
---- vips-8.10.2-vanilla/configure.ac   2020-10-12 11:43:59.000000000 -0500
-+++ vips-8.10.2/configure.ac   2020-11-19 12:16:45.187129100 -0600
-@@ -26,7 +26,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,11 @@ VIPS_MAJOR_VERSION=vips_major_version()
  VIPS_MINOR_VERSION=vips_minor_version()
  VIPS_MICRO_VERSION=vips_micro_version()
  VIPS_VERSION=vips_version()
index 0d3cb9f16cc484e63a9f0ebc78f083382d3bc78c..bb564fbea4cda88ef8033024627f31d78c6cf615 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xmlrpc-c
 PKG_VERSION:=1.51.06
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
@@ -137,6 +137,7 @@ define Build/InstallDev
        $(INSTALL_BIN) \
                $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
                $(2)/bin/
+       $(SED) 's,PREFIX="/usr",PREFIX="$(STAGING_DIR)/usr",g' $(2)/bin/xmlrpc-c-config
        $(SED) \
                's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
                $(2)/bin/xmlrpc-c-config
index b3797176d50dfca37b3999514d40d22fcfd7fe19..341dabe88ead31680a24fb1ee3ec44c7e59b4c5f 100644 (file)
@@ -2,19 +2,17 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=usb-serial-xr_usb_serial_common
-PKG_VERSION:=1a
-PKG_RELEASE=1
+PKG_SOURCE_DATE:=2017-08-01
+PKG_SOURCE_VERSION:=b8dad8cf15de160afbd9989f880dc74b921a857b
+PKG_RELEASE:=1
 
-PKG_LICENSE:=GPLv2
-PKG_LICENSE_FILES:=
-
-PKG_SOURCE_URL:=https://github.com/kasbert/epsolar-tracer
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=8c21f4afdfd6acd77b6adad59a4dabe5cbf2b947
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/kasbert/epsolar-tracer
+PKG_MIRROR_HASH:=2cf23fec2625480bb4a630f96cd172219d401bd3cf90943394504ea0ba814faf
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=LICENSE
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
index ec9d1e9e7783a8529b33407d419e68b52077ef42..909e659c26c562ec2a8460e8f86eb7dc1e098bc1 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=alpine
-PKG_VERSION:=2.23
-PKG_RELEASE:=2
+PKG_VERSION:=2.24
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://alpine.x10host.com/alpine/release/src
-PKG_HASH:=793a61215c005b5fcffb48f642f125915276b7ec7827508dd9e83d4c4da91f7b
+PKG_HASH:=651a9ffa0a29e2b646a0a6e0d5a2c8c50f27a07a26a61640b7c783d06d0abcef
 
 PKG_MAINTAINER:=Antti Seppälä <a.seppala@gmail.com>
 PKG_LICENSE:=Apache-2.0
@@ -55,6 +55,7 @@ endef
 define Package/alpine-nossl
 $(call Package/alpine/Default)
   TITLE+= (without OpenSSL support)
+  DEPENDS+= @BROKEN
   VARIANT:=nossl
 endef
 
diff --git a/mail/exim/Makefile b/mail/exim/Makefile
new file mode 100644 (file)
index 0000000..e848ff2
--- /dev/null
@@ -0,0 +1,288 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=exim
+PKG_VERSION:=4.94
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://ftp.exim.org/pub/exim/exim4/
+PKG_HASH:=f77ee8faf04f5db793243c3ae81c1f4e452cd6ad7dd515a80edf755c4b144bdb
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=LICENSE NOTICE
+PKG_CPE_ID:=cpe:/a:exim:exim
+
+PKG_CONFIG_DEPENDS:=\
+       CONFIG_BUILD_NLS \
+       CONFIG_PACKAGE_exim \
+       CONFIG_PACKAGE_exim-gnutls \
+       CONFIG_EXIM_GNUTLS_DANE \
+       CONFIG_PACKAGE_exim-openssl \
+       CONFIG_PACKAGE_exim-ldap \
+       CONFIG_PACKAGE_exim-lookup-mysql \
+       CONFIG_PACKAGE_exim-lookup-pgsql \
+       CONFIG_PACKAGE_exim-lookup-redis \
+       CONFIG_PACKAGE_exim-lookup-sqlite
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/nls.mk
+
+LOOKUPS:= \
+       cdb \
+       dbmdb \
+       dnsdb \
+       json%+PACKAGE_exim-lookup-json:jansson \
+       mysql%+PACKAGE_exim-lookup-mysql:libmariadb \
+       passwd \
+       pgsql%+PACKAGE_exim-lookup-pgsql:libpq \
+       redis%+PACKAGE_exim-lookup-redis:libhiredis \
+       sqlite%+PACKAGE_exim-lookup-sqlite:libsqlite3
+
+define Package/exim/Default
+  SECTION:=mail
+  CATEGORY:=Mail
+  DEPENDS:=+libdb47 +libpcre $(ICONV_DEPENDS) +BUILD_NLS:libidn2 +BUILD_NLS:libidn
+  TITLE:=Exim message transfer agent
+  URL:=http://www.exim.org/
+  USERID:=mail=42:mail=42
+endef
+
+define Package/exim
+  $(call Package/exim/Default)
+  VARIANT:=nossl
+  CONFLICTS:=exim-openssl exim-gnutls exim-ldap
+endef
+
+define Package/exim-gnutls
+  $(call Package/exim/Default)
+  TITLE+=(with GnuTLS)
+  VARIANT:=gnutls
+  DEPENDS+=+PACKAGE_exim-gnutls:libgnutls +EXIM_GNUTLS_DANE:libgnutls-dane
+  PROVIDES:=exim
+  CONFLICTS:=exim-openssl exim-ldap
+endef
+define Package/exim-openssl
+  $(call Package/exim/Default)
+  TITLE+=(with OpenSSL)
+  VARIANT:=openssl
+  DEPENDS+=+PACKAGE_exim-openssl:libopenssl
+  PROVIDES:=exim
+  CONFLICTS:=exim-ldap
+endef
+
+define Package/exim-ldap
+  $(call Package/exim/Default)
+  TITLE+=(with OpenSSL and OpenLDAP)
+  VARIANT:=ldap
+  DEPENDS+=+PACKAGE_exim-ldap:libopenssl +PACKAGE_exim-ldap:libsasl2 +PACKAGE_exim-ldap:libopenldap
+  PROVIDES:=exim
+endef
+
+define Package/exim/Default/description
+Exim is a message transfer agent (MTA) developed at the University of
+Cambridge for use on Unix systems connected to the Internet.
+endef
+
+define Package/exim/description
+$(call Package/exim/Default/description)
+
+This package provides Exim without TLS support.
+endef
+
+define Package/exim-gnutls/description
+$(call Package/exim/Default/description)
+
+This package provides Exim built with GnuTLS.
+endef
+
+define Package/exim-gnutls/config
+       config EXIM_GNUTLS_DANE
+               bool "exim-gnutls DANE support"
+                       depends on PACKAGE_exim-gnutls
+                       default n
+                       help
+                               Build exim-gnutls against libgnutls-dane for DANE support.
+                               libgnutls-dane depends on libunbound which depends on libopenssl.
+endef
+
+define Package/exim-openssl/description
+$(call Package/exim/Default/description)
+
+This package provides Exim built with OpenSSL.
+endef
+
+define Package/exim-ldap/description
+$(call Package/exim/Default/description)
+
+This package provides Exim built with OpenSSL, OpenLDAP and Cyrus SASL.
+endef
+
+define LookupGen
+define Package/exim-lookup-$(subst _,-,$(firstword $(subst %, ,$(1))))
+  SECTION:=mail
+  CATEGORY:=Mail
+  TITLE:=Exim lookup module $(firstword $(subst %, ,$(1)))
+  URL:=http://www.exim.org/
+  DEPENDS:=exim $(wordlist 2,$(words $(subst %, ,$(1))),$(subst %, ,$(1)))
+endef
+endef
+
+$(foreach file,$(LOOKUPS),$(eval $(call LookupGen,$(file))))
+
+define Package/exim/conffiles
+/etc/exim/exim.conf
+endef
+
+TARGET_CFLAGS += $(FPIC) -DNO_IP_OPTIONS -D_FILE_OFFSET_BITS=64
+
+MAKE_VARS += build=Linux-$$(ARCH)
+MAKE_FLAGS += AR="$$(TARGET_AR) r"
+HOST_MAKE_VARS += build=Linux-$$(ARCH)
+
+define Build/Configure
+       $(CP) $(PKG_BUILD_DIR)/src/EDITME $(PKG_BUILD_DIR)/Local/Makefile
+       echo "PID_FILE_PATH=/var/run/exim.pid" >> $(PKG_BUILD_DIR)/Local/Makefile
+       echo "BIN_DIRECTORY=/usr/sbin" >> $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%CONFIGURE_FILE=/usr/exim/configure%CONFIGURE_FILE=/etc/exim/exim.conf%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# EXIM_GROUP=%EXIM_GROUP=42%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# EXIM_USER=exim%EXIM_USER=42%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# INCLUDE=.*%INCLUDE=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# HAVE_IPV6=YES%HAVE_IPV6=YES%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# WITH_CONTENT_SCAN=yes%WITH_CONTENT_SCAN=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# SUPPORT_MAILDIR=yes%SUPPORT_MAILDIR=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# SUPPORT_MAILSTORE=yes%SUPPORT_MAILSTORE=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# SUPPORT_MBX=yes%SUPPORT_MBX=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+# enable lookup modules
+       $(SED) 's%# LOOKUP_DSEARCH=yes%LOOKUP_DSEARCH=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+ifdef CONFIG_PACKAGE_exim-lookup-dbmdb
+       $(SED) 's%LOOKUP_DBM=yes%LOOKUP_DBM=2%' $(PKG_BUILD_DIR)/Local/Makefile
+else
+       $(SED) 's%LOOKUP_DBM=yes%# LOOKUP_DBM=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-dnsdb
+       $(SED) 's%LOOKUP_DNSDB=yes%LOOKUP_DNSDB=2%' $(PKG_BUILD_DIR)/Local/Makefile
+else
+       $(SED) 's%LOOKUP_DNSDB=yes%# LOOKUP_DNSDB=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-passwd
+       $(SED) 's%# LOOKUP_PASSWD=yes%LOOKUP_PASSWD=2%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-cdb
+       $(SED) 's%# LOOKUP_CDB=yes%LOOKUP_CDB=2%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-json
+       $(SED) 's%# LOOKUP_JSON=yes%LOOKUP_JSON=2\
+               \nLOOKUP_JSON_INCLUDE=-I$(STAGING_DIR)/usr/include\
+               \nLOOKUP_JSON_LIBS=-Wl,--no-as-needed -ljansson%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-pgsql
+       $(SED) 's%# LOOKUP_PGSQL=yes%LOOKUP_PGSQL=2\
+               \nLOOKUP_PGSQL_LIBS=-Wl,--no-as-needed -lpq%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-sqlite
+       $(SED) 's%# LOOKUP_SQLITE=yes%LOOKUP_SQLITE=2\
+               \nLOOKUP_SQLITE_LIBS=-Wl,--no-as-needed -lsqlite3%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-mysql
+       $(SED) 's%# LOOKUP_MYSQL=yes%LOOKUP_MYSQL=2\
+               \nLOOKUP_MYSQL_INCLUDE=-I$(STAGING_DIR)/usr/include/mysql\
+               \nLOOKUP_MYSQL_LIBS=-Wl,--no-as-needed -lmysqlclient%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifdef CONFIG_PACKAGE_exim-lookup-redis
+       $(SED) 's%# LOOKUP_REDIS=yes%LOOKUP_REDIS=2\
+               \nLOOKUP_REDIS_INCLUDE=-I$(STAGING_DIR)/usr/include/hiredis\
+               \nLOOKUP_REDIS_LIBS=-Wl,--no-as-needed -lhiredis%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+
+ifeq ($(CONFIG_BUILD_NLS),y)
+       $(SED) 's%# HAVE_ICONV=yes%HAVE_ICONV=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# CFLAGS=-O -I/usr/local/include%CFLAGS=$(TARGET_CFLAGS) $(ICONV_CPPFLAGS)%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# EXTRALIBS_EXIM=-L/usr/local/lib -liconv%EXTRALIBS_EXIM=-export-dynamic -rdynamic $(ICONV_LDFLAGS) -liconv -ldl%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# SUPPORT_I18N_2008=yes%SUPPORT_I18N_2008=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# LDFLAGS += -lidn -lidn2%LDFLAGS += -lidn -lidn2%' $(PKG_BUILD_DIR)/Local/Makefile
+else
+       $(SED) 's%# HAVE_ICONV=yes%HAVE_ICONV=no%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+
+       $(SED) 's%# AUTH_CRAM_MD5=yes%AUTH_CRAM_MD5=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_DOVECOT=yes%AUTH_DOVECOT=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_EXTERNAL=yes%AUTH_EXTERNAL=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_PLAINTEXT=yes%AUTH_PLAINTEXT=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_SPA=yes%AUTH_SPA=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+
+ifeq ($(BUILD_VARIANT),gnutls)
+       $(SED) 's%# USE_GNUTLS=yes%USE_GNUTLS=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# TLS_INCLUDE=-I/usr/local/.*%TLS_INCLUDE=-I$(STAGING_DIR)/usr/include%' $(PKG_BUILD_DIR)/Local/Makefile
+ifeq ($(CONFIG_EXIM_GNUTLS_DANE),y)
+       $(SED) 's%# TLS_LIBS=-lgnutls -lgnutls-dane%TLS_LIBS=-L$(STAGING_DIR)/usr/lib -lgnutls -lgnutls-dane%' $(PKG_BUILD_DIR)/Local/Makefile
+else
+       $(SED) 's%SUPPORT_DANE=yes%# SUPPORT_DANE=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# TLS_LIBS=-lgnutls -lgnutls-dane%TLS_LIBS=-L$(STAGING_DIR)/usr/lib -lgnutls%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+       $(SED) 's%# AUTH_TLS=yes%AUTH_TLS=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifneq ($(filter ldap openssl, $(BUILD_VARIANT)),)
+       $(SED) 's%# USE_OPENSSL=yes%USE_OPENSSL=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# TLS_INCLUDE=-I/usr/local/.*%TLS_INCLUDE=-I$(STAGING_DIR)/usr/include%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# TLS_LIBS=-lssl -lcrypto%TLS_LIBS=-L$(STAGING_DIR)/usr/lib -lssl -lcrypto%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_TLS=yes%AUTH_TLS=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifeq ($(BUILD_VARIANT),ldap)
+       $(SED) 's%# LOOKUP_LDAP=yes%LOOKUP_LDAP=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# LDAP_LIB_TYPE=OPENLDAP2%LDAP_LIB_TYPE=OPENLDAP2%' $(PKG_BUILD_DIR)/Local/Makefile
+       echo "LOOKUP_LIBS+=-lldap -llber" >> $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_CYRUS_SASL=yes%AUTH_CYRUS_SASL=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# AUTH_LIBS=-lsasl2%AUTH_LIBS=-lsasl2%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+ifeq ($(BUILD_VARIANT),nossl)
+       $(SED) 's%# DISABLE_TLS=yes%DISABLE_TLS=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%SUPPORT_DANE=yes%# SUPPORT_DANE=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+endif
+       $(SED) 's%# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC%CFLAGS_DYNAMIC=-shared -rdynamic $(FPIC)%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/%LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(SED) 's%#DLOPEN_LOCAL_SCAN=yes%DLOPEN_LOCAL_SCAN=yes%' $(PKG_BUILD_DIR)/Local/Makefile
+       $(call Build/Compile/Default,makefile)
+       $(CP) $(PKG_BUILD_DIR)/OS/os.h-Linux $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       # overwrite types for cross-compile
+       # (is all the below true for glibc as well?)
+       echo '#include <inttypes.h>' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#define ip_options ip_opts' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#undef OFF_T_FMT' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#define OFF_T_FMT "%" PRId64' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#undef LONGLONG_T' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#define LONGLONG_T int64_t' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#ifndef NS_MAXMSG' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#define NS_MAXMSG 65535' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       echo '#endif' >> $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/os.h
+       $(HOST_MAKE_VARS) $(MAKE) $(HOST_MAKE_FLAGS) $(HOST_MAKE_VARS) -C $(PKG_BUILD_DIR)/build-Linux-$(ARCH) macro_predef
+endef
+
+define Package/exim/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/exim $(1)/usr/sbin
+endef
+
+Package/exim-gnutls/install = $(Package/exim/install)
+Package/exim-openssl/install = $(Package/exim/install)
+Package/exim-ldap/install = $(Package/exim/install)
+
+define LookupInstall
+define Package/exim-lookup-$(subst _,-,$(firstword $(subst %, ,$(1))))/install
+       $(INSTALL_DIR) $$(1)/usr/lib/exim/lookups
+       $(INSTALL_BIN) \
+               $(PKG_BUILD_DIR)/build-Linux-$(ARCH)/lookups/$(firstword $(subst %, ,$(1))).so \
+               $$(1)/usr/lib/exim/lookups
+endef
+endef
+
+$(foreach file,$(LOOKUPS),$(eval $(call LookupInstall,$(file))))
+
+$(eval $(call BuildPackage,exim))
+$(eval $(call BuildPackage,exim-gnutls))
+$(eval $(call BuildPackage,exim-openssl))
+$(eval $(call BuildPackage,exim-ldap))
+$(foreach file,$(LOOKUPS),$(eval $(call BuildPackage,exim-lookup-$(subst _,-,$(firstword $(subst %, ,$(file)))))))
diff --git a/mail/exim/patches/010-allow-json-dynamic-lookup.patch b/mail/exim/patches/010-allow-json-dynamic-lookup.patch
new file mode 100644 (file)
index 0000000..39b6ae9
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/drtables.c
++++ b/src/drtables.c
+@@ -662,7 +662,7 @@ addlookupmodule(NULL, &ibase_lookup_modu
+ addlookupmodule(NULL, &ldap_lookup_module_info);
+ #endif
+-#ifdef LOOKUP_JSON
++#if defined(LOOKUP_JSON) && LOOKUP_JSON!=2
+ addlookupmodule(NULL, &json_lookup_module_info);
+ #endif
diff --git a/mail/exim/patches/020-use-correct-printf-format-for-size-t.patch b/mail/exim/patches/020-use-correct-printf-format-for-size-t.patch
new file mode 100644 (file)
index 0000000..6dc3c1b
--- /dev/null
@@ -0,0 +1,22 @@
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Sun, 27 Dec 2020 15:03:22 +0000
+Subject: [PATCH] use correct printf format for size_t
+
+pdkim.c: In function 'check_bare_ed25519_pubkey':
+pdkim.c:1355:60: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
+   DEBUG(D_acl) debug_printf("DKIM: unexpected pubkey len %lu\n", p->key.len);
+                                                             ~~^     ~~~~~~~~~~
+                                                                                                                       %u
+Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+---
+--- a/src/pdkim/pdkim.c
++++ b/src/pdkim/pdkim.c
+@@ -1352,7 +1352,7 @@ check_bare_ed25519_pubkey(pdkim_pubkey *
+ int excess = p->key.len - 32;
+ if (excess > 0)
+   {
+-  DEBUG(D_acl) debug_printf("DKIM: unexpected pubkey len %lu\n", p->key.len);
++  DEBUG(D_acl) debug_printf("DKIM: unexpected pubkey len %zu\n", p->key.len);
+   p->key.data += excess; p->key.len = 32;
+   }
+ }
diff --git a/mail/exim/patches/100-localscan_dlopen.patch b/mail/exim/patches/100-localscan_dlopen.patch
new file mode 100644 (file)
index 0000000..215a424
--- /dev/null
@@ -0,0 +1,258 @@
+--- a/src/config.h.defaults
++++ b/src/config.h.defaults
+@@ -33,6 +33,8 @@ Do not put spaces between # and the 'def
+ #define AUTH_VARS                     3
++#define DLOPEN_LOCAL_SCAN
++
+ #define BIN_DIRECTORY
+ #define CONFIGURE_FILE
+--- a/src/EDITME
++++ b/src/EDITME
+@@ -877,6 +877,24 @@ HEADERS_CHARSET="ISO-8859-1"
+ #------------------------------------------------------------------------------
++# On systems which support dynamic loading of shared libraries, Exim can
++# load a local_scan function specified in its config file instead of having
++# to be recompiled with the desired local_scan function. For a full
++# description of the API to this function, see the Exim specification.
++
++#DLOPEN_LOCAL_SCAN=yes
++
++# If you set DLOPEN_LOCAL_SCAN, then you need to include -rdynamic in the
++# linker flags.  Without it, the loaded .so won't be able to access any
++# functions from exim.
++
++LFLAGS = -rdynamic
++ifeq ($(OSTYPE),Linux)
++LFLAGS += -ldl
++endif
++
++
++#------------------------------------------------------------------------------
+ # The default distribution of Exim contains only the plain text form of the
+ # documentation. Other forms are available separately. If you want to install
+ # the documentation in "info" format, first fetch the Texinfo documentation
+--- a/src/globals.c
++++ b/src/globals.c
+@@ -42,6 +42,10 @@ int     optionlist_auths_size = nelem(op
+ uschar *no_aliases             = NULL;
++#ifdef DLOPEN_LOCAL_SCAN
++uschar *local_scan_path        = NULL;
++#endif
++
+ /* For comments on these variables, see globals.h. I'm too idle to
+ duplicate them here... */
+--- a/src/globals.h
++++ b/src/globals.h
+@@ -162,6 +162,9 @@ extern int (*receive_feof)(void);
+ extern int (*receive_ferror)(void);
+ extern BOOL (*receive_smtp_buffered)(void);
++#ifdef DLOPEN_LOCAL_SCAN
++extern uschar *local_scan_path;        /* Path to local_scan() library */
++#endif
+ /* For clearing, saving, restoring address expansion variables. We have to have
+ the size of this vector set explicitly, because it is referenced from more than
+--- a/src/local_scan.c
++++ b/src/local_scan.c
+@@ -5,61 +5,133 @@
+ /* Copyright (c) University of Cambridge 1995 - 2009 */
+ /* See the file NOTICE for conditions of use and distribution. */
+-
+-/******************************************************************************
+-This file contains a template local_scan() function that just returns ACCEPT.
+-If you want to implement your own version, you should copy this file to, say
+-Local/local_scan.c, and edit the copy. To use your version instead of the
+-default, you must set
+-
+-HAVE_LOCAL_SCAN=yes
+-LOCAL_SCAN_SOURCE=Local/local_scan.c
+-
+-in your Local/Makefile. This makes it easy to copy your version for use with
+-subsequent Exim releases.
+-
+-For a full description of the API to this function, see the Exim specification.
+-******************************************************************************/
+-
+-
+-/* This is the only Exim header that you should include. The effect of
+-including any other Exim header is not defined, and may change from release to
+-release. Use only the documented interface! */
+-
+ #include "local_scan.h"
+-
+-/* This is a "do-nothing" version of a local_scan() function. The arguments
+-are:
+-
+-  fd             The file descriptor of the open -D file, which contains the
+-                   body of the message. The file is open for reading and
+-                   writing, but modifying it is dangerous and not recommended.
+-
+-  return_text    A pointer to an unsigned char* variable which you can set in
+-                   order to return a text string. It is initialized to NULL.
+-
+-The return values of this function are:
+-
+-  LOCAL_SCAN_ACCEPT
+-                 The message is to be accepted. The return_text argument is
+-                   saved in $local_scan_data.
+-
+-  LOCAL_SCAN_REJECT
+-                 The message is to be rejected. The returned text is used
+-                   in the rejection message.
+-
+-  LOCAL_SCAN_TEMPREJECT
+-                 This specifies a temporary rejection. The returned text
+-                   is used in the rejection message.
+-*/
++#ifdef DLOPEN_LOCAL_SCAN
++#include <stdlib.h>
++#include <dlfcn.h>
++static int (*local_scan_fn)(int fd, uschar **return_text) = NULL;
++static int load_local_scan_library(void);
++extern uschar *local_scan_path;        /* Path to local_scan() library */
++#endif
+ int
+ local_scan(int fd, uschar **return_text)
+ {
+ fd = fd;                      /* Keep picky compilers happy */
+ return_text = return_text;
+-return LOCAL_SCAN_ACCEPT;
++#ifdef DLOPEN_LOCAL_SCAN
++/* local_scan_path is defined AND not the empty string */
++if (local_scan_path && *local_scan_path)
++  {
++  if (!local_scan_fn)
++    {
++    if (!load_local_scan_library())
++      {
++        char *base_msg , *error_msg , *final_msg ;
++        int final_length = -1 ;
++
++        base_msg=US"Local configuration error - local_scan() library failure\n";
++        error_msg = dlerror() ;
++
++        final_length = strlen(base_msg) + strlen(error_msg) + 1 ;
++        final_msg = (char*)malloc( final_length*sizeof(char) ) ;
++        *final_msg = '\0' ;
++
++        strcat( final_msg , base_msg ) ;
++        strcat( final_msg , error_msg ) ;
++
++        *return_text = final_msg ;
++      return LOCAL_SCAN_TEMPREJECT;
++      }
++    }
++    return local_scan_fn(fd, return_text);
++  }
++else
++#endif
++  return LOCAL_SCAN_ACCEPT;
+ }
++#ifdef DLOPEN_LOCAL_SCAN
++
++static int load_local_scan_library(void)
++{
++/* No point in keeping local_scan_lib since we'll never dlclose() anyway */
++void *local_scan_lib = NULL;
++int (*local_scan_version_fn)(void);
++int vers_maj;
++int vers_min;
++
++local_scan_lib = dlopen(local_scan_path, RTLD_NOW);
++if (!local_scan_lib)
++  {
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library open failed - "
++    "message temporarily rejected");
++  return FALSE;
++  }
++
++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_major");
++if (!local_scan_version_fn)
++  {
++  dlclose(local_scan_lib);
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++    "local_scan_version_major() function - message temporarily rejected");
++  return FALSE;
++  }
++
++/* The major number is increased when the ABI is changed in a non
++   backward compatible way. */
++vers_maj = local_scan_version_fn();
++
++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_minor");
++if (!local_scan_version_fn)
++  {
++  dlclose(local_scan_lib);
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++    "local_scan_version_minor() function - message temporarily rejected");
++  return FALSE;
++  }
++
++/* The minor number is increased each time a new feature is added (in a
++   way that doesn't break backward compatibility) -- Marc */
++vers_min = local_scan_version_fn();
++
++
++if (vers_maj != LOCAL_SCAN_ABI_VERSION_MAJOR)
++  {
++  dlclose(local_scan_lib);
++  local_scan_lib = NULL;
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major"
++    "version number, you need to recompile your module for this version"
++    "of exim (The module was compiled for version %d.%d and this exim provides"
++    "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
++    LOCAL_SCAN_ABI_VERSION_MINOR);
++  return FALSE;
++  }
++else if (vers_min > LOCAL_SCAN_ABI_VERSION_MINOR)
++  {
++  dlclose(local_scan_lib);
++  local_scan_lib = NULL;
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor"
++    "version number, you need to recompile your module for this version"
++    "of exim (The module was compiled for version %d.%d and this exim provides"
++    "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
++    LOCAL_SCAN_ABI_VERSION_MINOR);
++  return FALSE;
++  }
++
++local_scan_fn = dlsym(local_scan_lib, "local_scan");
++if (!local_scan_fn)
++  {
++  dlclose(local_scan_lib);
++  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++    "local_scan() function - message temporarily rejected");
++  return FALSE;
++  }
++
++return TRUE;
++}
++
++#endif /* DLOPEN_LOCAL_SCAN */
++
+ /* End of local_scan.c */
+--- a/src/readconf.c
++++ b/src/readconf.c
+@@ -205,6 +205,9 @@ static optionlist optionlist_config[] =
+   { "local_from_prefix",        opt_stringptr,   {&local_from_prefix} },
+   { "local_from_suffix",        opt_stringptr,   {&local_from_suffix} },
+   { "local_interfaces",         opt_stringptr,   {&local_interfaces} },
++#ifdef DLOPEN_LOCAL_SCAN
++  { "local_scan_path",          opt_stringptr,   {&local_scan_path} },
++#endif
+ #ifdef HAVE_LOCAL_SCAN
+   { "local_scan_timeout",       opt_time,        {&local_scan_timeout} },
+ #endif
index ded120fa34e3b7c982571f2c04ea6ebe9fa943d4..d4c1c2562e4d2f12bb3cf6e9ce5d02472fe8dd02 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opendkim
 PKG_VERSION:=2.10.3
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
@@ -40,7 +40,7 @@ endef
 define Package/libopendkim
   SECTION:=mail
   CATEGORY:=Libraries
-  DEPENDS:=+libopenssl +libmilter-sendmail
+  DEPENDS:=+libopenssl +libmilter-sendmail +USE_GLIBC:libbsd
   TITLE:=Library for signing and verifying DKIM signatures
   URL:=http://opendkim.org/
 endef
index 744ce331d4b68e926e34b2f46fdcc4aecf30ad94..0f044822a2fe0dbf6e1f118a764848bf45f3d0e0 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=postfix
-PKG_VERSION:=3.5.7
-PKG_RELEASE:=2
+PKG_VERSION:=3.5.8
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= \
        https://cdn.postfix.johnriley.me/mirrors/postfix-release/official/ \
        http://ftp.porcupine.org/mirrors/postfix-release/official/
-PKG_HASH:=b7a474f14e153dc7cbf6af38419729bc5af5c3c37aecf6b327a8f962158f0961
+PKG_HASH:=22582628cf3edc18c5155c9ff44543dd95a9435fb68135d76a99f572cb07456f
 
 PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
 PKG_LICENSE:=IPL-1.0
@@ -179,6 +179,7 @@ else
 endif
 
 CCARGS+=-DDEF_DB_TYPE=\"$(default_database_type)\"
+TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lresolv)
 
 # prevent postfix-install from executing postconf at build time
 # by explicitly providing the default values to postfix-install
@@ -216,7 +217,7 @@ endef
 
 define Build/Compile
        # Currently postfix has a bug with Makefiles that CCARGS are not passed to the compiler, so we are copying them to CC as a workaround
-       cd $(PKG_BUILD_DIR); $(MAKE) $(TARGET_CONFIGURE_OPTS) CC='$(TARGET_CC) $(CCARGS)'
+       cd $(PKG_BUILD_DIR); $(MAKE) $(TARGET_CONFIGURE_OPTS) CC='$(TARGET_CC) $(CCARGS) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)'
        $(foreach p, \
                default_database_type config_directory command_directory daemon_directory \
                shlib_directory manpage_directory data_directory queue_directory \
index e991577054da98b956c9e0ad1523c5449cb88500..1ae9359fbbeb21ac8c7a31fd57dd514eae83f850 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/util/dict_db.c
 +++ b/src/util/dict_db.c
-@@ -750,8 +750,8 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
+@@ -750,8 +750,8 @@ static DICT *dict_db_open(const char *cl
        msg_fatal("create DB database: %m");
      if (db == 0)
        msg_panic("db_create null result");
index 2b25a33e01fb71f548104a7d70472bb05998bf57..074d03095de80e7a39ff48f7e185a85d1d722156 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/util/sys_defs.h
 +++ b/src/util/sys_defs.h
-@@ -760,9 +760,8 @@ extern int initgroups(const char *, int);
+@@ -760,9 +760,8 @@ extern int initgroups(const char *, int)
  #define INTERNAL_LOCK MYFLOCK_STYLE_FLOCK
  #define DEF_MAILBOX_LOCK "fcntl, dotlock"     /* RedHat >= 4.x */
  #define HAS_FSYNC
index dc10774487c1a0d2a87341a1b9f5cd88e8584e50..c7448a3a1a3b7a36737eaa780bd1a63aec52447e 100644 (file)
@@ -9,7 +9,7 @@
      RELEASE=`(uname -r) 2>/dev/null`
      # No ${x%%y} support in Solaris 11 /bin/sh
      RELEASE_MAJOR=`expr "$RELEASE" : '\([0-9]*\)'` || exit 1
-@@ -229,6 +229,15 @@ case $# in
+@@ -242,6 +242,15 @@ case "$SYSTEM" in
  esac
  
  case "$SYSTEM.$RELEASE" in
diff --git a/mail/postfix/patches/950-dns_lookup-Fix-compilation-with-uClibc-ng.patch b/mail/postfix/patches/950-dns_lookup-Fix-compilation-with-uClibc-ng.patch
deleted file mode 100644 (file)
index 2bc874f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4fe5b1f216f1643080299bdb35e07f07b9c2caae Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Thu, 2 May 2019 22:28:57 -0700
-Subject: [PATCH] dns_lookup: Fix compilation with uClibc-ng
-
-uClibc-ng does not have res_send or res_nsend. ifdef the entire function.
----
- src/dns/dns_lookup.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/dns/dns_lookup.c b/src/dns/dns_lookup.c
-index 1ea98b3..d7771d4 100644
---- a/src/dns/dns_lookup.c
-+++ b/src/dns/dns_lookup.c
-@@ -311,6 +311,10 @@ typedef struct DNS_REPLY {
- static int dns_res_query(const char *name, int class, int type,
-                                unsigned char *answer, int anslen)
- {
-+#ifdef __UCLIBC__
-+    msg_info("dns_res_query() is not supported under uClibc");
-+    return 0;
-+#else
-     unsigned char msg_buf[MAX_DNS_QUERY_SIZE];
-     HEADER *reply_header = (HEADER *) answer;
-     int     len;
-@@ -369,6 +373,7 @@ static int dns_res_query(const char *name, int class, int type,
-       }
-       return (len);
-     }
-+#endif
- }
- /* dns_res_search - res_search() that can return negative replies */
--- 
-2.17.1
-
index d4be726264e5c5c799edb4e004821833bf5bbec2..c84e620d077456d31d082c83ef9128e2556d7325 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gerbera
 PKG_VERSION:=1.6.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)?
index b92d42ff8ff65aa6aa742d13b373f9976092451e..a4990a71eaa61ef2546a520ec8e8e92ff7a8762d 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gphoto2
-PKG_VERSION:=2.5.23
-PKG_RELEASE:=2
+PKG_VERSION:=2.5.26
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1
+PKG_HASH:=7653213b05329c1dc2779efea3eff00504e12011436587aedc9aaa1e8665ab2f
 
 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
 PKG_LICENSE:=GPL-2.0
@@ -43,12 +43,8 @@ CONFIGURE_ARGS += \
        --without-aalib
 
 CONFIGURE_VARS += \
-       LIBGPHOTO2_CFLAGS="$$$$CFLAGS -I$(STAGING_DIR)/usr/include/gphoto2 $$$$CPPFLAGS" \
-       LIBGPHOTO2_LIBS="$$$$LDFLAGS -lgphoto2 -lgphoto2_port -lltdl" \
-       LIBEXIF_CFLAGS="$$$$CFLAGS $$$$CPPFLAGS" \
-       LIBEXIF_LIBS="$$$$LDFLAGS -lexif" \
-       POPT_CFLAGS="$$$$CFLAGS $$$$CPPFLAGS" \
-       POPT_LIBS="$$$$LDFLAGS -lpopt" \
+       POPT_CFLAGS="-I$(STAGING_DIR)/usr/include" \
+       POPT_LIBS="-L$(STAGING_DIR)/usr/lib -lpopt"
 
 define Package/gphoto2/install
        $(INSTALL_DIR) $(1)/usr/bin
index 03adc5424250c164e9d1bc572de43d930444adbf..c2930c6d88b7823e14a69fed1f8d3965b9ecb682 100644 (file)
@@ -19,7 +19,7 @@
  all: config.h
 --- a/configure.ac
 +++ b/configure.ac
-@@ -58,10 +58,7 @@ dnl ---------------------------------------------------------------------------
+@@ -58,10 +58,7 @@ dnl ------------------------------------
  GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
  ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
  AM_GNU_GETTEXT_VERSION([0.14.1])
index 7eb7d016ce49f48902b66cdda002b062aa824501..ff104fdebd34d43f545417085728e07d76450f30 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=graphicsmagick
 PKG_VERSION:=1.3.35
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/GraphicsMagick-$(PKG_VERSION)
 PKG_SOURCE:=GraphicsMagick-$(PKG_VERSION).tar.bz2
@@ -73,7 +73,7 @@ CONFIGURE_ARGS += \
        --without-zstd \
        --without-x
 
-TARGET_CFLAGS += -flto
+TARGET_CFLAGS += $(if $(CONFIG_GCC_USE_VERSION_10),,-flto)
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
index 56581a37bbd8293c56f27b2a29dc745023d125ea..25db032b507edd196761b23964c64c831850a4a7 100644 (file)
@@ -8,13 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=minidlna
-PKG_RELEASE:=8
+PKG_VERSION:=1.3.0
+PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://git.code.sf.net/p/minidlna/git
-PKG_SOURCE_DATE:=2019-12-09
-PKG_SOURCE_VERSION:=0763719f2776f91114bc5564919896f28e078c77
-PKG_MIRROR_HASH:=93030a80eff44c0ec13f54daf3b2ba345b70ef8645e0343a34092f37d6f9e8dd
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@SF/minidlna
+PKG_HASH:=47d9b06b4c48801a4c1112ec23d24782728b5495e95ec2195bbe5c81bc2d3c63
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later BSD-3-Clause
@@ -23,7 +22,6 @@ PKG_LICENSE_FILES:=COPYING LICENCE.miniupnpd
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=util-linux
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -34,8 +32,7 @@ define Package/minidlna
   TITLE:=UPnP A/V & DLNA Media Server
   URL:=http://minidlna.sourceforge.net/
   DEPENDS:= +libpthread +libexif +libjpeg +libsqlite3 +libffmpeg \
-       +libid3tag +libflac +libvorbis +libuuid \
-       $(ICONV_DEPENDS) $(INTL_DEPENDS)
+       +libid3tag +libflac +libvorbis $(ICONV_DEPENDS) $(INTL_DEPENDS)
   USERID:=minidlna:minidlna
 endef
 
@@ -57,8 +54,6 @@ CONFIGURE_ARGS += \
        --with-db-path="/var/run/minidlna" \
        --with-log-path="/var/log"
 
-TARGET_CFLAGS += -DHAVE_CLOCK_GETTIME
-
 define Package/minidlna/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/minidlnad $(1)/usr/sbin/minidlnad
index 7d9f6b6373d740db9cc68ca3ec47b3a23cc07d8f..f16514cbbf3c660353b2f11eeb2db1fd43b841fe 100644 (file)
@@ -2,7 +2,7 @@
 +++ b/Makefile.am
 @@ -17,7 +17,7 @@
  
- AM_CFLAGS = -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 @STATIC_CFLAGS@
+ AM_CFLAGS = -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
  
 -SUBDIRS=po
 +SUBDIRS=
  check_PROGRAMS = testupnpdescgen
 --- a/configure.ac
 +++ b/configure.ac
-@@ -647,6 +647,8 @@ case "$target_os" in
+@@ -658,6 +658,5 @@ case "$target_os" in
  esac
  
  
 -AC_OUTPUT([ po/Makefile.in
 -Makefile
 -])
-+# AC_OUTPUT([ po/Makefile.in
-+# Makefile
-+# ])
 +AC_CONFIG_FILES([Makefile])
 +AC_OUTPUT
index 86f6505182eb4f3a653670c96e311b4291998573..ddf354f2d4053dde7d566249d84b4e1045b72829 100644 (file)
@@ -9,11 +9,9 @@ Subject: [PATCH] Added support RMVB.
  utils.c          | 3 +++
  3 files changed, 9 insertions(+), 1 deletion(-)
 
-diff --git a/metadata.c b/metadata.c
-index 9cd86dc..2d13480 100644
 --- a/metadata.c
 +++ b/metadata.c
-@@ -862,6 +862,10 @@ GetVideoMetadata(const char *path, const char *name)
+@@ -862,6 +862,10 @@ GetVideoMetadata(const char *path, const
                        xasprintf(&m.mime, "video/x-matroska");
                else if( strcmp(ctx->iformat->name, "flv") == 0 )
                        xasprintf(&m.mime, "video/x-flv");
@@ -24,8 +22,6 @@ index 9cd86dc..2d13480 100644
                if( m.mime )
                        goto video_no_dlna;
  
-diff --git a/upnpglobalvars.h b/upnpglobalvars.h
-index 1a2fb5e..2cbe24c 100644
 --- a/upnpglobalvars.h
 +++ b/upnpglobalvars.h
 @@ -172,7 +172,8 @@
@@ -38,8 +34,6 @@ index 1a2fb5e..2cbe24c 100644
  
  #define DLNA_FLAG_DLNA_V1_5      0x00100000
  #define DLNA_FLAG_HTTP_STALLING  0x00200000
-diff --git a/utils.c b/utils.c
-index dc936f9..006f611 100644
 --- a/utils.c
 +++ b/utils.c
 @@ -377,6 +377,8 @@ mime_to_ext(const char * mime)
@@ -59,6 +53,3 @@ index dc936f9..006f611 100644
  #ifdef TIVO_SUPPORT
                ends_with(file, ".TiVo") ||
  #endif
--- 
-2.20.1
-
diff --git a/multimedia/minidlna/patches/010-lg.patch b/multimedia/minidlna/patches/010-lg.patch
deleted file mode 100644 (file)
index 1fb48b1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From eb473817d73b8740f27955f93950029fdfc9d73e Mon Sep 17 00:00:00 2001
-From: Daniel Kamil Kozar <dkk089@gmail.com>
-Date: Sat, 15 Dec 2018 00:55:20 +0100
-Subject: [PATCH] LG webOS 3.5 devices require audio/flac in order to detect
- FLAC
-
-Imported from https://sourceforge.net/p/minidlna/patches/176/
----
- clients.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/clients.c b/clients.c
-index 42f0d1c..d324eab 100644
---- a/clients.c
-+++ b/clients.c
-@@ -164,7 +164,7 @@ struct client_type_s client_types[] =
-       /* USER-AGENT: Linux/2.6.35 UPnP/1.0 DLNADOC/1.50 INTEL_NMPR/2.0 LGE_DLNA_SDK/1.6.0 */
-       { ELGNetCastDevice,
--        FLAG_DLNA | FLAG_CAPTION_RES,
-+        FLAG_DLNA | FLAG_CAPTION_RES | FLAG_MIME_FLAC_FLAC,
-         "LG",
-         "LGE_DLNA_SDK/1.6.0",
-         EUserAgent
index 4733b32fe242b0de79ea587267bb27f270eb142a..859e9f437e7b1fc7c937e4493501ad5ef705d901 100644 (file)
@@ -9,8 +9,6 @@ Subject: [PATCH] Wrap container definitions into a structure
  scanner.c    | 33 ++++++---------------------------
  3 files changed, 39 insertions(+), 27 deletions(-)
 
-diff --git a/containers.c b/containers.c
-index f5cece1..19a0bb1 100644
 --- a/containers.c
 +++ b/containers.c
 @@ -23,6 +23,31 @@
@@ -45,8 +43,6 @@ index f5cece1..19a0bb1 100644
  #define NINETY_DAYS "7776000"
  
  const char *music_id = MUSIC_ID;
-diff --git a/containers.h b/containers.h
-index aef77c5..1fcf7cd 100644
 --- a/containers.h
 +++ b/containers.h
 @@ -16,6 +16,14 @@
@@ -64,11 +60,9 @@ index aef77c5..1fcf7cd 100644
  struct magic_container_s {
        const char *name;
        const char *objectid_match;
-diff --git a/scanner.c b/scanner.c
-index a730567..eb26c9e 100644
 --- a/scanner.c
 +++ b/scanner.c
-@@ -529,30 +529,7 @@ insert_file(const char *name, const char *path, const char *parentID, int object
+@@ -529,30 +529,7 @@ insert_file(const char *name, const char
  int
  CreateDatabase(void)
  {
index 44a27665bd2a9ea50ed290653bb928ccae14dfb8..84a818835a29cc3c17c31514cedf58f9cf304327 100644 (file)
@@ -12,7 +12,7 @@ Subject: [PATCH] Mark all instances of magic_container_s as const
 
 --- a/containers.c
 +++ b/containers.c
-@@ -50,23 +50,23 @@
+@@ -50,23 +50,23 @@ const struct container_s containers[] =
  
  #define NINETY_DAYS "7776000"
  
@@ -96,7 +96,7 @@ Subject: [PATCH] Mark all instances of magic_container_s as const
                if( sql_get_int_field(db, "SELECT 1 from OBJECTS where OBJECT_ID = '%s'", magic->objectid_match) == 0 )
 --- a/upnpsoap.c
 +++ b/upnpsoap.c
-@@ -800,7 +800,7 @@ add_res(char *size, char *duration, char
+@@ -804,7 +804,7 @@ add_res(char *size, char *duration, char
  }
  
  static int
@@ -105,7 +105,7 @@ Subject: [PATCH] Mark all instances of magic_container_s as const
  {
        int ret;
  
-@@ -1297,7 +1297,7 @@ BrowseContentDirectory(struct upnphttp *
+@@ -1301,7 +1301,7 @@ BrowseContentDirectory(struct upnphttp *
                        "<Result>"
                        "&lt;DIDL-Lite"
                        CONTENT_DIRECTORY_SCHEMAS;
@@ -114,7 +114,7 @@ Subject: [PATCH] Mark all instances of magic_container_s as const
        char *zErrMsg = NULL;
        char *sql, *ptr;
        struct Response args;
-@@ -1819,7 +1819,7 @@ SearchContentDirectory(struct upnphttp *
+@@ -1823,7 +1823,7 @@ SearchContentDirectory(struct upnphttp *
                        "<Result>"
                        "&lt;DIDL-Lite"
                        CONTENT_DIRECTORY_SCHEMAS;
index 5c2d3139638202fd73cacaef21544691348b3f42..74a3e249a4f999a0d0de61695b4cd0a666b08d7f 100644 (file)
@@ -7,8 +7,6 @@ Subject: [PATCH] What about David Bowie's "Heroes"?
  utils.c | 7 -------
  1 file changed, 7 deletions(-)
 
-diff --git a/utils.c b/utils.c
-index dc936f9..dfa2b65 100644
 --- a/utils.c
 +++ b/utils.c
 @@ -87,13 +87,6 @@ trim(char *str)
index 7109dd94ec41d7643f6f786910be6f16f1a259bb..ec0e6d3736fed8d912ce4225dc9dc3031b780dc9 100644 (file)
@@ -7,11 +7,9 @@ Subject: [PATCH] No return in a function returning non-void
  upnpdescgen.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/upnpdescgen.c b/upnpdescgen.c
-index 85ce185..78d5754 100644
 --- a/upnpdescgen.c
 +++ b/upnpdescgen.c
-@@ -525,6 +525,7 @@ genXML(char *str, int *len, int *tmplen, const struct XMLElt *p)
+@@ -525,6 +525,7 @@ genXML(char * str, int * len, int * tmpl
                        pile[top].eltname = eltname;
                }
        }
diff --git a/multimedia/minidlna/patches/999-05-fix-setjmp-buffer-multiple-def.patch b/multimedia/minidlna/patches/999-05-fix-setjmp-buffer-multiple-def.patch
deleted file mode 100644 (file)
index a4a2137..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/image_utils.c
-+++ b/image_utils.c
-@@ -190,7 +190,7 @@ jpeg_memory_src(j_decompress_ptr cinfo,
-       src->pub.bytes_in_buffer = bufsize;
- }
--jmp_buf setjmp_buffer;
-+static jmp_buf setjmp_buffer;
- /* Don't exit on error like libjpeg likes to do */
- static void
- libjpeg_error_handler(j_common_ptr cinfo)
---- a/metadata.c
-+++ b/metadata.c
-@@ -502,7 +502,7 @@ GetAudioMetadata(const char *path, const
- }
- /* For libjpeg error handling */
--jmp_buf setjmp_buffer;
-+static jmp_buf setjmp_buffer;
- static void
- libjpeg_error_handler(j_common_ptr cinfo)
- {
index 9bedabf2731b16ddff81894f70ed1966cf3879c9..7f4e515f249da520e44a212ff249e6fd43c191c7 100644 (file)
@@ -7,17 +7,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=v4l2rtspserver
-PKG_VERSION:=0.1.9
+PKG_VERSION:=0.2.1
 PKG_RELEASE:=1
 
 #cannot use codeload as this uses submodules
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/mpromonet/v4l2rtspserver
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=bcb68170f6b6a3560902673c4145d0311d4f661b2ed3d71ed1ee1a58bdde96d2
+PKG_MIRROR_HASH:=ddc4217ee12e57a4c248b6667309559323458028dc0fa085942b91dbbcd74146
 
-LIVE555_VERSION:=2019.11.22
-LIVE555_HASH:=cd10fbd2d28d0bc39c12ec57b9f6b13fab3bfc7005f5ac8f9c94a9eb34179e90
+LIVE555_VERSION:=2020.11.29
+LIVE555_HASH:=0300f1f0b92529909623d3e870edeadff9841bbc9097a481a8583c5b9a6cc3ae
 LIVE555_FILE:=live.$(LIVE555_VERSION).tar.gz
 
 PKG_MAINTAINER:=Roger Dammit <rogerdammit@gmail.com>
@@ -56,7 +56,9 @@ endef
 TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 
-CMAKE_OPTIONS += -DALSA=OFF -DLIVE555CFLAGS="$(TARGET_CFLAGS) -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED -DNO_SSTREAM=1 -DALLOW_RTSP_SERVER_PORT_REUSE=1 -DVERSION=\\\"$(PKG_VERSION)\\\""
+CMAKE_OPTIONS += \
+       -DALSA=OFF \
+       -DLIVE555CFLAGS=" -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED -DNO_SSTREAM=1 -DALLOW_RTSP_SERVER_PORT_REUSE=1 -DNO_OPENSSL"
 
 define Build/Prepare
        $(Build/Prepare/Default)
diff --git a/multimedia/v4l2rtspserver/patches/010-live555.patch b/multimedia/v4l2rtspserver/patches/010-live555.patch
new file mode 100644 (file)
index 0000000..bb713cf
--- /dev/null
@@ -0,0 +1,41 @@
+From f0f04b7315f59b3a9b814c13c705d4354d0c0626 Mon Sep 17 00:00:00 2001
+From: mpromonet <michel.promonet@free.fr>
+Date: Fri, 27 Nov 2020 19:36:43 +0100
+Subject: [PATCH] fix #216: allow to build with live555 newer than 2020.11.27
+ (2020.11.25 & 2020.11.26 doesnot build)
+
+---
+ inc/HTTPServer.h | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/inc/HTTPServer.h
++++ b/inc/HTTPServer.h
+@@ -113,13 +113,18 @@ class TCPSink: public MediaSink {
+ // ---------------------------------------------------------
+ //  Extend RTSP server to add support for HLS and MPEG-DASH
+ // ---------------------------------------------------------
++#if LIVEMEDIA_LIBRARY_VERSION_INT < 1606435200
++#define SOCKETCLIENT sockaddr_in 
++#else
++#define SOCKETCLIENT sockaddr_storage 
++#endif
+ class HTTPServer : public RTSPServer
+ {
+       class HTTPClientConnection : public RTSPServer::RTSPClientConnection
+       {
+               public:
+-                      HTTPClientConnection(RTSPServer& ourServer, int clientSocket, struct sockaddr_in clientAddr)
++                      HTTPClientConnection(RTSPServer& ourServer, int clientSocket, struct SOCKETCLIENT clientAddr)
+                      : RTSPServer::RTSPClientConnection(ourServer, clientSocket, clientAddr), m_TCPSink(NULL), m_StreamToken(NULL), m_Subsession(NULL), m_Source(NULL) {
+                       }
+                       virtual ~HTTPClientConnection();
+@@ -165,7 +170,7 @@ class HTTPServer : public RTSPServer
+                        }
+               }
+-              RTSPServer::RTSPClientConnection* createNewClientConnection(int clientSocket, struct sockaddr_in clientAddr) 
++              RTSPServer::RTSPClientConnection* createNewClientConnection(int clientSocket, struct SOCKETCLIENT clientAddr) 
+               {
+                       return new HTTPClientConnection(*this, clientSocket, clientAddr);
+               }
index c9573c34d2759d74e0a02f4cb8fce9c301a68ffc..b3aa201a703b6d8731b0f1d5b79ea76d585390e3 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=youtube-dl
-PKG_VERSION:=2020.11.1.1
+PKG_VERSION:=2020.12.7
 PKG_RELEASE:=1
 
 PYPI_NAME:=youtube_dl
-PKG_HASH:=b73379d6b08f03aec49a1899affe4cfd35bb92002dbdb3a3a1435a5811d4f120
+PKG_HASH:=bd127c3251a8e9f7a0eb18e4bbcf98409c0365354f735c985325bc19af669a24
 
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
 PKG_LICENSE:=Unlicense
index e6068f7ca1679996c51faff434350f5688b10b09..81be42b7e8ac5b068f1738615bd5994682dadc35 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=4.0.7
+PKG_VERSION:=4.0.8
 PKG_RELEASE:=3
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index 6b9f292749d86e07b17edebd295b2c486054bd96..bf68613491ab714117e68c323dabd7e8632e9592 100644 (file)
@@ -24,9 +24,9 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 | energized_ultimate  |         | XXL  | compilation      | [Link](https://energized.pro)                                                     |
 | energized_unified   |         | XXL  | compilation      | [Link](https://energized.pro)                                                     |
 | firetv_tracking     |         | S    | tracking         | [Link](https://github.com/Perflyst/PiHoleBlocklist)                               |
+| games_tracking      |         | S    | tracking         | [Link](https://www.gameindustry.eu)                                               |
 | gaming              |         | S    | gaming           | [Link](https://github.com/abyssin/pihole-blocklist)                               |
 | malwaredomains      |         | M    | malware          | [Link](https://malwaredomains.com)                                                |
-| malwarelist         |         | S    | malware          | [Link](https://www.malwaredomainlist.com)                                         |
 | notracking          |         | XL   | tracking         | [Link](https://github.com/notracking/hosts-blocklists)                            |
 | oisd_nl             |         | XXL  | general          | [Link](https://oisd.nl)                                                           |
 | openphish           |         | S    | phishing         | [Link](https://openphish.com)                                                     |
@@ -59,7 +59,6 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 | whocares            |         | M    | general          | [Link](https://someonewhocares.org)                                               |
 | winhelp             |         | S    | general          | [Link](https://winhelp2002.mvps.org)                                              |
 | winspy              |         | S    | win_telemetry    | [Link](https://github.com/crazy-max/WindowsSpyBlocker)                            |
-| youtube             |         | M    | youtube          | [Link](https://github.com/kboghdady/youTube_ads_4_pi-hole)                        |
 | yoyo                | x       | S    | general          | [Link](https://pgl.yoyo.org/adservers)                                            |
 
 * List of supported and fully pre-configured adblock sources, already active sources are pre-selected.  
index c75ddee67319c0651d43968d23f208b0fab142d8..0aa219d449efba3fb7d72ce041732400fa08892d 100755 (executable)
@@ -246,10 +246,10 @@ service_triggers()
 {
        local trigger delay type
 
-       PROCD_RELOAD_DELAY=$((delay*1000))
        trigger="$(uci_get adblock global adb_trigger)"
        delay="$(uci_get adblock global adb_triggerdelay "2")"
        type="$(uci_get adblock global adb_starttype "start")"
+       PROCD_RELOAD_DELAY=$((delay*1000))
        if [ -n "${trigger}" ]
        then
                procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" "${type}"
index d096cce2424306649ecd07d1a5490538b6e28482..944cf27f0164cbe72cd3da8fb7bee9c6b9128d27 100755 (executable)
@@ -11,7 +11,7 @@
 export LC_ALL=C
 export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
 set -o pipefail
-adb_ver="4.0.7"
+adb_ver="4.0.8"
 adb_enabled=0
 adb_debug=0
 adb_forcedns=0
@@ -50,7 +50,8 @@ adb_loggercmd="$(command -v logger)"
 adb_dumpcmd="$(command -v tcpdump)"
 adb_lookupcmd="$(command -v nslookup)"
 adb_fetchutil=""
-adb_portlist="53 853 5353"
+adb_zonelist=""
+adb_portlist=""
 adb_repiface=""
 adb_replisten="53"
 adb_repchunkcnt="5"
@@ -148,6 +149,12 @@ f_conf()
                        elif [ "${option}" = "adb_safesearchlist" ]
                        then
                                eval "${option}=\"$(printf "%s" "${adb_safesearchlist}") ${value}\""
+                       elif [ "${option}" = "adb_zonelist" ]
+                       then
+                               eval "${option}=\"$(printf "%s" "${adb_zonelist}") ${value}\""
+                       elif [ "${option}" = "adb_portlist" ]
+                       then
+                               eval "${option}=\"$(printf "%s" "${adb_portlist}") ${value}\""
                        fi
                }
        }
@@ -553,7 +560,7 @@ f_count()
 #
 f_extconf()
 {
-       local config config_dir config_file port fwcfg
+       local config config_dir config_file section zone port fwcfg
 
        case "${adb_dns}" in
                "dnsmasq")
@@ -579,33 +586,37 @@ f_extconf()
        f_uci "${config}"
 
        config="firewall"
-       fwcfg="$(uci -qNX show "${config}")"
+       fwcfg="$(uci -qNX show "${config}" | "${adb_awk}" 'BEGIN{FS="[.=]"};/adblock_/{if(zone==$2){next}else{ORS=" ";zone=$2;print zone}}')"
        if [ "${adb_enabled}" -eq 1 ] && [ "${adb_forcedns}" -eq 1 ] && \
                [ "$(/etc/init.d/firewall enabled; printf "%u" ${?})" -eq 0 ]
        then
-               for port in ${adb_portlist}
+               for zone in ${adb_zonelist}
                do
-                       if [ -z "$(printf "%s" "${fwcfg}" | grep -Fo -m1 "adblock_dns_${port}")" ]
-                       then
-                               uci -q batch <<-EOC
-                                       set firewall."adblock_dns_${port}"="redirect"
-                                       set firewall."adblock_dns_${port}".name="Adblock DNS, port ${port}"
-                                       set firewall."adblock_dns_${port}".src="lan"
-                                       set firewall."adblock_dns_${port}".proto="tcp udp"
-                                       set firewall."adblock_dns_${port}".src_dport="${port}"
-                                       set firewall."adblock_dns_${port}".dest_port="${port}"
-                                       set firewall."adblock_dns_${port}".target="DNAT"
-                               EOC
-                       fi
+                       for port in ${adb_portlist}
+                       do
+                               if [ -z "$(printf "%s" "${fwcfg}" | grep -o -m1 "adblock_${zone}${port}[ |\$]")" ]
+                               then
+                                       uci -q batch <<-EOC
+                                               set firewall."adblock_${zone}${port}"="redirect"
+                                               set firewall."adblock_${zone}${port}".name="Adblock DNS (${zone}, ${port})"
+                                               set firewall."adblock_${zone}${port}".src="${zone}"
+                                               set firewall."adblock_${zone}${port}".proto="tcp udp"
+                                               set firewall."adblock_${zone}${port}".src_dport="${port}"
+                                               set firewall."adblock_${zone}${port}".dest_port="${port}"
+                                               set firewall."adblock_${zone}${port}".target="DNAT"
+                                       EOC
+                               fi
+                               fwcfg="${fwcfg/adblock_${zone}${port}[ |\$]/}"
+                       done
                done
-       elif [ "${adb_enabled}" -eq 0 ] || [ "${adb_forcedns}" -eq 0 ]
+               fwcfg="${fwcfg#"${fwcfg%%[![:space:]]*}"}"
+               fwcfg="${fwcfg%"${fwcfg##*[![:space:]]}"}"
+       fi
+       if [ "${adb_enabled}" -eq 0 ] || [ "${adb_forcedns}" -eq 0 ] || [ -n "${fwcfg}" ]
        then
-               for port in ${adb_portlist}
+               for section in ${fwcfg}
                do
-                       if [ -n "$(printf "%s" "${fwcfg}" | grep -Fo -m1 "adblock_dns_${port}")" ]
-                       then
-                               uci_remove firewall "adblock_dns_${port}"
-                       fi
+                       uci_remove firewall "${section}"
                done
        fi
        f_uci "${config}"
@@ -671,7 +682,7 @@ f_list()
                                rset="/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}"
                                "${adb_awk}" "${rset}" "${adb_blacklist}" | \
                                "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${adb_tmpdir}/tmp.raw.${src_name}"
-                               sort ${adb_srtopts} -u "${adb_tmpdir}/tmp.raw.${src_name}" 2>/dev/null > "${adb_tmpfile}.${src_name}"
+                               "${adb_sort}" ${adb_srtopts} -u "${adb_tmpdir}/tmp.raw.${src_name}" 2>/dev/null > "${adb_tmpfile}.${src_name}"
                                out_rc="${?}"
                                rm -f "${adb_tmpdir}/tmp.raw.${src_name}"
                        elif [ "${src_name}" = "whitelist" ] && [ -s "${adb_whitelist}" ]
@@ -887,7 +898,7 @@ f_list()
                                find "${adb_backupdir}" ${ffiles} -print0 2>/dev/null | xargs -0 rm 2>/dev/null
                        fi
                        unset src_name
-                       sort ${adb_srtopts} -mu "${adb_tmpfile}".* 2>/dev/null > "${adb_tmpdir}/${adb_dnsfile}"
+                       "${adb_sort}" ${adb_srtopts} -mu "${adb_tmpfile}".* 2>/dev/null > "${adb_tmpdir}/${adb_dnsfile}"
                        out_rc="${?}"
                        rm -f "${adb_tmpfile}".*
                ;;
@@ -1297,7 +1308,7 @@ f_main()
                                                "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
                                        fi
                                        rm -f "${src_tmpload}"
-                                       sort ${adb_srtopts} -u "${src_tmpsort}" 2>/dev/null > "${src_tmpfile}"
+                                       "${adb_sort}" ${adb_srtopts} -u "${src_tmpsort}" 2>/dev/null > "${src_tmpfile}"
                                        src_rc="${?}"
                                        rm -f "${src_tmpsort}"
                                        if [ "${src_rc}" -eq 0 ] && [ -s "${src_tmpfile}" ]
@@ -1335,7 +1346,7 @@ f_main()
                                                "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
                                        fi
                                        rm -f "${src_tmpload}"
-                                       sort ${adb_srtopts} -u "${src_tmpsort}" 2>/dev/null > "${src_tmpfile}"
+                                       "${adb_sort}" ${adb_srtopts} -u "${src_tmpsort}" 2>/dev/null > "${src_tmpfile}"
                                        src_rc="${?}"
                                        rm -f "${src_tmpsort}"
                                        if [ "${src_rc}" -eq 0 ] && [ -s "${src_tmpfile}" ]
@@ -1486,8 +1497,8 @@ f_report()
                        do
                                (
                                        "${adb_dumpcmd}" -tttt -r "${file}" 2>/dev/null | \
-                                               "${adb_awk}" -v cnt="${cnt}" '!/\.lan\. |PTR\? | SOA\? /&&/ A[\? ]+|NXDomain|0\.0\.0\.0/{a=$1;b=substr($2,0,8);c=$4;sub(/\.[0-9]+$/,"",c);d=cnt $7;sub(/\*$/,"",d);
-                                               e=$(NF-1);sub(/[0-9]\/[0-9]\/[0-9]|0\.0\.0\.0/,"NX",e);sub(/\.$/,"",e);sub(/([0-9]{1,3}\.){3}[0-9]{1,3}/,"OK",e);if(e==""){e="err"};printf "%s\t%s\t%s\t%s\t%s\n",d,e,a,b,c}' >> "${adb_reportdir}/adb_report.raw"
+                                               "${adb_awk}" -v cnt="${cnt}" '!/\.lan\. |PTR\? | SOA\? /&&/ A[\? ]+|NXDomain|0\.0\.0\.0/{a=$1;b=substr($2,0,8);c=$4;sub(/\.[0-9]+$/,"",c);gsub(/[^[:alnum:]\.:-]/,"",c);d=cnt $7;sub(/\*$/,"",d);
+                                               e=$(NF-1);sub(/[0-9]\/[0-9]\/[0-9]|0\.0\.0\.0/,"NX",e);sub(/\.$/,"",e);sub(/([0-9]{1,3}\.){3}[0-9]{1,3}/,"OK",e);gsub(/[^[:alnum:]\.-]/,"",e);if(e==""){e="err"};printf "%s\t%s\t%s\t%s\t%s\n",d,e,a,b,c}' >> "${adb_reportdir}/adb_report.raw"
                                )&
                                hold=$((cnt%adb_maxqueue))
                                if [ "${hold}" -eq 0 ]
@@ -1499,9 +1510,9 @@ f_report()
                        wait
                        if [ -s "${adb_reportdir}/adb_report.raw" ]
                        then
-                               sort ${adb_srtopts} -k1 -k3 -k4 -k5 -k1 -ur "${adb_reportdir}/adb_report.raw" | \
+                               "${adb_sort}" ${adb_srtopts} -k1 -k3 -k4 -k5 -k1 -ur "${adb_reportdir}/adb_report.raw" | \
                                        "${adb_awk}" '{currA=($1+0);currB=$1;currC=substr($1,length($1),1);if(reqA==currB){reqA=0;printf "%s\t%s\n",d,$2}else if(currC=="+"){reqA=currA;d=$3"\t"$4"\t"$5"\t"$2}}' | \
-                                       sort ${adb_srtopts} -k1 -k2 -k3 -k4 -ur > "${adb_reportdir}/adb_report.srt"
+                                       "${adb_sort}" ${adb_srtopts} -k1 -k2 -k3 -k4 -ur > "${adb_reportdir}/adb_report.srt"
                                rm -f "${adb_reportdir}/adb_report.raw"
                        fi
 
@@ -1528,16 +1539,16 @@ f_report()
                                        printf "%s" " \"${top}\": [ " >> "${adb_reportdir}/adb_report.json"
                                        case "${top}" in
                                                "top_clients")
-                                                       "${adb_awk}" '{print $3}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
-                                                               sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+                                                       "${adb_awk}" '{print $3}' "${adb_reportdir}/adb_report.srt" | "${adb_sort}" ${adb_srtopts} | uniq -c | \
+                                                               "${adb_sort}" ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
                                                ;;
                                                "top_domains")
-                                                       "${adb_awk}" '{if($5!="NX")print $4}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
-                                                               sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+                                                       "${adb_awk}" '{if($5!="NX")print $4}' "${adb_reportdir}/adb_report.srt" | "${adb_sort}" ${adb_srtopts} | uniq -c | \
+                                                               "${adb_sort}" ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
                                                ;;
                                                "top_blocked")
-                                                       "${adb_awk}" '{if($5=="NX")print $4}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
-                                                               sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+                                                       "${adb_awk}" '{if($5=="NX")print $4}' "${adb_reportdir}/adb_report.srt" | "${adb_sort}" ${adb_srtopts} | uniq -c | \
+                                                               "${adb_sort}" ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
                                                ;;
                                        esac
                                        printf "%s" " ], " >> "${adb_reportdir}/adb_report.json"
@@ -1593,13 +1604,13 @@ f_report()
                                        elif json_get_type status "${top}" && [ "${top}" = "requests" ] && [ "${status}" = "array" ]
                                        then
                                                printf "%s\\n%s\\n%s\\n" ":::" "::: Latest DNS Queries" ":::"
-                                               printf "%-15s%-15s%-45s%-50s%s\\n" "Date" "Time" "Client" "Domain" "Answer"
+                                               printf "%-15s%-15s%-45s%-80s%s\\n" "Date" "Time" "Client" "Domain" "Answer"
                                                json_select "${top}"
                                                index=1
                                                while json_get_type status "${index}" && [ "${status}" = "object" ]
                                                do
                                                        json_get_values item "${index}"
-                                                       printf "%-15s%-15s%-45s%-50s%s\\n" ${item}
+                                                       printf "%-15s%-15s%-45s%-80s%s\\n" ${item}
                                                        index=$((index+1))
                                                done
                                        fi
@@ -1614,23 +1625,39 @@ f_report()
        f_log "debug" "f_report ::: action: ${adb_action}, report: ${adb_report}, search: ${1}, count: ${2}, process: ${3}, print: ${4}, dump_util: ${adb_dumpcmd}, repdir: ${adb_reportdir}, repiface: ${adb_repiface:-"-"}, replisten: ${adb_replisten}, repchunksize: ${adb_repchunksize}, repchunkcnt: ${adb_repchunkcnt}, bg_pid: ${bg_pid}"
 }
 
+# source required system libraries
+#
+if [ -r "/lib/functions.sh" ] && [ -r "/lib/functions/network.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
+then
+       . "/lib/functions.sh"
+       . "/lib/functions/network.sh"
+       . "/usr/share/libubox/jshn.sh"
+else
+       f_log "err" "system libraries not found"
+fi
+
 # awk selection
 #
 adb_awk="$(command -v gawk)"
 if [ -z "${adb_awk}" ]
 then
        adb_awk="$(command -v awk)"
+       if [ -z "${adb_awk}" ]
+       then
+               f_log "err" "awk not found"
+       fi
 fi
 
-# source required system libraries
+# sort selection
 #
-if [ -r "/lib/functions.sh" ] && [ -r "/lib/functions/network.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
+adb_sort="$(command -v gnu-sort)"
+if [ -z "${adb_sort}" ]
 then
-       . "/lib/functions.sh"
-       . "/lib/functions/network.sh"
-       . "/usr/share/libubox/jshn.sh"
-else
-       f_log "err" "system libraries not found"
+       adb_sort="$(command -v sort)"
+       if [ -z "$("${adb_sort}" --help 2>/dev/null | grep -Fo -m1 "coreutils")" ]
+       then
+               f_log "err" "coreutils sort not found"
+       fi
 fi
 
 # version information
index dfb9f1bae69ac456616b0dc3bafd212d4863a566..191fa9179fb780ba35513bfbd05cfbee8a38bf97 100644 (file)
                "focus": "tracking",
                "descurl": "https://github.com/Perflyst/PiHoleBlocklist"
        },
+       "games_tracking": {
+               "url": "https://raw.githubusercontent.com/KodoPengin/GameIndustry-hosts-Template/master/Main%20template/hosts",
+               "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
+               "size": "S",
+               "focus": "tracking",
+               "descurl": "https://www.gameindustry.eu"
+       },
        "gaming": {
                "url": "https://raw.githubusercontent.com/stopgaming/pihole-blocklist/master/game.txt",
                "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
                "descurl": "https://github.com/abyssin/pihole-blocklist"
        },
        "malwaredomains": {
-               "url": "https://mirror1.malwaredomains.com/files/justdomains",
+               "url": "https://mirror.cedia.org.ec/malwaredomains/justdomains",
                "rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
                "size": "M",
                "focus": "malware",
                "descurl": "https://www.malwaredomains.com"
        },
-       "malwarelist": {
-               "url": "https://www.malwaredomainlist.com/hostslist/hosts.txt",
-               "rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
-               "size": "S",
-               "focus": "malware",
-               "descurl": "https://www.malwaredomainlist.com"
-       },
        "notracking": {
                "url": "https://raw.githubusercontent.com/notracking/hosts-blocklists/master/dnscrypt-proxy/dnscrypt-proxy.blacklist.txt",
                "rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
                "focus": "win_telemetry",
                "descurl": "https://github.com/crazy-max/WindowsSpyBlocker"
        },
-       "youtube": {
-               "url": "https://raw.githubusercontent.com/kboghdady/youTube_ads_4_pi-hole/master/black.list",
-               "rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
-               "size": "M",
-               "focus": "youtube",
-               "descurl": "https://github.com/kboghdady/youTube_ads_4_pi-hole"
-       },
        "yoyo": {
                "url": "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext",
                "rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
index 51b900729c8180def2d1f3b488d906de904e654e..19b6cc5a3a69386766e3b84111c2f8e167e92444 100644 (file)
@@ -6,13 +6,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adguardhome
-PKG_VERSION:=0.104.1
+PKG_VERSION:=0.104.3
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 PKG_SOURCE_URL:=https://github.com/AdguardTeam/AdGuardHome
-PKG_MIRROR_HASH:=3abbbf0531fd991a96dc2ea32aaaa9ab65dee5f40bb71e5939ddd068bbb17f7c
+PKG_MIRROR_HASH:=9051c08ebefccd918cad9b487d2d3b2c4b276ac71f16706c2ae8ee2a37ba9d03
 
 PKG_LICENSE:=GPL-3.0-only
 PKG_LICENSE_FILES:=LICENSE.txt
index 9113d142f00648fe647f99cc7bd8d55b75188420..3cc74d06b733acce1bcf7138d95ee889b644de21 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ariang
 PKG_VERSION:=1.1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mayswind/AriaNg-DailyBuild/tar.gz/$(PKG_VERSION)?
@@ -55,7 +55,8 @@ define Package/ariang/install
                $(PKG_BUILD_DIR)/index.html \
                $(PKG_BUILD_DIR)/index.manifest \
                $(PKG_BUILD_DIR)/LICENSE \
-               $(PKG_BUILD_DIR)/favicon.ico \
+               $(PKG_BUILD_DIR)/{favicon.*,*.png} \
+               $(PKG_BUILD_DIR)/robots.txt \
                $(1)/www/ariang
 endef
 
index 5f1d434016453c0be56fcd26d8267c2c9f016739..956278be094d238bb457e0ad82c9f7e242cfb75f 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=atftp
 PKG_VERSION:=0.7.2
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
index 081f4b37e1d12fc0edbc9541b85943d1283d29ad..e3d83f22d179842ed386b4468dc19f91630f2c6e 100644 (file)
@@ -1,5 +1,3 @@
-diff --git a/tftpd.h b/tftpd.h
-index 945065e..4c2f214 100644
 --- a/tftpd.h
 +++ b/tftpd.h
 @@ -46,7 +46,7 @@ struct thread_data {
index 679af5cf3f0a96b997e091425a187a87cd3e88ae..e1cad03b95291654feca549689cc0b4bdc7348ce 100644 (file)
@@ -1,8 +1,6 @@
-diff --git a/tftp_io.c b/tftp_io.c
-index 605a9c2..6cce1f4 100644
 --- a/tftp_io.c
 +++ b/tftp_io.c
-@@ -64,7 +64,7 @@ int tftp_send_request(int socket, struct sockaddr_storage *sa, short type,
+@@ -64,7 +64,7 @@ int tftp_send_request(int socket, struct
       buf_index += strlen(mode);
       buf_index++;
       
index c828e1a4c9501ee5ab5c85a38a9b91b1fe5cc826..82ce8bcdadddda3960426eae66e4a316040d29f7 100644 (file)
@@ -1,8 +1,6 @@
-diff --git a/tftp_def.c b/tftp_def.c
-index 96abdc5..16240f7 100644
 --- a/tftp_def.c
 +++ b/tftp_def.c
-@@ -141,7 +141,7 @@ int print_eng(double value, char *string, int size, char *format)
+@@ -133,7 +133,7 @@ int print_eng(double value, char *string
  /*
   * This is a strncpy function that take care of string NULL termination
   */
@@ -11,11 +9,9 @@ index 96abdc5..16240f7 100644
  {
       strncpy(to, from, size);
       if (size>0) 
-diff --git a/tftp_def.h b/tftp_def.h
-index e4b338d..4418ee7 100644
 --- a/tftp_def.h
 +++ b/tftp_def.h
-@@ -50,7 +50,7 @@ extern char *tftp_errmsg[9];
+@@ -51,7 +51,7 @@ extern char *tftp_errmsg[9];
  
  int timeval_diff(struct timeval *res, struct timeval *t1, struct timeval *t0);
  int print_eng(double value, char *string, int size, char *format);
@@ -24,11 +20,9 @@ index e4b338d..4418ee7 100644
  int Gethostbyname(char *addr, struct hostent *host);
  
  char *sockaddr_print_addr(const struct sockaddr_storage *, char *, size_t);
-diff --git a/tftpd.h b/tftpd.h
-index 945065e..4bd3f17 100644
 --- a/tftpd.h
 +++ b/tftpd.h
-@@ -93,7 +93,7 @@ int tftpd_list_find_multicast_server_and_add(struct thread_data **thread,
+@@ -93,7 +93,7 @@ int tftpd_list_find_multicast_server_and
  /*
   * Defined in tftpd_list.c, operation on client structure list.
   */
@@ -37,11 +31,9 @@ index 945065e..4bd3f17 100644
  void tftpd_clientlist_remove(struct thread_data *thread,
                               struct client_info *client);
  void tftpd_clientlist_free(struct thread_data *thread);
-diff --git a/tftpd_list.c b/tftpd_list.c
-index f376159..159ffca 100644
 --- a/tftpd_list.c
 +++ b/tftpd_list.c
-@@ -201,7 +201,7 @@ int tftpd_list_find_multicast_server_and_add(struct thread_data **thread,
+@@ -201,7 +201,7 @@ int tftpd_list_find_multicast_server_and
       return 0;
  }
  
@@ -50,6 +42,3 @@ index f376159..159ffca 100644
  {
       pthread_mutex_lock(&thread->client_mutex);
       thread->client_ready = 1;
--- 
-2.1.4
-
index 8968045ffe2ad99d3d5b8f4367612d5d137c4f8f..ffb642d61b9856ca54578bd0aa8aa487adaa9456 100644 (file)
@@ -31,7 +31,7 @@
  
  /* Make a '\0' separated arg vector from a SEP separated list in
     STRING, returning it in ARGZ, and the total length in LEN.  If a
-@@ -69,65 +68,65 @@ extern error_t argz_create (char *__const __argv[], char **__restrict __argz,
+@@ -69,65 +68,65 @@ extern error_t argz_create (char *__cons
     The result can be destroyed using free.  */
  extern error_t __argz_create_sep (__const char *__restrict __string,
                                  int __sep, char **__restrict __argz,
  
  /* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an
     existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end.
-@@ -138,11 +137,11 @@ extern void argz_delete (char **__restrict __argz,
+@@ -138,11 +137,11 @@ extern void argz_delete (char **__restri
  extern error_t __argz_insert (char **__restrict __argz,
                              size_t *__restrict __argz_len,
                              char *__restrict __before,
  
  /* Replace any occurrences of the string STR in ARGZ with WITH, reallocating
     ARGZ as necessary.  If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be
-@@ -173,9 +172,9 @@ extern error_t argz_replace (char **__restrict __argz,
+@@ -173,11 +172,11 @@ extern error_t argz_replace (char **__re
        ...;
  */
  extern char *__argz_next (__const char *__restrict __argz, size_t __argz_len,
 -                      __const char *__restrict __entry) __THROW;
 +                      __const char *__restrict __entry) __attribute__ ((__nothrow__));
  
- #ifdef __USE_EXTERN_INLINES
+-#ifdef __USE_EXTERN_INLINES
++#if 0
  extern inline char *
-@@ -200,6 +199,8 @@ argz_next (__const char *__argz, size_t __argz_len,
+ __argz_next (__const char *__argz, size_t __argz_len,
+            __const char *__entry)
+@@ -200,6 +199,8 @@ argz_next (__const char *__argz, size_t
  }
  #endif /* Use extern inlines.  */
  
index ddcf90dc14977f32e478e28426b8eebeecb3c7f9..5ebd6456f1ddb8bb05093ef1dab49ead17bff331 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
-PKG_VERSION:=0.3.12
-PKG_RELEASE:=3
+PKG_VERSION:=0.3.13
+PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 708c883873c51943ced27d2e354dab6ee0fd15db..14cc1f5f223780ad23e08c3eaf00bd746f0076cd 100755 (executable)
@@ -13,7 +13,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-ban_ver="0.3.12"
+ban_ver="0.3.13"
 ban_basever=""
 ban_enabled=0
 ban_automatic="1"
@@ -410,8 +410,10 @@ f_iptadd()
                        f_iptrule "-I" "${wan_forward} -j ${ban_chain}"
                        if [ "${src_name##*_}" != "6" ]
                        then
-                               # special IPv4 rules
                                f_iptrule "-A" "${ban_chain} -p udp --dport 67:68 --sport 67:68 -j RETURN"
+                       else
+                               f_iptrule "-A" "${ban_chain} -p udp -s fc00::/6 --sport 547 -d fc00::/6 --dport 546 -j RETURN"
+                               f_iptrule "-A" "${ban_chain} -p ipv6-icmp -s fe80::/10 -d fe80::/10 -j RETURN"
                        fi
                        for dev in ${ban_dev}
                        do
@@ -424,8 +426,10 @@ f_iptadd()
                        f_iptrule "-I" "${lan_forward} -j ${ban_chain}"
                        if [ "${src_name##*_}" != "6" ]
                        then
-                               # special IPv4 rules
                                f_iptrule "-A" "${ban_chain} -p udp --dport 67:68 --sport 67:68 -j RETURN"
+                       else
+                               f_iptrule "-A" "${ban_chain} -p udp -s fc00::/6 --sport 547 -d fc00::/6 --dport 546 -j RETURN"
+                               f_iptrule "-A" "${ban_chain} -p ipv6-icmp -s fe80::/10 -d fe80::/10 -j RETURN"
                        fi
                        for dev in ${ban_dev}
                        do
index 16b9b096bd68f603cac1d98c43a27753d888e681..fb528a681da03c22abd51d33932d3174f7968432 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bfdd
 PKG_SOURCE_DATE:=2019-08-22
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE_VERSION:=c54534beb524afc3972039f57b56ec65332b43f7
 PKG_SOURCE_URL:=https://codeload.github.com/rzalamena/bfdd/tar.gz/$(PKG_SOURCE_VERSION)?
@@ -46,8 +46,6 @@ define Package/bfdd/conffiles
 /etc/bfdd/bfdd.json
 endef
 
-TARGET_CFLAGS += -D_GNU_SOURCE
-
 define Package/bfdd/install
        $(INSTALL_DIR) \
         $(1)/usr/sbin \
index 8ee41b9309d05c66dca6b12170cb01bd38ff8223..a2f36864d7b759ae93a3e4540ce7c2feff783022 100644 (file)
@@ -1,10 +1,18 @@
---- a/bfd_packet.c     2019-08-15 02:45:47.270120616 +0300
-+++ b/bfd_packet.c     2019-08-15 02:44:38.266117706 +0300
-@@ -34,7 +34,6 @@
+--- a/bfd_packet.c
++++ b/bfd_packet.c
+@@ -29,12 +29,15 @@
+ #define _UAPI_IPV6_H
+ #endif /* _UAPI_IPV6_H */
++#include <features.h>
+ #include <linux/filter.h>
+ #include <linux/if_ether.h>
  #include <linux/if_packet.h>
  #include <linux/udp.h>
  #include <linux/ip.h>
--#include <linux/ipv6.h>
++#ifdef __GLIBC__
+ #include <linux/ipv6.h>
++#endif
  
  #include <arpa/inet.h>
  #include <sys/types.h>
diff --git a/net/bfdd/patches/010-uclibc.patch b/net/bfdd/patches/010-uclibc.patch
deleted file mode 100644 (file)
index 4c603ef..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/bfd_packet.c b/bfd_packet.c
-index e8f99f9..2c9fa91 100644
---- a/bfd_packet.c
-+++ b/bfd_packet.c
-@@ -29,6 +29,8 @@
- #define _UAPI_IPV6_H
- #endif /* _UAPI_IPV6_H */
-+#define _GNU_SOURCE
-+
- #include <linux/filter.h>
- #include <linux/if_ether.h>
- #include <linux/if_packet.h>
index 7470fcb6e9141390fa475e28b929a84c090a5e46..0c4616efeabb47cd9e05398c5cd1b1e610618014 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bind
 PKG_VERSION:=9.16.8
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 USERID:=bind=57:bind=57
 
 PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net>
@@ -183,6 +183,9 @@ define Package/bind-server/install
                ./files/bind/db.root \
                ./files/bind/bind.keys \
                $(1)/etc/bind/
+       sed -e '1s/ broadcast / empty rfc1918 /' \
+               < ./files/bind/db.0 \
+               > $(1)/etc/bind/db.empty
        $(CP) ./files/bind/named.conf.example $(1)/etc/bind/named.conf
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named
index 162454955244c699e94d2690b6ab63c035e92bfa..fbe99dcf837dc7b87edb2c7099da6af109ca5a27 100644 (file)
@@ -15,6 +15,10 @@ options {
        auth-nxdomain no;    # conform to RFC1035
 };
 
+include "/etc/bind/named-rndc.conf";
+
+include "/tmp/bind/named.conf.local";
+
 // prime the server with knowledge of the root servers
 zone "." {
        type hint;
index b7876d9e1d8c9bb74583b2d61df01bb05e499dfb..1a7683704524b0951b6e6a561cf57b3947d60497 100644 (file)
@@ -5,17 +5,25 @@
 
 USE_PROCD=1
 
-START=50
+START=22
 
 config_file=/etc/bind/named.conf
+config_dir=$(dirname $config_file)
+named_options_file=/etc/bind/named-rndc.conf
+rndc_conf_file=/etc/bind/rndc.conf
 pid_file=/var/run/named/named.pid
+rndc_temp=$(mktemp /tmp/rndc-confgen.XXXXXX)
 
 logdir=/var/log/named/
 cachedir=/var/cache/bind
 libdir=/var/lib/bind
+dyndir=/tmp/bind
+
+conf_local_file=$dyndir/named.conf.local
+
 
 fix_perms() {
-    for dir in $libdir $logdir $cachedir; do
+    for dir in $libdir $logdir $cachedir $dyndir; do
        test -e "$dir" || {
             mkdir -p "$dir"
             chgrp bind "$dir"
@@ -24,12 +32,42 @@ fix_perms() {
     done
 }
 
+reload_service() {
+    rndc -q reload
+}
+
 start_service() {
     user_exists bind 57 || user_add bind 57
     group_exists bind 57 || group_add bind 57
     fix_perms
+
+    rndc-confgen > $rndc_temp
+
+    sed -r -n \
+       -e '/^# options \{$/,/^\};$/{ s/^/# / }' \
+       -e p \
+       -e '/^# End of rndc\.conf$/q' \
+       < $rndc_temp > $rndc_conf_file
+
+    sed -r -n \
+       -e '1,/^# End of rndc\.conf$/ { b done }' \
+       -e '/^# Use with the following in named.conf/ { p ; b done }' \
+       -e '/^# End of named\.conf$/ { p ; b done }' \
+       -e '/^# key /,$ { s/^# // ; p }' \
+       -e ': done' \
+       < $rndc_temp > $named_options_file
+
+    rm -f $rndc_temp
+
+    touch $conf_local_file
+
     procd_open_instance
     procd_set_param command /usr/sbin/named -u bind -f -c $config_file
+    procd_set_param file $config_file \
+                        $config_dir/bind.keys \
+                        $named_options_file \
+                        $conf_local_file \
+                        $config_dir/db.*
     procd_set_param respawn
     procd_close_instance
 }
index b5511cd41c8f1c0c833a31fbfd5c732cfeb6f00c..dc837c9bbd06afe1973518930e0e98828e4a9806 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=bridge-utils
 PKG_VERSION:=1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/shemminger/bridge-utils
@@ -31,7 +31,7 @@ define Package/bridge
   CATEGORY:=Base system
   TITLE:=Ethernet bridging configuration utility
   URL:=http://www.linuxfromscratch.org/blfs/view/svn/basicnet/bridge-utils.html
-  ALTERNATIVES:=300:/usr/sbin/brctl:/usr/libexec/bridge-utils-brctl
+  ALTERNATIVES:=300:/usr/sbin/brctl:/usr/libexec/brctl-bridge-utils
 endef
 
 define Package/bridge/description
@@ -44,7 +44,7 @@ CONFIGURE_ARGS += \
 
 define Package/bridge/install
        $(INSTALL_DIR) $(1)/usr/libexec
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/brctl $(1)/usr/libexec/bridge-utils-brctl
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/brctl $(1)/usr/libexec/brctl-bridge-utils
 endef
 
 $(eval $(call BuildPackage,bridge))
index 77905ee7dc230b07efce612b0248a56d0ca07281..0662315ba86fae1b8e76766b3127ee247f513da9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cifs-utils
 PKG_VERSION:=6.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.samba.org/pub/linux-cifs/cifs-utils/
@@ -68,7 +68,7 @@ endef
 define Package/cifsmount/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mount.cifs $(1)/usr/sbin/
-       $(LN) /usr/sbin/mount.cifs $(1)/usr/sbin/mount.smb3
+       $(LN) mount.cifs $(1)/usr/sbin/mount.smb3
 endef
 
 define Package/smbinfo/install
index 0945263a2a5827a076de4bbb214ad69b4ae75717..c97c46fab0a7d635aa464e82dd817382cab166c5 100644 (file)
@@ -8,21 +8,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=conntrack-tools
+PKG_VERSION:=1.4.6
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://git.netfilter.org/conntrack-tools
-PKG_SOURCE_DATE:=2018-05-01
-PKG_SOURCE_VERSION:=88610abee7e58f4da7ec6f198e00ff70a92c870f
-PKG_MIRROR_HASH:=cccc5e25e3cb159385b170f63f9b7fd2186f68d32239718080f605c060ea1cb8
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://www.netfilter.org/projects/conntrack-tools/files
+PKG_HASH:=590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
-PKG_LICENSE:=GPL-2.0
-PKG_CPE_ID:=cpe:/a:conntrack-tools_project:conntrack-tools
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:netfilter:conntrack-tools
 
-PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
-
+PKG_BUILD_PARALLEL:=1
 PKG_BUILD_DEPENDS:=libtirpc
 
 include $(INCLUDE_DIR)/package.mk
@@ -32,7 +31,7 @@ define Package/conntrack-tools/default
   CATEGORY:=Network
   DEPENDS:=+libnetfilter-conntrack +libnetfilter-cttimeout +libnetfilter-cthelper +libnetfilter-queue
   SUBMENU:=Firewall
-  URL:=http://conntrack-tools.netfilter.org/
+  URL:=https://conntrack-tools.netfilter.org/
 endef
 
 define Package/conntrack
diff --git a/net/conntrack-tools/patches/conntrack-tools-1.4.5-rpc.patch b/net/conntrack-tools/patches/conntrack-tools-1.4.5-rpc.patch
deleted file mode 100644 (file)
index 1f7fc44..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -50,6 +50,25 @@
-         AS_HELP_STRING([--enable-systemd], [Build systemd support]),
-         [enable_systemd="$enableval"], [enable_systemd="no"])
-+AC_ARG_WITH([libtirpc],
-+           AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]),
-+           [], [ with_libtirpc=no ])
-+
-+AS_IF([test "x$with_libtirpc" != xno],
-+      [PKG_CHECK_MODULES([TIRPC],
-+                         [libtirpc],
-+                         [RPC_CFLAGS=$TIRPC_CFLAGS; RPC_LIBS=$TIRPC_LIBS;],
-+                        [AC_MSG_ERROR([libtirpc requested, but library not found.])]
-+                       )],
-+      [AC_CHECK_HEADER(rpc/rpc.h,
-+                      [RPC_CFLAGS=""; RPC_LIBS="";],
-+                      [AC_MSG_ERROR([sunrpc requested, but headers are not present.])]
-+                     )]
-+)
-+
-+AC_SUBST(RPC_CFLAGS)
-+AC_SUBST(RPC_LIBS)
-+
- PKG_CHECK_MODULES([LIBNFNETLINK], [libnfnetlink >= 1.0.1])
- PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3])
- PKG_CHECK_MODULES([LIBNETFILTER_CONNTRACK], [libnetfilter_conntrack >= 1.0.7])
---- a/src/helpers/Makefile.am
-+++ b/src/helpers/Makefile.am
-@@ -30,8 +30,8 @@
- ct_helper_mdns_la_CFLAGS = $(HELPER_CFLAGS)
- ct_helper_rpc_la_SOURCES = rpc.c
--ct_helper_rpc_la_LDFLAGS = $(HELPER_LDFLAGS)
--ct_helper_rpc_la_CFLAGS = $(HELPER_CFLAGS)
-+ct_helper_rpc_la_LDFLAGS = $(HELPER_LDFLAGS) $(RPC_LIBS)
-+ct_helper_rpc_la_CFLAGS = $(HELPER_CFLAGS) $(RPC_CFLAGS)
- ct_helper_tftp_la_SOURCES = tftp.c
- ct_helper_tftp_la_LDFLAGS = $(HELPER_LDFLAGS)
index 517a022150c6f65fa0b5b27bdbac1fd06bfab183..094815c253d7ee4efe0702e782802373220beb78 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=coova-chilli
 PKG_VERSION:=1.5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/coova/coova-chilli/tar.gz/$(PKG_VERSION)?
@@ -82,7 +82,7 @@ endef
 
 DISABLE_NLS=
 
-TARGET_CFLAGS += $(FPIC) -Wno-address-of-packed-member
+TARGET_CFLAGS += $(FPIC) -Wno-error
 
 CONFIGURE_VARS += \
        ARCH="$(LINUX_KARCH)" \
index 55e6603641b64074a151061ee4f0470944a60488..cf6cdc30f990a2aadbb9b516ea200c94e918f132 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=curl
-PKG_VERSION:=7.73.0
+PKG_VERSION:=7.74.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -16,13 +16,14 @@ PKG_SOURCE_URL:=https://dl.uxnr.de/mirror/curl/ \
        https://curl.mirror.anstey.ca/ \
        https://curl.askapache.com/download/ \
        https://curl.haxx.se/download/
-PKG_HASH:=7c4c7ca4ea88abe00fea4740dcf81075c031b1d0bb23aff2d5efde20a3c2408a
+PKG_HASH:=999d5f2c403cf6e25d58319fdd596611e455dd195208746bc6e6d197a77e878b
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:haxx:libcurl
 
 PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 PKG_CONFIG_DEPENDS:= \
@@ -159,20 +160,13 @@ CONFIGURE_ARGS += \
        $(call autoconf_bool,CONFIG_LIBCURL_UNIX_SOCKETS,unix-sockets) \
        $(call autoconf_bool,CONFIG_LIBCURL_VERBOSE,verbose) \
 
-define Build/Compile
-       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               CC="$(TARGET_CC)" \
-               install
-endef
-
 define Build/InstallDev
        $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/curl-config $(1)/usr/bin/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/curl $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurl.{a,so*} $(1)/usr/lib/
        $(CP) $(PKG_BUILD_DIR)/libcurl.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,-L$$$${exec_prefix}/lib,,g' $(1)/usr/bin/curl-config
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/curl-config
        [ -n "$(TARGET_LDFLAGS)" ] && $(SED) 's#$(TARGET_LDFLAGS)##g' $(1)/usr/lib/pkgconfig/libcurl.pc || true
        $(LN) $(STAGING_DIR)/usr/bin/curl-config $(2)/bin/
 endef
diff --git a/net/curl/patches/001-openssl-acknowledge-SRP-disabling-in-configure-properly.patch b/net/curl/patches/001-openssl-acknowledge-SRP-disabling-in-configure-properly.patch
deleted file mode 100644 (file)
index 1309316..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From a3d5b199f96a108f38bd1f6adaf3a7585f721d02 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Thu, 15 Oct 2020 22:56:13 +0200
-Subject: [PATCH] openssl: acknowledge SRP disabling in configure properly
-
-Follow-up to 68a513247409
-
-Use a new separate define that is the combination of both
-HAVE_OPENSSL_SRP and USE_TLS_SRP: USE_OPENSSL_SRP
-
-Bug: https://curl.haxx.se/mail/lib-2020-10/0037.html
-
-Closes #6094
----
- lib/vtls/openssl.c | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
---- a/lib/vtls/openssl.c
-+++ b/lib/vtls/openssl.c
-@@ -225,6 +225,14 @@
-   "ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH"
- #endif
-+#ifdef HAVE_OPENSSL_SRP
-+/* the function exists */
-+#ifdef USE_TLS_SRP
-+/* the functionality is not disabled */
-+#define USE_OPENSSL_SRP
-+#endif
-+#endif
-+
- struct ssl_backend_data {
-   /* these ones requires specific SSL-types */
-   SSL_CTX* ctx;
-@@ -2471,7 +2479,7 @@ static CURLcode ossl_connect_step1(struc
- #endif
- #endif
-   const long int ssl_version = SSL_CONN_CONFIG(version);
--#ifdef HAVE_OPENSSL_SRP
-+#ifdef USE_OPENSSL_SRP
-   const enum CURL_TLSAUTH ssl_authtype = SSL_SET_OPTION(authtype);
- #endif
-   char * const ssl_cert = SSL_SET_OPTION(primary.clientcert);
-@@ -2516,7 +2524,7 @@ static CURLcode ossl_connect_step1(struc
-     failf(data, OSSL_PACKAGE " was built without SSLv2 support");
-     return CURLE_NOT_BUILT_IN;
- #else
--#ifdef HAVE_OPENSSL_SRP
-+#ifdef USE_OPENSSL_SRP
-     if(ssl_authtype == CURL_TLSAUTH_SRP)
-       return CURLE_SSL_CONNECT_ERROR;
- #endif
-@@ -2529,7 +2537,7 @@ static CURLcode ossl_connect_step1(struc
-     failf(data, OSSL_PACKAGE " was built without SSLv3 support");
-     return CURLE_NOT_BUILT_IN;
- #else
--#ifdef HAVE_OPENSSL_SRP
-+#ifdef USE_OPENSSL_SRP
-     if(ssl_authtype == CURL_TLSAUTH_SRP)
-       return CURLE_SSL_CONNECT_ERROR;
- #endif
-@@ -2797,7 +2805,7 @@ static CURLcode ossl_connect_step1(struc
-   }
- #endif
--#ifdef HAVE_OPENSSL_SRP
-+#ifdef USE_OPENSSL_SRP
-   if(ssl_authtype == CURL_TLSAUTH_SRP) {
-     char * const ssl_username = SSL_SET_OPTION(username);
index c57005127eac44652aae234277b9c562ad63d094..0d1d028046cb644cf21c39c35377463bd97e4839 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=darkstat
 PKG_VERSION:=3.0.719
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_MAINTAINER:=Jean-Michel Lacroix <lacroix@lepine-lacroix.info>
 
diff --git a/net/darkstat/patches/101-allow-multiple-local-interfaces.patch b/net/darkstat/patches/101-allow-multiple-local-interfaces.patch
new file mode 100644 (file)
index 0000000..b2b22fa
--- /dev/null
@@ -0,0 +1,70 @@
+--- a/acct.c
++++ b/acct.c
+@@ -37,8 +37,9 @@
+ uint64_t acct_total_packets = 0, acct_total_bytes = 0;
++#define LOCAL_NET_MAX 10
+ static int using_localnet4 = 0, using_localnet6 = 0;
+-static struct addr localnet4, localmask4, localnet6, localmask6;
++static struct addr localnet4[LOCAL_NET_MAX], localmask4[LOCAL_NET_MAX], localnet6[LOCAL_NET_MAX], localmask6[LOCAL_NET_MAX];
+ /* Parse the net/mask specification into two IPs or die trying. */
+ void
+@@ -120,13 +121,19 @@ acct_init_localnet(const char *spec)
+    /* Register the correct netmask and calculate the correct net.  */
+    addr_mask(&localnet, &localmask);
+    if (localnet.family == IPv6) {
+-      using_localnet6 = 1;
+-      localnet6 = localnet;
+-      localmask6 = localmask;
++      if(using_localnet6 >= LOCAL_NET_MAX){
++      errx(1, "Exceeded maximum IPv6 local networks");
++      }
++      localnet6[using_localnet6] = localnet;
++      localmask6[using_localnet6] = localmask;
++      using_localnet6++;
+    } else {
+-      using_localnet4 = 1;
+-      localnet4 = localnet;
+-      localmask4 = localmask;
++      if(using_localnet4 >= LOCAL_NET_MAX){
++      errx(1, "Exceeded maximum IPv4 local networks");
++      }
++      localnet4[using_localnet4] = localnet;
++      localmask4[using_localnet4] = localmask;
++      using_localnet4++;
+    }
+    verbosef("local network address: %s", addr_to_str(&localnet));
+@@ -138,11 +145,15 @@ static int addr_is_local(const struct addr * const a,
+    if (is_localip(a, local_ips))
+       return 1;
+    if (a->family == IPv4 && using_localnet4) {
+-      if (addr_inside(a, &localnet4, &localmask4))
+-         return 1;
++      for (int i=0; i < using_localnet4; i++){           
++        if (addr_inside(a, &localnet4[i], &localmask4[i]))
++           return 1;
++      }
+    } else if (a->family == IPv6 && using_localnet6) {
+-      if (addr_inside(a, &localnet6, &localmask6))
+-         return 1;
++      for (int i=0; i < using_localnet6; i++){           
++        if (addr_inside(a, &localnet6[i], &localmask6[i]))
++           return 1;
++      }
+    }
+    return 0;
+ }
+--- a/darkstat.c
++++ b/darkstat.c
+@@ -193,7 +193,7 @@ static struct cmdline_arg cmdline_args[] = {
+    {"-r",             "capfile",         cb_capfile,      0},
+    {"-p",             "port",            cb_port,         0},
+    {"-b",             "bindaddr",        cb_bindaddr,    -1},
+-   {"-l",             "network/netmask", cb_local,        0},
++   {"-l",             "network/netmask", cb_local,       -1},
+    {"--base",         "path",            cb_base,         0},
+    {"--local-only",   NULL,              cb_local_only,   0},
+    {"--snaplen",      "bytes",           cb_snaplen,      0},
index bc863a92896cbad2bd3315290dcd50cf734a7e17..193fbaf67f7086b68934cdefa692396b6c1e62d9 100644 (file)
@@ -5,13 +5,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dawn
-PKG_SOURCE_DATE:=2020-09-03
+PKG_SOURCE_DATE:=2020-12-31
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/berlin-open-wireless-lab/DAWN.git
-PKG_SOURCE_VERSION:=b639145ce90230e693c41e71624ea0c0798c424d
-PKG_MIRROR_HASH:=e31113da86e4b3b013d073f288d0d77315ce67830b0fc669fa96917667a03d9c
+PKG_SOURCE_VERSION:=8ce09d64def9a1ad4bbf57dd3fe724a8a9b93334
+PKG_MIRROR_HASH:=cc33ca6ab1c4bd3e9e2a7a380700c6c15d222b3fd7064a3ce2963abb0965f078
 
 PKG_MAINTAINER:=Nick Hainke <vincent@systemli.org>
 PKG_LICENSE:=GPL-2.0-only
index 22664491cf597c388f997512bdd76d948399685a..d3744c87132df76940eb0a5edd087a8cfc63afa7 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_LICENSE:=GPL-2.0
 
@@ -167,6 +167,20 @@ define Package/ddns-scripts-cnkuai/description
 endef
 
 
+define Package/ddns-scripts-gandi
+  $(call Package/ddns-scripts/Default)
+  TITLE:=Gandi API
+  DEPENDS:=ddns-scripts +curl
+endef
+
+define Package/ddns-scripts-gandi/description
+  Dynamic DNS Client scripts extension for "gandi.net".
+  It requires:
+  "option username" to be a valid subdomain for gandi.net
+  "option password" to be a valid API key for ganid.net
+endef
+
+
 define Build/Configure
 endef
 
@@ -236,6 +250,7 @@ define Package/ddns-scripts-services/install
        rm $(1)/usr/share/ddns/default/bind-nsupdate.json
        rm $(1)/usr/share/ddns/default/route53-v1.json
        rm $(1)/usr/share/ddns/default/cnkuai.cn.json
+       rm $(1)/usr/share/ddns/default/gandi.net.json
 endef
 
 
@@ -391,6 +406,25 @@ exit 0
 endef
 
 
+define Package/ddns-scripts-gandi/install
+       $(INSTALL_DIR) $(1)/usr/lib/ddns
+       $(INSTALL_BIN) ./files/usr/lib/ddns/update_gandi_net.sh \
+               $(1)/usr/lib/ddns
+
+       $(INSTALL_DIR) $(1)/usr/share/ddns/default
+       $(INSTALL_DATA) ./files/usr/share/ddns/default/gandi.net.json \
+               $(1)/usr/share/ddns/default
+endef
+
+define Package/ddns-scripts-gandi/prerm
+#!/bin/sh
+if [ -z "$${IPKG_INSTROOT}" ]; then
+       /etc/init.d/ddns stop
+fi
+exit 0
+endef
+
+
 $(eval $(call BuildPackage,ddns-scripts))
 $(eval $(call BuildPackage,ddns-scripts-services))
 $(eval $(call BuildPackage,ddns-scripts-cloudflare))
@@ -401,3 +435,4 @@ $(eval $(call BuildPackage,ddns-scripts-noip))
 $(eval $(call BuildPackage,ddns-scripts-nsupdate))
 $(eval $(call BuildPackage,ddns-scripts-route53))
 $(eval $(call BuildPackage,ddns-scripts-cnkuai))
+$(eval $(call BuildPackage,ddns-scripts-gandi))
diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh b/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh
new file mode 100644 (file)
index 0000000..553e7e7
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+# Thanks goes to Alex Griffin who provided this script.
+
+local __TTL=600
+local __RRTYPE
+local __ENDPOINT="https://dns.api.gandi.net/api/v5"
+
+[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing subdomain as 'username'"
+[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing API Key as 'password'"
+
+[ $use_ipv6 -ne 0 ] && __RRTYPE="AAAA" || __RRTYPE="A"
+
+curl -s -X PUT "$__ENDPOINT/domains/$domain/records/$username/$__RRTYPE" \
+       -H "X-Api-Key: $password" \
+       -H "Content-Type: application/json" \
+       -d "{\"rrset_ttl\": $__TTL, \"rrset_values\": [\"$__IP\"]}" >$DATFILE
+
+write_log 7 "gandi.net answered: $(cat $DATFILE)"
+
+return 0
diff --git a/net/ddns-scripts/files/usr/share/ddns/default/gandi.net.json b/net/ddns-scripts/files/usr/share/ddns/default/gandi.net.json
new file mode 100644 (file)
index 0000000..de54a16
--- /dev/null
@@ -0,0 +1,9 @@
+{
+       "name": "gandi.net",
+       "ipv4": {
+               "url": "update_gandi_net.sh"
+       },
+       "ipv6": {
+               "url": "update_gandi_net.sh"
+       }
+}
index d2dc7e10c710c4712db74e309f014063b3001d31..581365e33da137d35477a09dad1ae2a2bbb625cd 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnstap
-PKG_VERSION:=0.2.2
+PKG_VERSION:=0.3.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=golang-dnstap-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/dnstap/golang-dnstap/archive/v$(PKG_VERSION)/
-PKG_HASH:=c7eb42f1f0ca7247b22b774dd78d9874b9db776fa9072f92a5f3a945000b7a60
+PKG_HASH:=8ccdb881cb225459c6607830f9d7761821255a81406ee4141fc61d5f4f8d4cb1
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=Apache-2.0
index be93382c01276a6baec3409e46fae098719ef575..37316c72c7956c057a7698d3b91bdb3b88837b38 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeradius3
 PKG_VERSION:=3_0_21
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=release_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/archive
@@ -63,7 +63,7 @@ endef
 define Package/freeradius3-common
   $(call Package/freeradius3/Default)
   TITLE:=common files
-  DEPENDS:=+USE_GLIBC:libpthread +FREERADIUS3_OPENSSL:libopenssl +libcap +libpcap +libncurses +libpcre +libreadline +libtalloc +libatomic
+  DEPENDS:=+USE_GLIBC:libpthread +USE_GLIBC:libbsd +FREERADIUS3_OPENSSL:libopenssl +libcap +libpcap +libncurses +libpcre +libreadline +libtalloc +libatomic
 endef
 
 define Package/freeradius3-default
index 5675c0cfe02903cd33fd9f17515e001063a66b8e..13693fa61136765187c4b1d8c5cff2f49b9175c4 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=frp
-PKG_VERSION:=0.34.0
+PKG_VERSION:=0.34.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=3c4f354c7c82eb5001f0de5a55015acbaa1fba03aa97647a74131bc4118598a8
+PKG_HASH:=f03e280d9e8fdd4948ed6a5d141e927bf9b5168d7a47a4f3e90a08065e5f192d
 
 PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
 PKG_LICENSE:=Apache-2.0
index 68e5171a043ad7902eda4b5bdcda20b889f1a6e3..104ebe63f56ae29ffe614fdcd642dd0e8d5769b0 100644 (file)
@@ -7,16 +7,20 @@
 
 include $(TOPDIR)/rules.mk
 PKG_NAME:=frr
-PKG_VERSION:=7.4
+PKG_VERSION:=7.5
 PKG_RELEASE:=2
+PKG_SOURCE_DATE:=2020-12-22
 
-PKG_SOURCE_URL:=https://github.com/FRRouting/frr/archive/
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=3c8204fda1c9b178d8446562579bbbc49d134b98f3ad02aa56f68724a2f9e40a
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
+PKG_SOURCE_VERSION:=5061dec601016ffc3da3c0fcb554c799ba9e0868
+PKG_SOURCE_URL:=https://codeload.github.com/FRRouting/frr/tar.gz/$(PKG_SOURCE_VERSION)?
+
+
+PKG_HASH:=f2f2e2df8c33805c8c038b7b85de18d41bb9c08ba6a27fae8962b343aee0b0db
 PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
 
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
 
 PKG_LICENSE:=GPL-2.0-only LGPL-2.1-only
 
@@ -38,7 +42,6 @@ PKG_DAEMON_AVAILABLE:= \
        staticd \
        vrrpd
 
-
 PKG_CONFIG_DEPENDS:= \
        CONFIG_IPV6 \
        CONFIG_FRR_OPENSSL \
index c3a2064f26ac9210b98281ecbec55c47a4d1c087..ac39e25b5a62ea3c08c79f10d46abf28da2731ac 100644 (file)
@@ -1,4 +1,4 @@
-# The watchfrr and zebra daemons are always started.
+# The staticd,watchfrr and zebra daemons are always started.
 #
 bgpd=no
 ospfd=no
diff --git a/net/frr/patches/000-bgpd_Actually_find_the_sequence_number.patch b/net/frr/patches/000-bgpd_Actually_find_the_sequence_number.patch
deleted file mode 100644 (file)
index ac3a7b4..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From 34f6d0c67a48e2117c061f6ccdcf1f512982fe8f Mon Sep 17 00:00:00 2001
-From: Donald Sharp <sharpd@cumulusnetworks.com>
-Date: Tue, 2 Jun 2020 16:10:48 -0400
-Subject: [PATCH] bgpd: Actually find the sequence number for `bgp
- extcommunity-list...`
-
-The code in the bgp extcommunity-list function was using
-argv_find to get the correct idx.  The problem was that
-we had already done argv_finds before and idx was non-zero
-thus having us always set the seq pointer to what was last
-looked up.  This causes us to pass in a value to the
-underlying function and it would just wisely ignore it
-causing a seq number of 0.
-
-We would then write this seq number of 0 and then immediately
-reject it on read in again.  BOO!
-
-Actually handle argv_find the way it was meant to be.
-
-Ticket:CM-29926
-Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
----
- bgpd/bgp_vty.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
-index 3669205ee3..9c8f1e1def 100644
---- a/bgpd/bgp_vty.c
-+++ b/bgpd/bgp_vty.c
-@@ -17617,8 +17617,7 @@ DEFUN (extcommunity_list_standard,
-       argv_find(argv, argc, "WORD", &idx);
-       cl_number_or_name = argv[idx]->arg;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       direct = argv_find(argv, argc, "permit", &idx) ? COMMUNITY_PERMIT
-@@ -17663,8 +17662,7 @@ DEFUN (extcommunity_list_name_expanded,
-       argv_find(argv, argc, "WORD", &idx);
-       cl_number_or_name = argv[idx]->arg;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       direct = argv_find(argv, argc, "permit", &idx) ? COMMUNITY_PERMIT
-@@ -17707,8 +17705,7 @@ DEFUN (no_extcommunity_list_standard_all,
-       char *seq = NULL;
-       int idx = 0;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       idx = 0;
-@@ -17772,8 +17769,7 @@ DEFUN (no_extcommunity_list_expanded_all,
-       char *seq = NULL;
-       int idx = 0;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       idx = 0;
diff --git a/net/frr/patches/001-bgpd_Some_backports.patch b/net/frr/patches/001-bgpd_Some_backports.patch
deleted file mode 100644 (file)
index b67593a..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From acf6f22d150b0050afbdaf5887b8e25d1614db4c Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Thu, 2 Jul 2020 11:08:29 +0300
-Subject: [PATCH 1/2] bgpd: Return bool type for ecommunity_add_val and
- subgroup_announce_check
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- bgpd/bgp_ecommunity.c | 6 +++---
- bgpd/bgp_route.c      | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/bgpd/bgp_ecommunity.c b/bgpd/bgp_ecommunity.c
-index d13da74b04..7d5cac4d62 100644
---- a/bgpd/bgp_ecommunity.c
-+++ b/bgpd/bgp_ecommunity.c
-@@ -107,14 +107,14 @@ bool ecommunity_add_val(struct ecommunity *ecom, struct ecommunity_val *eval,
-                           p[1] == eval->val[1]) {
-                               if (overwrite) {
-                                       memcpy(p, eval->val, ECOMMUNITY_SIZE);
--                                      return 1;
-+                                      return true;
-                               }
--                              return 0;
-+                              return false;
-                       }
-               }
-               int ret = memcmp(p, eval->val, ECOMMUNITY_SIZE);
-               if (ret == 0)
--                      return 0;
-+                      return false;
-               if (ret > 0) {
-                       if (!unique)
-                               break;
-diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index 6ae7a59a14..7bfefde482 100644
---- a/bgpd/bgp_route.c
-+++ b/bgpd/bgp_route.c
-@@ -1941,7 +1941,7 @@ bool subgroup_announce_check(struct bgp_node *rn, struct bgp_path_info *pi,
-       /* Codification of AS 0 Processing */
-       if (aspath_check_as_zero(attr->aspath))
--              return 0;
-+              return false;
-       if (CHECK_FLAG(bgp->flags, BGP_FLAG_GRACEFUL_SHUTDOWN)) {
-               if (peer->sort == BGP_PEER_IBGP
-
-From d5a157b7c377081d23b136b5ba4849abdcbecd97 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Thu, 2 Jul 2020 11:39:40 +0300
-Subject: [PATCH 2/2] bgpd: Actually find the sequence number for
- large-community-list
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- bgpd/bgp_vty.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
-index 9c8f1e1def..67ff31df8f 100644
---- a/bgpd/bgp_vty.c
-+++ b/bgpd/bgp_vty.c
-@@ -17235,8 +17235,7 @@ static int lcommunity_list_set_vty(struct vty *vty, int argc,
-       char *cl_name;
-       char *seq = NULL;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       idx = 0;
-@@ -17285,8 +17284,7 @@ static int lcommunity_list_unset_vty(struct vty *vty, int argc,
-       int idx = 0;
-       char *seq = NULL;
--      argv_find(argv, argc, "(1-4294967295)", &idx);
--      if (idx)
-+      if (argv_find(argv, argc, "(1-4294967295)", &idx))
-               seq = argv[idx]->arg;
-       idx = 0;
diff --git a/net/frr/patches/002-lib_fix_route_map_description_memory_leak.patch b/net/frr/patches/002-lib_fix_route_map_description_memory_leak.patch
deleted file mode 100644 (file)
index abdfe34..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From cc45875e0d2af0b53100ec78364dc51b39a12ac9 Mon Sep 17 00:00:00 2001
-From: Rafael Zalamena <rzalamena@opensourcerouting.org>
-Date: Mon, 6 Jul 2020 11:39:27 -0300
-Subject: [PATCH] lib: fix route map description memory leak
-
-Route map entries are not getting a chance to call `description` string
-deallocation on shutdown or when the parent entry is destroyed, so lets
-add a code to handle this in the `route_map_index_delete` function.
-
-Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
-(cherry picked from commit f0951335830203426074ddca4317f84b477e4afb)
----
- lib/routemap.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/routemap.c b/lib/routemap.c
-index 3d69a3495a..3b45133450 100644
---- a/lib/routemap.c
-+++ b/lib/routemap.c
-@@ -971,6 +971,9 @@ void route_map_index_delete(struct route_map_index *index, int notify)
-               zlog_debug("Deleting route-map %s sequence %d",
-                          index->map->name, index->pref);
-+      /* Free route map entry description. */
-+      XFREE(MTYPE_TMP, index->description);
-+
-       /* Free route map northbound hook contexts. */
-       while ((rhc = TAILQ_FIRST(&index->rhclist)) != NULL)
-               routemap_hook_context_free(rhc);
diff --git a/net/frr/patches/003-bgpd_Add_command_to_show_only_established_sessions.patch b/net/frr/patches/003-bgpd_Add_command_to_show_only_established_sessions.patch
deleted file mode 100644 (file)
index c2b1214..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-From 2939f712d152f7e3ae438cc0f1d96dd9485e7487 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Thu, 9 Jul 2020 16:00:27 +0300
-Subject: [PATCH 1/2] bgpd: Add command to show only established sessions
-
-```
-exit1-debian-9# show bgp summary
-
-IPv4 Unicast Summary:
-BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
-BGP table version 8
-RIB entries 15, using 2880 bytes of memory
-Peers 2, using 43 KiB of memory
-
-Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
-192.168.0.2     4        200        10         6        0    0    0 00:00:35            8        8
-2a02:4780::2    4          0         0         1        0    0    0    never       Active        0
-
-Total number of neighbors 2
-exit1-debian-9# show bgp summary established
-
-IPv4 Unicast Summary:
-BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
-BGP table version 8
-RIB entries 15, using 2880 bytes of memory
-Peers 2, using 43 KiB of memory
-
-Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
-192.168.0.2     4        200        10         6        0    0    0 00:00:39            8        8
-
-Total number of neighbors 2
-exit1-debian-9# show bgp summary failed
-
-IPv4 Unicast Summary:
-BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
-BGP table version 8
-RIB entries 15, using 2880 bytes of memory
-Peers 2, using 43 KiB of memory
-
-Neighbor        EstdCnt DropCnt ResetTime Reason
-2a02:4780::2          0       0     never Waiting for peer OPEN
-
-Total number of neighbors 2
-exit1-debian-9#
-```
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- bgpd/bgp_evpn_vty.c | 11 ++++++++---
- bgpd/bgp_vty.c      | 43 +++++++++++++++++++++++++++++++------------
- bgpd/bgp_vty.h      |  3 ++-
- 3 files changed, 41 insertions(+), 16 deletions(-)
-
-diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c
-index 85604d856d..42987117d4 100644
---- a/bgpd/bgp_evpn_vty.c
-+++ b/bgpd/bgp_evpn_vty.c
-@@ -4077,7 +4077,7 @@ DEFUN(show_bgp_l2vpn_evpn_es,
-  */
- DEFUN(show_bgp_l2vpn_evpn_summary,
-       show_bgp_l2vpn_evpn_summary_cmd,
--      "show bgp [vrf VRFNAME] l2vpn evpn summary [failed] [json]",
-+      "show bgp [vrf VRFNAME] l2vpn evpn summary [established|failed] [json]",
-       SHOW_STR
-       BGP_STR
-       "bgp vrf\n"
-@@ -4085,6 +4085,7 @@ DEFUN(show_bgp_l2vpn_evpn_summary,
-       L2VPN_HELP_STR
-       EVPN_HELP_STR
-       "Summary of BGP neighbor status\n"
-+      "Show only sessions in Established state\n"
-       "Show only sessions not in Established state\n"
-       JSON_STR)
- {
-@@ -4092,13 +4093,17 @@ DEFUN(show_bgp_l2vpn_evpn_summary,
-       bool uj = use_json(argc, argv);
-       char *vrf = NULL;
-       bool show_failed = false;
-+      bool show_established = false;
-       if (argv_find(argv, argc, "vrf", &idx_vrf))
-               vrf = argv[++idx_vrf]->arg;
-       if (argv_find(argv, argc, "failed", &idx_vrf))
-               show_failed = true;
--      return bgp_show_summary_vty(vty, vrf, AFI_L2VPN, SAFI_EVPN,
--                                  show_failed, uj);
-+      if (argv_find(argv, argc, "established", &idx_vrf))
-+              show_established = true;
-+
-+      return bgp_show_summary_vty(vty, vrf, AFI_L2VPN, SAFI_EVPN, show_failed,
-+                                  show_established, uj);
- }
- /*
-diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
-index 67ff31df8f..78521457fd 100644
---- a/bgpd/bgp_vty.c
-+++ b/bgpd/bgp_vty.c
-@@ -8772,7 +8772,8 @@ static void bgp_show_failed_summary(struct vty *vty, struct bgp *bgp,
- /* Show BGP peer's summary information. */
- static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
--                          bool show_failed, bool use_json)
-+                          bool show_failed, bool show_established,
-+                          bool use_json)
- {
-       struct peer *peer;
-       struct listnode *node, *nnode;
-@@ -9104,6 +9105,10 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
-                               bgp_show_failed_summary(vty, bgp, peer,
-                                                       json_peer, 0, use_json);
-                       } else if (!show_failed) {
-+                              if (show_established
-+                                  && bgp_has_peer_failed(peer, afi, safi))
-+                                      continue;
-+
-                               json_peer = json_object_new_object();
-                               if (peer_dynamic_neighbor(peer)) {
-                                       json_object_boolean_true_add(json_peer,
-@@ -9193,6 +9198,10 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
-                                                       max_neighbor_width,
-                                                       use_json);
-                       } else if (!show_failed) {
-+                              if (show_established
-+                                  && bgp_has_peer_failed(peer, afi, safi))
-+                                      continue;
-+
-                               memset(dn_flag, '\0', sizeof(dn_flag));
-                               if (peer_dynamic_neighbor(peer)) {
-                                       dn_flag[0] = '*';
-@@ -9315,7 +9324,8 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
- }
- static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
--                                    int safi, bool show_failed, bool use_json)
-+                                    int safi, bool show_failed,
-+                                    bool show_established, bool use_json)
- {
-       int is_first = 1;
-       int afi_wildcard = (afi == AFI_MAX);
-@@ -9358,7 +9368,8 @@ static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
-                                                                        false));
-                                       }
-                               }
--                              bgp_show_summary(vty, bgp, afi, safi, show_failed,
-+                              bgp_show_summary(vty, bgp, afi, safi,
-+                                               show_failed, show_established,
-                                                use_json);
-                       }
-                       safi++;
-@@ -9382,6 +9393,7 @@ static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
- static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
-                                              safi_t safi, bool show_failed,
-+                                             bool show_established,
-                                              bool use_json)
- {
-       struct listnode *node, *nnode;
-@@ -9411,7 +9423,7 @@ static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
-                                       : bgp->name);
-               }
-               bgp_show_summary_afi_safi(vty, bgp, afi, safi, show_failed,
--                                        use_json);
-+                                        show_established, use_json);
-       }
-       if (use_json)
-@@ -9421,15 +9433,16 @@ static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
- }
- int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
--                       safi_t safi, bool show_failed, bool use_json)
-+                       safi_t safi, bool show_failed, bool show_established,
-+                       bool use_json)
- {
-       struct bgp *bgp;
-       if (name) {
-               if (strmatch(name, "all")) {
--                      bgp_show_all_instances_summary_vty(vty, afi, safi,
--                                                         show_failed,
--                                                         use_json);
-+                      bgp_show_all_instances_summary_vty(
-+                              vty, afi, safi, show_failed, show_established,
-+                              use_json);
-                       return CMD_SUCCESS;
-               } else {
-                       bgp = bgp_lookup_by_name(name);
-@@ -9444,7 +9457,8 @@ int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
-                       }
-                       bgp_show_summary_afi_safi(vty, bgp, afi, safi,
--                                                show_failed, use_json);
-+                                                show_failed, show_established,
-+                                                use_json);
-                       return CMD_SUCCESS;
-               }
-       }
-@@ -9453,7 +9467,7 @@ int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
-       if (bgp)
-               bgp_show_summary_afi_safi(vty, bgp, afi, safi, show_failed,
--                                        use_json);
-+                                        show_established, use_json);
-       else {
-               if (use_json)
-                       vty_out(vty, "{}\n");
-@@ -9468,7 +9482,7 @@ int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
- /* `show [ip] bgp summary' commands. */
- DEFUN (show_ip_bgp_summary,
-        show_ip_bgp_summary_cmd,
--       "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] summary [failed] [json]",
-+       "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] summary [established|failed] [json]",
-        SHOW_STR
-        IP_STR
-        BGP_STR
-@@ -9476,6 +9490,7 @@ DEFUN (show_ip_bgp_summary,
-        BGP_AFI_HELP_STR
-        BGP_SAFI_WITH_LABEL_HELP_STR
-        "Summary of BGP neighbor status\n"
-+       "Show only sessions in Established state\n"
-        "Show only sessions not in Established state\n"
-        JSON_STR)
- {
-@@ -9483,6 +9498,7 @@ DEFUN (show_ip_bgp_summary,
-       afi_t afi = AFI_MAX;
-       safi_t safi = SAFI_MAX;
-       bool show_failed = false;
-+      bool show_established = false;
-       int idx = 0;
-@@ -9504,10 +9520,13 @@ DEFUN (show_ip_bgp_summary,
-       if (argv_find(argv, argc, "failed", &idx))
-               show_failed = true;
-+      if (argv_find(argv, argc, "established", &idx))
-+              show_established = true;
-       bool uj = use_json(argc, argv);
--      return bgp_show_summary_vty(vty, vrf, afi, safi, show_failed, uj);
-+      return bgp_show_summary_vty(vty, vrf, afi, safi, show_failed,
-+                                  show_established, uj);
- }
- const char *get_afi_safi_str(afi_t afi, safi_t safi, bool for_json)
-diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h
-index d6ca198d09..95eefbc36f 100644
---- a/bgpd/bgp_vty.h
-+++ b/bgpd/bgp_vty.h
-@@ -178,6 +178,7 @@ extern int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
- int bgp_vty_find_and_parse_bgp(struct vty *vty, struct cmd_token **argv,
-                              int argc, struct bgp **bgp, bool use_json);
- extern int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
--                              safi_t safi, bool show_failed, bool use_json);
-+                              safi_t safi, bool show_failed,
-+                              bool show_established, bool use_json);
- #endif /* _QUAGGA_BGP_VTY_H */
-
-From 2600443342d8e21d30df2b6ca095a5f2d0d4de2d Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Thu, 9 Jul 2020 16:05:08 +0300
-Subject: [PATCH 2/2] doc: Add 'show bgp summary established' command
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- doc/user/bgp.rst | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst
-index cb343e8dad..36227db604 100644
---- a/doc/user/bgp.rst
-+++ b/doc/user/bgp.rst
-@@ -2710,6 +2710,12 @@ structure is extended with :clicmd:`show bgp [afi] [safi]`.
-    Show a bgp peer summary for peers that are not succesfully exchanging routes
-    for the specified address family, and subsequent address-family.
-+.. index:: show bgp [afi] [safi] summary established [json]
-+.. clicmd:: show bgp [afi] [safi] summary established [json]
-+
-+   Show a bgp peer summary for peers that are succesfully exchanging routes
-+   for the specified address family, and subsequent address-family.
-+
- .. index:: show bgp [afi] [safi] neighbor [PEER]
- .. clicmd:: show bgp [afi] [safi] neighbor [PEER]
diff --git a/net/frr/patches/004-Add_BFD_peer_awareness_to_frr-reload.patch b/net/frr/patches/004-Add_BFD_peer_awareness_to_frr-reload.patch
deleted file mode 100644 (file)
index a8a612b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 692ce87393de9497a7821e9e0856ff70a7973ff6 Mon Sep 17 00:00:00 2001
-From: Paul Manley <paul.manley@wholefoods.com>
-Date: Thu, 9 Jul 2020 11:21:16 -0500
-Subject: [PATCH 1/2] tools: create sub-context for bfd peers
-
-add lines starting with 'peer' to the list of sub-contexts that are handled by frr-reload.py.
-
-https://github.com/FRRouting/frr/issues/6511#issuecomment-655163833
-
-Signed-off-by: Paul Manley <paul.manley@wholefoods.com>
-(cherry picked from commit 1c23a0aaa1c5d20af50af75b070e93e1eff21222)
----
- tools/frr-reload.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tools/frr-reload.py b/tools/frr-reload.py
-index d4020cdfc9..e9641b2b13 100755
---- a/tools/frr-reload.py
-+++ b/tools/frr-reload.py
-@@ -496,6 +496,7 @@ def load_contexts(self):
-                   line.startswith("vnc defaults") or
-                   line.startswith("vnc l2-group") or
-                   line.startswith("vnc nve-group") or
-+                  line.startswith("peer") or
-                   line.startswith("member pseudowire")):
-                 main_ctx_key = []
-
-From 2604086c3d9face0aca2497a982782c865bb2b59 Mon Sep 17 00:00:00 2001
-From: Paul Manley <paul.manley@wholefoods.com>
-Date: Thu, 9 Jul 2020 11:25:34 -0500
-Subject: [PATCH 2/2] vtysh: properly exit BFD_PEER_NODE when marking file
-
-vtysh needs to be aware of how to properly exit a bfd peer when subsequent commands only succeed in a higher context.
-
-https://github.com/FRRouting/frr/issues/6511#issuecomment-656166206
-
-Signed-off-by: Paul Manley <paul.manley@wholefoods.com>
-(cherry picked from commit b727c12aabf1afc2b6e33f8590c9786e349e4fcb)
----
- vtysh/vtysh.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
-index 15ec866fc9..4fdf68c0e6 100644
---- a/vtysh/vtysh.c
-+++ b/vtysh/vtysh.c
-@@ -809,6 +809,9 @@ int vtysh_mark_file(const char *filename)
-                       } else if ((prev_node == KEYCHAIN_KEY_NODE)
-                                  && (tried == 1)) {
-                               vty_out(vty, "exit\n");
-+                      } else if ((prev_node == BFD_PEER_NODE)
-+                                 && (tried == 1)) {
-+                              vty_out(vty, "exit\n");
-                       } else if (tried) {
-                               vty_out(vty, "end\n");
-                       }
diff --git a/net/frr/patches/005-vtysh_fixes.patch b/net/frr/patches/005-vtysh_fixes.patch
deleted file mode 100644 (file)
index 83983a0..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-From cc5934ed5939315ba5d95bfaf052625762107205 Mon Sep 17 00:00:00 2001
-From: Donald Sharp <sharpd@cumulusnetworks.com>
-Date: Tue, 30 Jun 2020 08:59:46 -0400
-Subject: [PATCH 1/2] vtysh: master is a non-sorted list
-
-The commit:
-a798241265a5808083a06b14ce1637d1ddf6a45a
-
-attempted to use sorted master lists to do faster lookups
-by using a RB Tree.  Unfortunately the original code
-was creating a list->cmp function *but* never using it.
-If you look at the commit, it clearly shows that the
-function listnode_add is used to insert but when you
-look at that function it is a tail push.
-
-Fixes: #6573
-
-Namely now this ordering is preserved:
-bgp as-path access-list originate-only permit ^$
-bgp as-path access-list originate-only deny .*
-
-Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
----
- vtysh/vtysh_config.c | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
-index abbb111f9d..2ab9dd5a9a 100644
---- a/vtysh/vtysh_config.c
-+++ b/vtysh/vtysh_config.c
-@@ -34,7 +34,7 @@ DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CONFIG_LINE, "Vtysh configuration line")
- vector configvec;
--PREDECL_RBTREE_UNIQ(config_master);
-+PREDECL_LIST(config_master);
- struct config {
-       /* Configuration node name. */
-@@ -72,11 +72,6 @@ static struct config *config_new(void)
-       return config;
- }
--static int config_cmp(const struct config *c1, const struct config *c2)
--{
--      return strcmp(c1->name, c2->name);
--}
--
- static void config_del(struct config *config)
- {
-       list_delete(&config->line);
-@@ -84,13 +79,15 @@ static void config_del(struct config *config)
-       XFREE(MTYPE_VTYSH_CONFIG, config);
- }
--DECLARE_RBTREE_UNIQ(config_master, struct config, rbt_item, config_cmp)
-+DECLARE_LIST(config_master, struct config, rbt_item)
- static struct config *config_get(int index, const char *line)
- {
--      struct config *config;
-+      struct config *config, *config_loop;
-       struct config_master_head *master;
-+      config = config_loop = NULL;
-+
-       master = vector_lookup_ensure(configvec, index);
-       if (!master) {
-@@ -99,8 +96,10 @@ static struct config *config_get(int index, const char *line)
-               vector_set_index(configvec, index, master);
-       }
--      const struct config config_ref = { .name = (char *)line };
--      config = config_master_find(master, &config_ref);
-+      frr_each (config_master, master, config_loop) {
-+              if (strcmp(config_loop->name, line) == 0)
-+                      config = config_loop;
-+      }
-       if (!config) {
-               config = config_new();
-@@ -109,7 +108,7 @@ static struct config *config_get(int index, const char *line)
-               config->line->cmp = (int (*)(void *, void *))line_cmp;
-               config->name = XSTRDUP(MTYPE_VTYSH_CONFIG_LINE, line);
-               config->index = index;
--              config_master_add(master, config);
-+              config_master_add_tail(master, config);
-       }
-       return config;
- }
-
-From 3e4d90ec556649e11954f2f56b5282f95e7e013b Mon Sep 17 00:00:00 2001
-From: Donald Sharp <sharpd@cumulusnetworks.com>
-Date: Tue, 30 Jun 2020 09:03:55 -0400
-Subject: [PATCH 2/2] vtysh: Improve lookup performance
-
-When we find the line we are interested in, stop looking.
-
-Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
----
- vtysh/vtysh_config.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
-index 2ab9dd5a9a..61bcf3b658 100644
---- a/vtysh/vtysh_config.c
-+++ b/vtysh/vtysh_config.c
-@@ -97,8 +97,10 @@ static struct config *config_get(int index, const char *line)
-       }
-       frr_each (config_master, master, config_loop) {
--              if (strcmp(config_loop->name, line) == 0)
-+              if (strcmp(config_loop->name, line) == 0) {
-                       config = config_loop;
-+                      break;
-+              }
-       }
-       if (!config) {
diff --git a/net/frr/patches/006-bgpd_how_the_real_next_hop_address.patch b/net/frr/patches/006-bgpd_how_the_real_next_hop_address.patch
deleted file mode 100644 (file)
index b819d69..0000000
+++ /dev/null
@@ -1,835 +0,0 @@
-From c6a5994609deec62c8aefa1fa15c517e32575ca3 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Wed, 6 May 2020 17:45:31 +0300
-Subject: [PATCH 1/4] tests: Remove bgp_show_ip_bgp_fqdn test
-
-Not really relevant for now.
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- .../bgp_show_ip_bgp_fqdn/__init__.py          |   0
- .../bgp_show_ip_bgp_fqdn/r1/bgpd.conf         |   5 -
- .../bgp_show_ip_bgp_fqdn/r1/zebra.conf        |   9 --
- .../bgp_show_ip_bgp_fqdn/r2/bgpd.conf         |   5 -
- .../bgp_show_ip_bgp_fqdn/r2/zebra.conf        |  12 --
- .../bgp_show_ip_bgp_fqdn/r3/bgpd.conf         |   3 -
- .../bgp_show_ip_bgp_fqdn/r3/zebra.conf        |   6 -
- .../test_bgp_show_ip_bgp_fqdn.py              | 133 ------------------
- 8 files changed, 173 deletions(-)
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/__init__.py
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r1/bgpd.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r1/zebra.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r2/bgpd.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r2/zebra.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r3/bgpd.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/r3/zebra.conf
- delete mode 100644 tests/topotests/bgp_show_ip_bgp_fqdn/test_bgp_show_ip_bgp_fqdn.py
-
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/__init__.py b/tests/topotests/bgp_show_ip_bgp_fqdn/__init__.py
-deleted file mode 100644
-index e69de29bb2..0000000000
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r1/bgpd.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r1/bgpd.conf
-deleted file mode 100644
-index f0df56e947..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r1/bgpd.conf
-+++ /dev/null
-@@ -1,5 +0,0 @@
--router bgp 65000
--  no bgp ebgp-requires-policy
--  neighbor 192.168.255.2 remote-as 65001
--  address-family ipv4 unicast
--    redistribute connected
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r1/zebra.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r1/zebra.conf
-deleted file mode 100644
-index 0a283c06d5..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r1/zebra.conf
-+++ /dev/null
-@@ -1,9 +0,0 @@
--!
--interface lo
-- ip address 172.16.255.254/32
--!
--interface r1-eth0
-- ip address 192.168.255.1/24
--!
--ip forwarding
--!
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r2/bgpd.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r2/bgpd.conf
-deleted file mode 100644
-index 422a7345f9..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r2/bgpd.conf
-+++ /dev/null
-@@ -1,5 +0,0 @@
--router bgp 65001
--  no bgp ebgp-requires-policy
--  bgp default show-hostname
--  neighbor 192.168.255.1 remote-as 65000
--  neighbor 192.168.254.1 remote-as 65001
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r2/zebra.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r2/zebra.conf
-deleted file mode 100644
-index e9e2e4391f..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r2/zebra.conf
-+++ /dev/null
-@@ -1,12 +0,0 @@
--!
--interface lo
-- ip address 172.16.255.253/32
--!
--interface r2-eth0
-- ip address 192.168.255.2/24
--!
--interface r2-eth1
-- ip address 192.168.254.2/24
--!
--ip forwarding
--!
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r3/bgpd.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r3/bgpd.conf
-deleted file mode 100644
-index 8fcf6a736d..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r3/bgpd.conf
-+++ /dev/null
-@@ -1,3 +0,0 @@
--router bgp 65001
--  bgp default show-hostname
--  neighbor 192.168.254.2 remote-as 65001
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/r3/zebra.conf b/tests/topotests/bgp_show_ip_bgp_fqdn/r3/zebra.conf
-deleted file mode 100644
-index a8b8bc38c5..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/r3/zebra.conf
-+++ /dev/null
-@@ -1,6 +0,0 @@
--!
--interface r3-eth0
-- ip address 192.168.254.1/24
--!
--ip forwarding
--!
-diff --git a/tests/topotests/bgp_show_ip_bgp_fqdn/test_bgp_show_ip_bgp_fqdn.py b/tests/topotests/bgp_show_ip_bgp_fqdn/test_bgp_show_ip_bgp_fqdn.py
-deleted file mode 100644
-index e8ad180935..0000000000
---- a/tests/topotests/bgp_show_ip_bgp_fqdn/test_bgp_show_ip_bgp_fqdn.py
-+++ /dev/null
-@@ -1,133 +0,0 @@
--#!/usr/bin/env python
--
--#
--# test_bgp_show_ip_bgp_fqdn.py
--# Part of NetDEF Topology Tests
--#
--# Copyright (c) 2019 by
--# Donatas Abraitis <donatas.abraitis@gmail.com>
--#
--# 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 NETDEF DISCLAIMS ALL WARRANTIES
--# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
--# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NETDEF 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.
--#
--
--"""
--test_bgp_show_ip_bgp_fqdn.py:
--Test if FQND is visible in `show [ip] bgp` output if
--`bgp default show-hostname` is toggled.
--
--Topology:
--r1 <-- eBGP --> r2 <-- iBGP --> r3
--
--1. Check if both hostname and ip are added to JSON output
--for 172.16.255.254/32 on r2.
--2. Check if only ip is added to JSON output for 172.16.255.254/32 on r3.
--"""
--
--import os
--import sys
--import json
--import time
--import pytest
--import functools
--
--CWD = os.path.dirname(os.path.realpath(__file__))
--sys.path.append(os.path.join(CWD, "../"))
--
--# pylint: disable=C0413
--from lib import topotest
--from lib.topogen import Topogen, TopoRouter, get_topogen
--from lib.topolog import logger
--from mininet.topo import Topo
--
--
--class TemplateTopo(Topo):
--    def build(self, *_args, **_opts):
--        tgen = get_topogen(self)
--
--        for routern in range(1, 4):
--            tgen.add_router("r{}".format(routern))
--
--        switch = tgen.add_switch("s1")
--        switch.add_link(tgen.gears["r1"])
--        switch.add_link(tgen.gears["r2"])
--
--        switch = tgen.add_switch("s2")
--        switch.add_link(tgen.gears["r2"])
--        switch.add_link(tgen.gears["r3"])
--
--
--def setup_module(mod):
--    tgen = Topogen(TemplateTopo, mod.__name__)
--    tgen.start_topology()
--
--    router_list = tgen.routers()
--
--    for i, (rname, router) in enumerate(router_list.iteritems(), 1):
--        router.load_config(
--            TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
--        )
--        router.load_config(
--            TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
--        )
--
--    tgen.start_router()
--
--
--def teardown_module(mod):
--    tgen = get_topogen()
--    tgen.stop_topology()
--
--
--def test_bgp_show_ip_bgp_hostname():
--    tgen = get_topogen()
--
--    if tgen.routers_have_failure():
--        pytest.skip(tgen.errors)
--
--    def _bgp_converge(router):
--        output = json.loads(router.vtysh_cmd("show ip bgp 172.16.255.254/32 json"))
--        expected = {"prefix": "172.16.255.254/32"}
--        return topotest.json_cmp(output, expected)
--
--    def _bgp_show_nexthop_hostname_and_ip(router):
--        output = json.loads(router.vtysh_cmd("show ip bgp json"))
--        for nh in output["routes"]["172.16.255.254/32"][0]["nexthops"]:
--            if "hostname" in nh and "ip" in nh:
--                return True
--        return False
--
--    def _bgp_show_nexthop_ip_only(router):
--        output = json.loads(router.vtysh_cmd("show ip bgp json"))
--        for nh in output["routes"]["172.16.255.254/32"][0]["nexthops"]:
--            if "ip" in nh and not "hostname" in nh:
--                return True
--        return False
--
--    test_func = functools.partial(_bgp_converge, tgen.gears["r2"])
--    success, result = topotest.run_and_expect(test_func, None, count=60, wait=0.5)
--
--    test_func = functools.partial(_bgp_converge, tgen.gears["r3"])
--    success, result = topotest.run_and_expect(test_func, None, count=60, wait=0.5)
--
--    assert result is None, 'Failed bgp convergence in "{}"'.format(tgen.gears["r2"])
--    assert _bgp_show_nexthop_hostname_and_ip(tgen.gears["r2"]) == True
--
--    assert result is None, 'Failed bgp convergence in "{}"'.format(tgen.gears["r3"])
--    assert _bgp_show_nexthop_ip_only(tgen.gears["r3"]) == True
--
--
--if __name__ == "__main__":
--    args = ["-s"] + sys.argv[1:]
--    sys.exit(pytest.main(args))
-
-From e7cc3d21452bd771a97bc46ab5a1e4853c46f944 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Wed, 6 May 2020 17:46:10 +0300
-Subject: [PATCH 2/4] bgpd: Show the real next-hop address in addition to
- hostname in `show bgp`
-
-It's hard to cope with cases when next-hop is changed/unchanged or
-peers are non-direct.
-
-It would be better to show the hostname and nexthop IP address (both)
-under `show bgp` to quickly identify the source and the real next-hop
-of the route.
-
-If `bgp default show-nexthop-hostname` is toggled the output looks like:
-```
-spine1-debian-9# show bgp
-BGP table version is 1, local router ID is 2.2.2.2, vrf id 0
-Default local pref 100, local AS 65002
-Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
-               i internal, r RIB-failure, S Stale, R Removed
-Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
-Origin codes:  i - IGP, e - EGP, ? - incomplete
-
-   Network          Next Hop            Metric LocPrf Weight Path
-*  2a02:4780::/64   fe80::a00:27ff:fe09:f8a3(exit1-debian-9)
-                                             0             0 65001 ?
-
-spine1-debian-9# show ip bgp
-BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
-Default local pref 100, local AS 65002
-Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
-               i internal, r RIB-failure, S Stale, R Removed
-Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
-Origin codes:  i - IGP, e - EGP, ? - incomplete
-
-   Network          Next Hop            Metric LocPrf Weight Path
-*> 10.255.255.0/24  192.168.0.1(exit1-debian-9)
-                                             0             0 65001 ?
-```
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- bgpd/bgp_route.c | 161 ++++++++++++++++++++++++++++++-----------------
- bgpd/bgp_vty.c   |  45 +++++++++++++
- bgpd/bgpd.h      |   1 +
- 3 files changed, 149 insertions(+), 58 deletions(-)
-
-diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index 7bfefde482..f033f525e5 100644
---- a/bgpd/bgp_route.c
-+++ b/bgpd/bgp_route.c
-@@ -7559,8 +7559,7 @@ static char *bgp_nexthop_hostname(struct peer *peer,
-                                 struct bgp_nexthop_cache *bnc)
- {
-       if (peer->hostname
--          && CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SHOW_HOSTNAME) && bnc
--          && CHECK_FLAG(bnc->flags, BGP_NEXTHOP_CONNECTED))
-+          && CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SHOW_NEXTHOP_HOSTNAME))
-               return peer->hostname;
-       return NULL;
- }
-@@ -7570,6 +7569,7 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                  struct bgp_path_info *path, int display, safi_t safi,
-                  json_object *json_paths)
- {
-+      int len;
-       struct attr *attr = path->attr;
-       json_object *json_path = NULL;
-       json_object *json_nexthops = NULL;
-@@ -7681,10 +7681,19 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                                              : "ipv6");
-                       json_object_boolean_true_add(json_nexthop_global,
-                                                    "used");
--              } else
--                      vty_out(vty, "%s%s",
--                              nexthop_hostname ? nexthop_hostname : nexthop,
--                              vrf_id_str);
-+              } else {
-+                      if (nexthop_hostname)
-+                              len = vty_out(vty, "%s(%s)%s", nexthop,
-+                                            nexthop_hostname, vrf_id_str);
-+                      else
-+                              len = vty_out(vty, "%s%s", nexthop, vrf_id_str);
-+
-+                      len = 16 - len;
-+                      if (len < 1)
-+                              vty_out(vty, "\n%*s", 36, " ");
-+                      else
-+                              vty_out(vty, "%*s", len, " ");
-+              }
-       } else if (safi == SAFI_EVPN) {
-               if (json_paths) {
-                       json_nexthop_global = json_object_new_object();
-@@ -7701,11 +7710,20 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                              "ipv4");
-                       json_object_boolean_true_add(json_nexthop_global,
-                                                    "used");
--              } else
--                      vty_out(vty, "%-16s%s",
--                              nexthop_hostname ? nexthop_hostname
--                                               : inet_ntoa(attr->nexthop),
--                              vrf_id_str);
-+              } else {
-+                      if (nexthop_hostname)
-+                              len = vty_out(vty, "%pI4(%s)%s", &attr->nexthop,
-+                                            nexthop_hostname, vrf_id_str);
-+                      else
-+                              len = vty_out(vty, "%pI4%s", &attr->nexthop,
-+                                            vrf_id_str);
-+
-+                      len = 16 - len;
-+                      if (len < 1)
-+                              vty_out(vty, "\n%*s", 36, " ");
-+                      else
-+                              vty_out(vty, "%*s", len, " ");
-+              }
-       } else if (safi == SAFI_FLOWSPEC) {
-               if (attr->nexthop.s_addr != INADDR_ANY) {
-                       if (json_paths) {
-@@ -7726,10 +7744,21 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                                       json_nexthop_global,
-                                                            "used");
-                       } else {
--                              vty_out(vty, "%-16s",
--                                      nexthop_hostname
--                                              ? nexthop_hostname
--                                              : inet_ntoa(attr->nexthop));
-+                              if (nexthop_hostname)
-+                                      len = vty_out(vty, "%pI4(%s)%s",
-+                                                    &attr->nexthop,
-+                                                    nexthop_hostname,
-+                                                    vrf_id_str);
-+                              else
-+                                      len = vty_out(vty, "%pI4%s",
-+                                                    &attr->nexthop,
-+                                                    vrf_id_str);
-+
-+                              len = 16 - len;
-+                              if (len < 1)
-+                                      vty_out(vty, "\n%*s", 36, " ");
-+                              else
-+                                      vty_out(vty, "%*s", len, " ");
-                       }
-               }
-       } else if (p->family == AF_INET && !BGP_ATTR_NEXTHOP_AFI_IP6(attr)) {
-@@ -7749,19 +7778,23 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                       json_object_boolean_true_add(json_nexthop_global,
-                                                    "used");
-               } else {
--                      char buf[BUFSIZ];
-+                      if (nexthop_hostname)
-+                              len = vty_out(vty, "%pI4(%s)%s", &attr->nexthop,
-+                                            nexthop_hostname, vrf_id_str);
-+                      else
-+                              len = vty_out(vty, "%pI4%s", &attr->nexthop,
-+                                            vrf_id_str);
--                      snprintf(buf, sizeof(buf), "%s%s",
--                               nexthop_hostname ? nexthop_hostname
--                                                : inet_ntoa(attr->nexthop),
--                               vrf_id_str);
--                      vty_out(vty, "%-16s", buf);
-+                      len = 16 - len;
-+                      if (len < 1)
-+                              vty_out(vty, "\n%*s", 36, " ");
-+                      else
-+                              vty_out(vty, "%*s", len, " ");
-               }
-       }
-       /* IPv6 Next Hop */
-       else if (p->family == AF_INET6 || BGP_ATTR_NEXTHOP_AFI_IP6(attr)) {
--              int len;
-               char buf[BUFSIZ];
-               if (json_paths) {
-@@ -7835,15 +7868,18 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                       else
-                                               vty_out(vty, "%*s", len, " ");
-                               } else {
--                                      len = vty_out(
--                                              vty, "%s%s",
--                                              nexthop_hostname
--                                                      ? nexthop_hostname
--                                                      : inet_ntop(
--                                                                AF_INET6,
--                                                                &attr->mp_nexthop_local,
--                                                                buf, BUFSIZ),
--                                              vrf_id_str);
-+                                      if (nexthop_hostname)
-+                                              len = vty_out(
-+                                                      vty, "%pI6(%s)%s",
-+                                                      &attr->mp_nexthop_local,
-+                                                      nexthop_hostname,
-+                                                      vrf_id_str);
-+                                      else
-+                                              len = vty_out(
-+                                                      vty, "%pI6%s",
-+                                                      &attr->mp_nexthop_local,
-+                                                      vrf_id_str);
-+
-                                       len = 16 - len;
-                                       if (len < 1)
-@@ -7852,15 +7888,16 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                               vty_out(vty, "%*s", len, " ");
-                               }
-                       } else {
--                              len = vty_out(
--                                      vty, "%s%s",
--                                      nexthop_hostname
--                                              ? nexthop_hostname
--                                              : inet_ntop(
--                                                        AF_INET6,
--                                                        &attr->mp_nexthop_global,
--                                                        buf, BUFSIZ),
--                                      vrf_id_str);
-+                              if (nexthop_hostname)
-+                                      len = vty_out(vty, "%pI6(%s)%s",
-+                                                    &attr->mp_nexthop_global,
-+                                                    nexthop_hostname,
-+                                                    vrf_id_str);
-+                              else
-+                                      len = vty_out(vty, "%pI6%s",
-+                                                    &attr->mp_nexthop_global,
-+                                                    vrf_id_str);
-+
-                               len = 16 - len;
-                               if (len < 1)
-@@ -7986,6 +8023,7 @@ void route_vty_out_tmp(struct vty *vty, const struct prefix *p,
- {
-       json_object *json_status = NULL;
-       json_object *json_net = NULL;
-+      int len;
-       char buff[BUFSIZ];
-       /* Route status display. */
-@@ -8079,7 +8117,6 @@ void route_vty_out_tmp(struct vty *vty, const struct prefix *p,
-                                               inet_ntoa(attr->nexthop));
-                       } else if (p->family == AF_INET6
-                                  || BGP_ATTR_NEXTHOP_AFI_IP6(attr)) {
--                              int len;
-                               char buf[BUFSIZ];
-                               len = vty_out(
-@@ -8823,12 +8860,15 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                                       json_object_string_add(
-                                               json_nexthop_global, "hostname",
-                                               nexthop_hostname);
--                      } else
--                              vty_out(vty, "    %s",
--                                      nexthop_hostname
--                                              ? nexthop_hostname
--                                              : inet_ntoa(
--                                                        attr->mp_nexthop_global_in));
-+                      } else {
-+                              if (nexthop_hostname)
-+                                      vty_out(vty, "    %pI4(%s)",
-+                                              &attr->mp_nexthop_global_in,
-+                                              nexthop_hostname);
-+                              else
-+                                      vty_out(vty, "    %pI4",
-+                                              &attr->mp_nexthop_global_in);
-+                      }
-               } else {
-                       if (json_paths) {
-                               json_object_string_add(
-@@ -8839,11 +8879,15 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                                       json_object_string_add(
-                                               json_nexthop_global, "hostname",
-                                               nexthop_hostname);
--                      } else
--                              vty_out(vty, "    %s",
--                                      nexthop_hostname
--                                              ? nexthop_hostname
--                                              : inet_ntoa(attr->nexthop));
-+                      } else {
-+                              if (nexthop_hostname)
-+                                      vty_out(vty, "    %pI4(%s)",
-+                                              &attr->nexthop,
-+                                              nexthop_hostname);
-+                              else
-+                                      vty_out(vty, "    %pI4",
-+                                              &attr->nexthop);
-+                      }
-               }
-               if (json_paths)
-@@ -8866,12 +8910,13 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                       json_object_string_add(json_nexthop_global, "scope",
-                                              "global");
-               } else {
--                      vty_out(vty, "    %s",
--                              nexthop_hostname
--                                      ? nexthop_hostname
--                                      : inet_ntop(AF_INET6,
--                                                  &attr->mp_nexthop_global,
--                                                  buf, INET6_ADDRSTRLEN));
-+                      if (nexthop_hostname)
-+                              vty_out(vty, "    %pI6(%s)",
-+                                      &attr->mp_nexthop_global,
-+                                      nexthop_hostname);
-+                      else
-+                              vty_out(vty, "    %pI6",
-+                                      &attr->mp_nexthop_global);
-               }
-       }
-diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
-index 78521457fd..7f00ff3fbe 100644
---- a/bgpd/bgp_vty.c
-+++ b/bgpd/bgp_vty.c
-@@ -84,6 +84,10 @@ FRR_CFG_DEFAULT_BOOL(BGP_SHOW_HOSTNAME,
-       { .val_bool = true, .match_profile = "datacenter", },
-       { .val_bool = false },
- )
-+FRR_CFG_DEFAULT_BOOL(BGP_SHOW_NEXTHOP_HOSTNAME,
-+      { .val_bool = true, .match_profile = "datacenter", },
-+      { .val_bool = false },
-+)
- FRR_CFG_DEFAULT_BOOL(BGP_LOG_NEIGHBOR_CHANGES,
-       { .val_bool = true, .match_profile = "datacenter", },
-       { .val_bool = false },
-@@ -422,6 +426,8 @@ int bgp_get_vty(struct bgp **bgp, as_t *as, const char *name,
-                       SET_FLAG((*bgp)->flags, BGP_FLAG_IMPORT_CHECK);
-               if (DFLT_BGP_SHOW_HOSTNAME)
-                       SET_FLAG((*bgp)->flags, BGP_FLAG_SHOW_HOSTNAME);
-+              if (DFLT_BGP_SHOW_NEXTHOP_HOSTNAME)
-+                      SET_FLAG((*bgp)->flags, BGP_FLAG_SHOW_NEXTHOP_HOSTNAME);
-               if (DFLT_BGP_LOG_NEIGHBOR_CHANGES)
-                       SET_FLAG((*bgp)->flags, BGP_FLAG_LOG_NEIGHBOR_CHANGES);
-               if (DFLT_BGP_DETERMINISTIC_MED)
-@@ -3100,6 +3106,32 @@ DEFUN (no_bgp_default_show_hostname,
-       return CMD_SUCCESS;
- }
-+/* Display hostname in certain command outputs */
-+DEFUN (bgp_default_show_nexthop_hostname,
-+       bgp_default_show_nexthop_hostname_cmd,
-+       "bgp default show-nexthop-hostname",
-+       "BGP specific commands\n"
-+       "Configure BGP defaults\n"
-+       "Show hostname for nexthop in certain command outputs\n")
-+{
-+      VTY_DECLVAR_CONTEXT(bgp, bgp);
-+      SET_FLAG(bgp->flags, BGP_FLAG_SHOW_NEXTHOP_HOSTNAME);
-+      return CMD_SUCCESS;
-+}
-+
-+DEFUN (no_bgp_default_show_nexthop_hostname,
-+       no_bgp_default_show_nexthop_hostname_cmd,
-+       "no bgp default show-nexthop-hostname",
-+       NO_STR
-+       "BGP specific commands\n"
-+       "Configure BGP defaults\n"
-+       "Show hostname for nexthop in certain command outputs\n")
-+{
-+      VTY_DECLVAR_CONTEXT(bgp, bgp);
-+      UNSET_FLAG(bgp->flags, BGP_FLAG_SHOW_NEXTHOP_HOSTNAME);
-+      return CMD_SUCCESS;
-+}
-+
- /* "bgp network import-check" configuration.  */
- DEFUN (bgp_network_import_check,
-        bgp_network_import_check_cmd,
-@@ -15190,6 +15222,15 @@ int bgp_config_write(struct vty *vty)
-                                       ? ""
-                                       : "no ");
-+              /* BGP default show-nexthop-hostname */
-+              if (!!CHECK_FLAG(bgp->flags, BGP_FLAG_SHOW_NEXTHOP_HOSTNAME)
-+                  != SAVE_BGP_SHOW_HOSTNAME)
-+                      vty_out(vty, " %sbgp default show-nexthop-hostname\n",
-+                              CHECK_FLAG(bgp->flags,
-+                                         BGP_FLAG_SHOW_NEXTHOP_HOSTNAME)
-+                                      ? ""
-+                                      : "no ");
-+
-               /* BGP default subgroup-pkt-queue-max. */
-               if (bgp->default_subgroup_pkt_queue_max
-                   != BGP_DEFAULT_SUBGROUP_PKT_QUEUE_MAX)
-@@ -15815,6 +15856,10 @@ void bgp_vty_init(void)
-       install_element(BGP_NODE, &bgp_default_show_hostname_cmd);
-       install_element(BGP_NODE, &no_bgp_default_show_hostname_cmd);
-+      /* bgp default show-nexthop-hostname */
-+      install_element(BGP_NODE, &bgp_default_show_nexthop_hostname_cmd);
-+      install_element(BGP_NODE, &no_bgp_default_show_nexthop_hostname_cmd);
-+
-       /* "bgp default subgroup-pkt-queue-max" commands. */
-       install_element(BGP_NODE, &bgp_default_subgroup_pkt_queue_max_cmd);
-       install_element(BGP_NODE, &no_bgp_default_subgroup_pkt_queue_max_cmd);
-diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
-index 4a5772a53b..4efc068dea 100644
---- a/bgpd/bgpd.h
-+++ b/bgpd/bgpd.h
-@@ -447,6 +447,7 @@ struct bgp {
- #define BGP_FLAG_SELECT_DEFER_DISABLE     (1 << 23)
- #define BGP_FLAG_GR_DISABLE_EOR           (1 << 24)
- #define BGP_FLAG_EBGP_REQUIRES_POLICY (1 << 25)
-+#define BGP_FLAG_SHOW_NEXTHOP_HOSTNAME (1 << 26)
-       enum global_mode GLOBAL_GR_FSM[BGP_GLOBAL_GR_MODE]
-                                     [BGP_GLOBAL_GR_EVENT_CMD];
-
-From 104dfe5258cbeb0443fa4d6577794a1e5a5dafd3 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Wed, 6 May 2020 17:50:04 +0300
-Subject: [PATCH 3/4] bgpd: Add "hostname" in JSON output for `show bgp` family
- outputs
-
-This adds hostname regardless if `bgp default show-hostname` enabled or not.
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- bgpd/bgp_route.c | 40 ++++++++++++++++++++--------------------
- 1 file changed, 20 insertions(+), 20 deletions(-)
-
-diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index f033f525e5..5f645fa871 100644
---- a/bgpd/bgp_route.c
-+++ b/bgpd/bgp_route.c
-@@ -7671,10 +7671,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                       json_object_string_add(json_nexthop_global, "ip",
-                                              nexthop);
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_global,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_global, "afi",
-                                              (af == AF_INET) ? "ipv4"
-@@ -7701,10 +7701,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                       json_object_string_add(json_nexthop_global, "ip",
-                                              inet_ntoa(attr->nexthop));
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_global,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_global, "afi",
-                                              "ipv4");
-@@ -7735,10 +7735,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                       json_nexthop_global, "ip",
-                                       inet_ntoa(attr->nexthop));
--                              if (nexthop_hostname)
-+                              if (path->peer->hostname)
-                                       json_object_string_add(
-                                               json_nexthop_global, "hostname",
--                                              nexthop_hostname);
-+                                              path->peer->hostname);
-                               json_object_boolean_true_add(
-                                                       json_nexthop_global,
-@@ -7768,10 +7768,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                       json_object_string_add(json_nexthop_global, "ip",
-                                              inet_ntoa(attr->nexthop));
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_global,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_global, "afi",
-                                              "ipv4");
-@@ -7804,10 +7804,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                               inet_ntop(AF_INET6, &attr->mp_nexthop_global,
-                                         buf, BUFSIZ));
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_global,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_global, "afi",
-                                              "ipv6");
-@@ -7826,10 +7826,10 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
-                                                 &attr->mp_nexthop_local, buf,
-                                                 BUFSIZ));
--                              if (nexthop_hostname)
-+                              if (path->peer->hostname)
-                                       json_object_string_add(
-                                               json_nexthop_ll, "hostname",
--                                              nexthop_hostname);
-+                                              path->peer->hostname);
-                               json_object_string_add(json_nexthop_ll, "afi",
-                                                      "ipv6");
-@@ -8856,10 +8856,10 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                                       json_nexthop_global, "ip",
-                                       inet_ntoa(attr->mp_nexthop_global_in));
--                              if (nexthop_hostname)
-+                              if (path->peer->hostname)
-                                       json_object_string_add(
-                                               json_nexthop_global, "hostname",
--                                              nexthop_hostname);
-+                                              path->peer->hostname);
-                       } else {
-                               if (nexthop_hostname)
-                                       vty_out(vty, "    %pI4(%s)",
-@@ -8875,10 +8875,10 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                                       json_nexthop_global, "ip",
-                                       inet_ntoa(attr->nexthop));
--                              if (nexthop_hostname)
-+                              if (path->peer->hostname)
-                                       json_object_string_add(
-                                               json_nexthop_global, "hostname",
--                                              nexthop_hostname);
-+                                              path->peer->hostname);
-                       } else {
-                               if (nexthop_hostname)
-                                       vty_out(vty, "    %pI4(%s)",
-@@ -8900,10 +8900,10 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                               inet_ntop(AF_INET6, &attr->mp_nexthop_global,
-                                         buf, INET6_ADDRSTRLEN));
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_global,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_global, "afi",
-                                              "ipv6");
-@@ -9094,10 +9094,10 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
-                               inet_ntop(AF_INET6, &attr->mp_nexthop_local,
-                                         buf, INET6_ADDRSTRLEN));
--                      if (nexthop_hostname)
-+                      if (path->peer->hostname)
-                               json_object_string_add(json_nexthop_ll,
-                                                      "hostname",
--                                                     nexthop_hostname);
-+                                                     path->peer->hostname);
-                       json_object_string_add(json_nexthop_ll, "afi", "ipv6");
-                       json_object_string_add(json_nexthop_ll, "scope",
-
-From 8df39282ea64e2a65a7910012627f78d080833b1 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas.abraitis@gmail.com>
-Date: Wed, 24 Jun 2020 17:26:27 +0300
-Subject: [PATCH 4/4] doc: Add some words about `bgp default
- show-[nexthop]-hostname`
-
-Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
----
- doc/user/bgp.rst | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst
-index 36227db604..a6c29724b0 100644
---- a/doc/user/bgp.rst
-+++ b/doc/user/bgp.rst
-@@ -1366,6 +1366,19 @@ Configuring Peers
-    on by default or not.  This command defaults to on and is not displayed.
-    The `no bgp default ipv4-unicast` form of the command is displayed.
-+.. index:: [no] bgp default show-hostname
-+.. clicmd:: [no] bgp default show-hostname
-+
-+   This command shows the hostname of the peer in certain BGP commands
-+   outputs. It's easier to troubleshoot if you have a number of BGP peers.
-+
-+.. index:: [no] bgp default show-nexthop-hostname
-+.. clicmd:: [no] bgp default show-nexthop-hostname
-+
-+   This command shows the hostname of the next-hop in certain BGP commands
-+   outputs. It's easier to troubleshoot if you have a number of BGP peers
-+   and a number of routes to check.
-+
- .. index:: [no] neighbor PEER advertisement-interval (0-600)
- .. clicmd:: [no] neighbor PEER advertisement-interval (0-600)
diff --git a/net/frr/patches/007-bgpd_Fix_the_bug_BGP_MRAI.patch b/net/frr/patches/007-bgpd_Fix_the_bug_BGP_MRAI.patch
deleted file mode 100644 (file)
index a58f26c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2bbe7133eb5cb97ba4b745cd251a8615cd2bd008 Mon Sep 17 00:00:00 2001
-From: Richard Wu <wutong23@baidu.com>
-Date: Fri, 5 Jun 2020 17:54:57 +0800
-Subject: [PATCH] bgpd: Fix the bug that BGP MRAI does not work.
-
-Issue: bgp_process_writes will be called when the fd is writable.
-       And it will bgp_generate_updgrp_packets to generate the
-       update packets no matter MRAI is set or not.
-Fix:   bgp_generate_updgrp_packets thread will return without sending
-       any update when MRAI timer is still running.
-
-Signed-off-by: Richard Wu <wutong23@baidu.com>
----
- bgpd/bgp_packet.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
-index 29c03f4014..6f1c033f2a 100644
---- a/bgpd/bgp_packet.c
-+++ b/bgpd/bgp_packet.c
-@@ -408,6 +408,9 @@ int bgp_generate_updgrp_packets(struct thread *thread)
-       if (peer->bgp->main_peers_update_hold)
-               return 0;
-+      if (peer->t_routeadv)
-+              return 0;
-+
-       do {
-               s = NULL;
-               FOREACH_AFI_SAFI (afi, safi) {
diff --git a/net/frr/patches/099-redefine_ethhdr.patch b/net/frr/patches/099-redefine_ethhdr.patch
deleted file mode 100644 (file)
index 361ab87..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/lib/prefix.h     2017-12-03 22:02:41.642317377 +0200
-+++ b/lib/prefix.h     2017-12-03 22:03:30.011320262 +0200
-@@ -24,12 +24,12 @@
- #ifdef SUNOS_5
- #include <sys/ethernet.h>
--#else
-+/*#else
- #ifdef GNU_LINUX
- #include <net/ethernet.h>
- #else
- #include <netinet/if_ether.h>
--#endif
-+#endif*/
- #endif
- #include "sockunion.h"
- #include "ipaddr.h"
index 940e811baf9d3825e346fd45d7c486ba36530254..8de7e4715663d3fc68e2e8d1bfd18823640e20f9 100644 (file)
@@ -1,6 +1,6 @@
 #fwknop config
 menu "Configuration"
-       depends on PACKAGE_fwknopd
+       depends on PACKAGE_fwknopd || PACKAGE_fwknop
 
 config FWKNOPD_GPG
        bool "Enable GPG support"
@@ -12,5 +12,4 @@ config FWKNOPD_NFQ_CAPTURE
        select PACKAGE_iptables-mod-nfqueue
        default n
 
-
 endmenu
index 5a79dd4c67723324ab190af0dd83620782546be3..cfcf8a27fb158db7b1bdf8997a4d16cead1f9b8b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fwknop
 PKG_VERSION:=2.6.10
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.cipherdyne.org/fwknop/download
@@ -47,8 +47,9 @@ define Package/fwknopd
   CATEGORY:=Network
   SUBMENU:=Firewall
   TITLE+= Daemon
-  DEPENDS:=+iptables +libfko +!FWKNOPD_NFQ_CAPTURE:libpcap +FWKNOPD_NFQ_CAPTURE:iptables-mod-nfqueue +FWKNOP_GPG:gnupg \
-       +FWKNOPD_NFQ_CAPTURE:libnetfilter-queue +FWKNOPD_NFQ_CAPTURE:libnfnetlink
+  DEPENDS:=+iptables +libfko +!FWKNOPD_NFQ_CAPTURE:libpcap +FWKNOPD_NFQ_CAPTURE:iptables-mod-nfqueue \
+       +FWKNOPD_NFQ_CAPTURE:libnetfilter-queue +FWKNOPD_NFQ_CAPTURE:libnfnetlink \
+       +FWKNOP_GPG:gnupg +FWKNOP_GPG:libgpgme
 endef
 
 define Package/fwknopd/description
@@ -72,7 +73,7 @@ define Package/fwknop
   CATEGORY:=Network
   SUBMENU:=Firewall
   TITLE+= Client
-  DEPENDS:=+libfko
+  DEPENDS:=+libfko +FWKNOPD_GPG:gnupg +FWKNOPD_GPG:libgpgme
 endef
 
 define Package/fwknop/description
@@ -86,6 +87,7 @@ define Package/libfko
   CATEGORY:=Libraries
   SUBMENU:=Firewall
   TITLE+= Library
+  DEPENDS:=+FWKNOPD_GPG:gnupg +FWKNOPD_GPG:libgpgme
 endef
 
 define Package/libfko/description
index 470f0013ecec898f394d06313fa485f2409c3bbe..78f0ea75d567c2ef8792090911ed0946cec421d0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git
-PKG_VERSION:=2.27.0
+PKG_VERSION:=2.29.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=73ca9774d7fa226e1d87c1909401623f96dca6a044e583b9a762e84d7d1a73f9
+PKG_HASH:=f2fc436ebe657821a1360bcd1e5f4896049610082419143d60f6fa13c2f607c1
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
index b546684741491d04460ea0c968941ede2d47e83a..3d66fe6a4cf34748e2229d19c5abc70a8091cbd5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gitolite
 PKG_VERSION:=3.6.11
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_HASH:=2166a61b14de19e605b14f4a13a070fbfd5ecd247b6fd725108f111198a2c121
@@ -65,7 +65,7 @@ define Build/Compile
        mkdir -p $(PKG_INSTALL_DIR)/usr/libexec/gitolite
        $(PKG_BUILD_DIR)/install -to $(PKG_INSTALL_DIR)/usr/libexec/gitolite
        mkdir -p $(PKG_INSTALL_DIR)/usr/bin
-       ln -sf /usr/libexec/gitolite/gitolite $(PKG_INSTALL_DIR)/usr/bin/gitolite
+       $(LN) ../libexec/gitolite/gitolite $(PKG_INSTALL_DIR)/usr/bin/gitolite
 endef
 
 define Package/gitolite/install
index 2e68a2b0d10fffd3af28ae3185790194ffd02bd6..dd1714309c9bcbbcb6e48dcd18929a7430fd9107 100644 (file)
@@ -9,18 +9,18 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnurl
 PKG_VERSION:=7.72.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
-PKG_SOURCE_URL:=@GNU/gnunet
-
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@GNU/gnunet
 PKG_HASH:=b1e72be03fcf9b3fdaf01ae0702c686e9de10f67ef538918447c9e81555694f8
 
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 
 PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -29,7 +29,6 @@ define Package/gnurl/Default
   SECTION:=net
   CATEGORY:=Network
   URL:=https://gnunet.org/en/gnurl.html
-  MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 endef
 
 define Package/gnurl
@@ -94,20 +93,13 @@ CONFIGURE_ARGS += \
        --disable-manual \
        --disable-verbose
 
-define Build/Compile
-       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               CC="$(TARGET_CC)" \
-               install
-endef
-
 define Build/InstallDev
        $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include/gnurl $(1)/usr/lib $(1)/usr/lib/pkgconfig
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnurl-config $(1)/usr/bin/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/gnurl/*.h $(1)/usr/include/gnurl
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnurl.{a,so*} $(1)/usr/lib/
        $(CP) $(PKG_BUILD_DIR)/libgnurl.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,-L$$$${exec_prefix}/lib,,g' $(1)/usr/bin/gnurl-config
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/gnurl-config
        [ -n "$(TARGET_LDFLAGS)" ] && $(SED) 's#$(TARGET_LDFLAGS)##g' $(1)/usr/lib/pkgconfig/libgnurl.pc || true
        $(LN) $(STAGING_DIR)/usr/bin/gnurl-config $(2)/bin/
 endef
index 9fb39987cff0b2ff42b7f8714ef5b5de72e9103d..a4956dc8b53c91879998c882ebba0a9c8f16713e 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.2.5
+PKG_VERSION:=2.2.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/2.2/src
-PKG_HASH:=63ad1813e01992d0fbe5ac7ca3e516a53fc62cdb17845d5ac90260031b6dd747
+PKG_HASH:=be1c6754cbaceafc4837e0c6036c7f81027a3992516435cbbbc5dc749bf5a087
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
index 053404d5cf7b12f531e7e6b27ae2b13eb9306848..1304490b7fb367459171e8cfca39d8bbad102277 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 CLONEURL=https://git.haproxy.org/git/haproxy-2.2.git
-BASE_TAG=v2.2.5
+BASE_TAG=v2.2.6
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index daad12f9e973a61b43498060ce3c62c070b649c3..1d4da7dc3a33091d5e22cced9b42d1d5c26c195a 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hs20
-PKG_RELEASE:=2
+PKG_RELEASE:=4
 
 PKG_SOURCE_URL:=http://w1.fi/hostap.git
 PKG_SOURCE_PROTO:=git
@@ -20,8 +20,8 @@ PKG_CPE_ID:=cpe:/a:w1.fi:hostapd
 
 define Download/dm-ddf-dtd
   URL:=http://www.openmobilealliance.org/tech/DTD
-  FILE:=dm_ddf-v1_2.dtd
-  HASH:=1fb8f97ee13b673e0d2386ef3ec64fbc9c8d75429a9725dc3fac295c4d5ccae4
+  FILE:=dm_ddf-v1_3.dtd
+  HASH:=9b3e1dc66a2d38fc6e1300e9fb6f06f95d042206dabc94ae989739feaeb0733e
 endef
 
 define Download/spp-xsd
@@ -116,7 +116,7 @@ endef
 
 define Package/hs20-common/install
        $(INSTALL_DIR) $(1)/etc/hs20/spp
-       $(INSTALL_DATA) $(DL_DIR)/dm_ddf-v1_2.dtd $(1)/etc/hs20/spp
+       $(INSTALL_DATA) $(DL_DIR)/dm_ddf-v1_3.dtd $(1)/etc/hs20/spp
        $(INSTALL_DATA) $(DL_DIR)/spp-v1_0.xsd $(1)/etc/hs20/spp/spp.xsd
 endef
 
index 3812dd866f326fbe67ae83cc77a96c310dd43c75..c23fcf807200d69ef4bb10d2eff4590a44aace48 100644 (file)
@@ -31,6 +31,12 @@ setup_ca() {
        mkdir -p /etc/hs20/AS/Key
        cp /etc/hs20/ca/server.* /etc/hs20/ca/ca.pem /etc/hs20/AS/Key
 
+       uci batch <<EOF
+set uhttpd.main.cert='/etc/hs20/ca/server.pem'
+set uhttpd.main.key='/etc/hs20/ca/server.key'
+commit uhttpd
+EOF
+
        return 0
 }
 
@@ -64,6 +70,8 @@ setup_dbconf() {
                sql_set $realm remediation_url "$remediation_url"
                sql_set $realm free_remediation_url "$free_remediation_url"
                sql_set $realm signup_url "$signup_url"
+               echo "DELETE FROM wildcards WHERE identity='';"
+               echo "INSERT INTO wildcards(identity,methods) VALUES('','TTLS,TLS');"
        ) | sqlite3 /etc/hs20/AS/DB/eap_user.db
 
        return 0
diff --git a/net/hs20/patches/050-use-dm_ddf-v1_3_dtd.patch b/net/hs20/patches/050-use-dm_ddf-v1_3_dtd.patch
new file mode 100644 (file)
index 0000000..5aef983
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/hs20/server/spp_server.c
++++ b/hs20/server/spp_server.c
+@@ -1329,7 +1329,7 @@ static xml_node_t * spp_get_mo(struct hs
+               return NULL;
+       }
+-      snprintf(fname, sizeof(fname), "%s/spp/dm_ddf-v1_2.dtd", ctx->root_dir);
++      snprintf(fname, sizeof(fname), "%s/spp/dm_ddf-v1_3.dtd", ctx->root_dir);
+       if (xml_validate_dtd(ctx->xml, tnds, fname, ret_err) == 0)
+               *valid = 1;
+       else if (ret_err && *ret_err &&
index bb820b78981baa1ccc05c823da6caaf68f3e9eed..d7e34ec06d26813e069d29d7f11182059ad9ce05 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
-PKG_VERSION:=2020-04-09
-PKG_RELEASE=3
+PKG_VERSION:=2020-08-21
+PKG_RELEASE=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
-PKG_SOURCE_DATE:=2020-04-09
-PKG_SOURCE_VERSION:=40647ce94c62a47e9d53efae8018fb3142e277b9
-PKG_MIRROR_HASH:=4a8052b8bd482a17b769bcd4ee2620368f8c91955c5e976088be8d2ab002dde6
+PKG_SOURCE_DATE:=2020-08-21
+PKG_SOURCE_VERSION:=dd22b71250d33d0c8c39bb01a595e016db819c56
+PKG_MIRROR_HASH:=1c93a9f0833e120880d3b311e43db568d219e047e100a03ed6c7a3c00544d36c
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
@@ -27,8 +27,9 @@ define Package/https-dns-proxy
 endef
 
 define Package/https-dns-proxy/description
-https_dns_proxy is a light-weight DNS<-->HTTPS, non-caching translation proxy for the RFC 8484 DNS-over-HTTPS standard. It receives regular (UDP) DNS requests and issues them via DoH.
-Please see https://github.com/openwrt/packages/blob/master/net/https-dns-proxy/files/README.md for further information.
+https-dns-proxy is a light-weight DNS<-->HTTPS, non-caching translation proxy for the RFC 8484 DoH standard.
+It receives regular (UDP) DNS requests and issues them via DoH.
+Please see https://docs.openwrt.melmac.net/https-dns-proxy/ for further information.
 endef
 
 define Package/https-dns-proxy/conffiles
@@ -39,6 +40,7 @@ define Package/https-dns-proxy/install
        $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d ${1}/etc/config
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy
        $(INSTALL_BIN) ./files/https-dns-proxy.init $(1)/etc/init.d/https-dns-proxy
+       sed -i "s|^\(PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/https-dns-proxy
        $(INSTALL_CONF) ./files/https-dns-proxy.config $(1)/etc/config/https-dns-proxy
 endef
 
index f2435490d4e2ba01e2afcc6b743a0a2f7fcb254b..7ebf479e6feae5435598ff853f029de049f646e7 100644 (file)
@@ -1,94 +1,3 @@
-# DNS Over HTTPS Proxy (https-dns-proxy)
+# README
 
-A lean RFC8484-compatible (no JSON API support) DNS-over-HTTPS (DoH) proxy service which supports DoH servers ran by AdGuard, CleanBrowsing, Cloudflare, Google, ODVR (nic.cz) and Quad9. Based on [@aarond10](https://github.com/aarond10)'s [https-dns-proxy](https://github.com/aarond10/https_dns_proxy).
-
-## Features
-
-- [RFC8484](https://tools.ietf.org/html/rfc8484)-compatible DoH Proxy.
-- Compact size.
-- Web UI (```luci-app-https-dns-proxy```) available.
-- (By default) automatically updates DNSMASQ settings to use DoH proxy when it's started and reverts to old DNSMASQ resolvers when DoH proxy is stopped.
-
-## Screenshots (luci-app-https-dns-proxy)
-
-![screenshot](https://cdn.jsdelivr.net/gh/stangri/openwrt_packages@master/screenshots/https-dns-proxy/screenshot01.png "https-dns-proxy screenshot")
-
-## Requirements
-
-This proxy requires the following packages to be installed on your router: ```libc```, ```libcares```, ```libcurl```, ```libev```, ```ca-bundle```. They will be automatically installed when you're installing ```https-dns-proxy```.
-
-## Unmet Dependencies
-
-If you are running a development (trunk/snapshot) build of OpenWrt/LEDE Project on your router and your build is outdated (meaning that packages of the same revision/commit hash are no longer available and when you try to satisfy the [requirements](#requirements) you get errors), please flash either current LEDE release image or current development/snapshot image.
-
-## How To Install
-
-Install ```https-dns-proxy``` and ```luci-app-https-dns-proxy``` packages from Web UI or run the following in the command line:
-
-```sh
-opkg update; opkg install https-dns-proxy luci-app-https-dns-proxy;
-```
-
-## Default Settings
-
-Default configuration has service enabled and starts the service with Google and Cloudflare DoH servers. In most configurations, you will keep the default ```DNSMASQ``` service installed to handle requests from devices in your local network and point ```DNSMASQ``` to use ```https-dns-proxy``` for name resolution.
-
-By default, the service will intelligently override existing ```DNSMASQ``` servers settings on start to use the DoH servers and restores original ```DNSMASQ``` servers on stop. See the [Configuration Settings](#configuration-settings) section below for more information and how to disable this behavior.
-
-## Configuration Settings
-
-Configuration contains the (named) "main" config section where you can configure which ```DNSMASQ``` settings the service will automatically affect and the typed (unnamed) https-dns-proxy instance settings. The original config file is included below:
-
-```text
-config main 'config'
-  option update_dnsmasq_config '*'
-
-config https-dns-proxy
-  option bootstrap_dns '8.8.8.8,8.8.4.4'
-  option resolver_url 'https://dns.google/dns-query'
-  option listen_addr '127.0.0.1'
-  option listen_port '5053'
-  option user 'nobody'
-  option group 'nogroup'
-
-config https-dns-proxy
-  option bootstrap_dns '1.1.1.1,1.0.0.1'
-  option resolver_url 'https://cloudflare-dns.com/dns-query'
-  option listen_addr '127.0.0.1'
-  option listen_port '5054'
-  option user 'nobody'
-  option group 'nogroup'
-```
-
-The ```update_dnsmasq_config``` option can be set to dash (set to ```'-'``` to not change ```DNSMASQ``` server settings on start/stop), can be set to ```'*'``` to affect all ```DNSMASQ``` instance server settings or have a space-separated list of ```DNSMASQ``` instances to affect (like ```'0 4 5'```). If this option is omitted, the default setting is ```'*'```.
-
-Starting with ```https-dns-proxy``` version ```2019-12-03-3``` and higher, when the service is set to update the DNSMASQ servers setting on start/stop, it does not override entries which contain either ```#``` or ```/```, so the entries like listed below will be kept in use:
-
-```test
-  list server '/onion/127.0.0.1#65453'
-  list server '/openwrt.org/8.8.8.8'
-  list server '/pool.ntp.org/8.8.8.8'
-  list server '127.0.0.1#15353'
-  list server '127.0.0.1#55353'
-  list server '127.0.0.1#65353'
-```
-
-The https-dns-proxy instance settings are:
-
-|Parameter|Type|Default|Description|
-| --- | --- | --- | --- |
-|bootstrap_dns|IP Address||The non-encrypted DNS servers to be used to resolve the DoH server name on start.|
-|listen_addr|IP Address|127.0.0.1|The local IP address to listen to requests.|
-|listen_port|port|5053 and up|If this setting is omitted, the service will start the first https-dns-proxy instance on port 5053, second on 5054 and so on.|
-|logfile|Full filepath||Full filepath to the file to log the instance events to.|
-|resolver_url|URL||The https URL to the RFC8484-compatible resolver.|
-|proxy_server|URL||Local proxy server to use when accessing resolvers.|
-|user|String|nobody|Local user to run instance under.|
-|group|String|nogroup|Local group to run instance under.|
-|use_http1|Boolean|0|If set to 1, use HTTP/1 on installations with broken/outdated ```curl``` package. Included for posterity reasons, you will most likely not ever need it on OpenWrt.|
-|verbosity|Integer|0|logging verbosity level. fatal = 0, error = 1, warning = 2, info = 3, debug = 4|
-|use_ipv6_resolvers_only|Boolean|0|If set to 1, Forces IPv6 DNS resolvers instead of IPv4|
-
-## Thanks
-
-This OpenWrt package wouldn't have been possible without [@aarond10](https://github.com/aarond10)'s [https-dns-proxy](https://github.com/aarond10/https_dns_proxy) and his active participation in the OpenWrt package itself. Special thanks to [@jow-](https://github.com/jow-) for general package/luci guidance.
+README has been moved to [https://docs.openwrt.melmac.net/https-dns-proxy/](https://docs.openwrt.melmac.net/https-dns-proxy/).
index 1614d9096eafe3a22c258404bf91cf4fbdb2d8f9..cb561372e7f960995365b108a9d1ce0d496b8408 100755 (executable)
@@ -1,9 +1,16 @@
 #!/bin/sh /etc/rc.common
-# Copyright 2019 Stan Grishin (stangri@melmac.net)
+# Copyright 2019-2020 Stan Grishin (stangri@melmac.net)
 # shellcheck disable=SC2039
+PKG_VERSION='dev-test'
 
-export START=80
-export USE_PROCD=1
+# shellcheck disable=SC2034
+START=80
+# shellcheck disable=SC2034
+USE_PROCD=1
+
+# shellcheck disable=SC2034
+EXTRA_COMMANDS='version'
+version() { echo "$PKG_VERSION"; }
 
 dnsmasqConfig=''
 
@@ -46,15 +53,15 @@ start_instance() {
        append_parm "$cfg" 'logfile' '-l'
        append_bool "$cfg" 'use_http1' '-x'
        config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0'
-       config_get verbosity "$cfg" 'verbosity' "0"
+       config_get verbosity "$cfg" 'verbosity' '0'
 
 # shellcheck disable=SC2086,SC2154
        for i in $(seq 1 $verbosity); do
-               xappend "-v"
+               xappend '-v'
        done
 # shellcheck disable=SC2154
        if [ "$ipv6_resolvers_only" = 0 ]; then
-               xappend "-4"
+               xappend '-4'
        fi
 
        procd_open_instance
diff --git a/net/https-dns-proxy/test.sh b/net/https-dns-proxy/test.sh
new file mode 100644 (file)
index 0000000..45469ed
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/etc/init.d/"$1" version 2>&1 | grep "$2"
index 6d8c5addf26f96d9fd50f9ace9819618c89af877..a16ba91509cd4af82301a22ccfef9488b28847ab 100644 (file)
@@ -9,18 +9,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=i2pd
-PKG_VERSION:=2.32.1
+PKG_VERSION:=2.35.0
 PKG_RELEASE:=2
-PKG_BUILD_PARALLEL:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/PurpleI2P/i2pd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=64229101411a9dda3237dc27939aa13ec90d4900aae499e59931063c36e8556b
+PKG_HASH:=d041fd4e7a88ac168e76f66fdab40174ad093cdc13451cdbd0dd1216e5581f8a
 
 PKG_MAINTAINER:=David Yang <mmyangfl@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
 
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
 include $(INCLUDE_DIR)/package.mk
 
 define Package/i2pd
@@ -46,6 +48,12 @@ define Package/i2pd/conffiles
 /etc/i2pd/tunnels.d/
 endef
 
+define Build/Prepare
+       $(Build/Prepare/Default)
+       # race condition
+       cd $(PKG_BUILD_DIR); $(MAKE) mk_obj_dir
+endef
+
 TARGET_LDFLAGS+=-latomic
 MAKE_FLAGS+=USE_AESNI=no USE_AVX=no
 
index 426ff9d11b2a2d19b775b8ccfa730a258050501e..c75bad2111ae87657e1e3cb03a970b681a73df9d 100644 (file)
@@ -1,8 +1,10 @@
 config i2pd
+       # Make sure your directories have the right owner! (i2pd:i2pd)
+
        # Set where i2pd should store its data (netDB, certificates, addresses,
        # etc). By default we store it in RAM so no data is written to ROM.
        # If you store data permanently, you may want to enable
-       # 'profiles = true' and 'addressbook = true' in i2pd.conf
+       # 'profiles = true' and 'addressbook = true' in i2pd.conf.
        #### IMPORTANT! ####
        # Data is consistently rewritten. DO NOT POINT IT TO INNER ROM. Flash
        # will die.
index 4c4790fc3ef6bc93b8aa11fc5c17801d6db12e3d..30dddae109e0b9a59f5406183b1b134356a462a3 100755 (executable)
@@ -17,7 +17,6 @@ CONFFILE=/etc/i2pd/i2pd.conf
 . /lib/functions.sh
 
 
-
 i2pd_start() {
        local cfg="$1"
        local data_dir
@@ -27,16 +26,19 @@ i2pd_start() {
        config_get addressbook_dir "$cfg" addressbook_dir
 
        ## Setting up data dir
-       [ -d "$data_dir" ] || {
+       if [ ! -d "$data_dir" ] ; then
                mkdir -p "$data_dir"
                chown "$USER:$GROUP" "$data_dir"
                ln -s /usr/share/i2pd/certificates "$data_dir/certificates"
-               [ -n "$addressbook_dir" ] && {
-                       [ -d "$addressbook_dir" ] || mkdir -p "$addressbook_dir"
-                       chown "$USER:$GROUP" "$addressbook_dir"
+               if [ -n "$addressbook_dir" ] ; then
+                       if [ ! -d "$addressbook_dir" ] ; then
+                               mkdir -p "$addressbook_dir"
+                               chown "$USER:$GROUP" "$addressbook_dir"
+                       fi
                        ln -s "$addressbook_dir" "$data_dir/addressbook"
-               }
-       }
+               fi
+       fi
+       [ -d "$DATADIR" ] || ln -s "$data_dir" "$DATADIR"
 
        ## We need permissions
        touch "$PIDFILE"
@@ -44,7 +46,6 @@ i2pd_start() {
 
        procd_open_instance
        procd_set_param command "$PROG" --service --conf="$CONFFILE" --pidfile "$PIDFILE"
-       ## Don't know about i2pd user's HOME
        procd_set_param env "HOME=$DATADIR"
        ## For debugging, provide about 512 MB on external storage for coredump and adjust /proc/sys/kernel/core_pattern
        # echo "/tmp/coredumps/core.%e.%p.%s.%t" > /proc/sys/kernel/core_pattern
@@ -65,13 +66,13 @@ start_service() {
        config_cb() {
                local type="$1"
                local name="$2"
-               [ "$type" = "i2pd" ] && [ -n "$instance" ] && [ "$instance" = "$name" ] && instance_found=1
+               [ "$type" = "i2pd" -a -n "$instance" -a "$instance" = "$name" ] && instance_found=1
        }
 
        config_load i2pd
 
        if [ -n "$instance" ]; then
-               [ "$instance_found" -gt 0 ] || return
+               [ "$instance_found" = 0 ] && return
                i2pd_start "$instance"
        else
                config_foreach i2pd_start i2pd
index c3bfbcb28f716f60d70c49e7f24fe6a5730fef91..c0d9c44d55809b721412dc0d36d552db0559efa6 100644 (file)
@@ -11,7 +11,7 @@
  ## Use that path to store separated tunnels in different config files.
  ## Default: ~/.i2pd/tunnels.d or /var/lib/i2pd/tunnels.d
 -# tunnelsdir = /var/lib/i2pd/tunnels.d
-+tunnelsdir = /etc/i2pd/tunnels.conf
++tunnelsdir = /etc/i2pd/tunnels.d
  
  ## Where to write pidfile (default: i2pd.pid, not used in Windows)
  # pidfile = /run/i2pd.pid
  port = 4447
  ## Optional keys file for proxy local destination
  # keys = socks-proxy-keys.dat
-@@ -228,4 +230,5 @@ verify = true
+@@ -228,7 +230,8 @@ verify = true
  
  [persist]
  ## Save peer profiles on disk (default: true)
 -# profiles = true
 +profiles = false
 +addressbook = false
+ [cpuext]
+ ## Use CPU AES-NI instructions set when work with cryptography when available (default: true)
diff --git a/net/i2pd/patches/020-x86.patch b/net/i2pd/patches/020-x86.patch
new file mode 100644 (file)
index 0000000..6e407f1
--- /dev/null
@@ -0,0 +1,32 @@
+From ca3b8191510c1006d031d02c50edcf6b4f6a6e8f Mon Sep 17 00:00:00 2001
+From: R4SAS <r4sas@i2pmail.org>
+Date: Thu, 10 Dec 2020 18:32:41 +0300
+Subject: [PATCH] [avx] check ig c++ target supports AVX
+
+Signed-off-by: R4SAS <r4sas@i2pmail.org>
+---
+ libi2pd/Crypto.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/libi2pd/Crypto.cpp
++++ b/libi2pd/Crypto.cpp
+@@ -638,7 +638,7 @@ namespace crypto
+       {
+               uint64_t buf[256];
+               uint64_t hash[12]; // 96 bytes
+-#if defined(__x86_64__) || defined(__i386__)
++#if (defined(__x86_64__) || defined(__i386__)) && defined(__AVX__) // not all X86 targets supports AVX (like old Pentium, see #1600)
+               if(i2p::cpu::avx)
+               {
+                       __asm__
+--- a/libi2pd/Identity.cpp
++++ b/libi2pd/Identity.cpp
+@@ -828,7 +828,7 @@ namespace data
+       XORMetric operator^(const IdentHash& key1, const IdentHash& key2)
+       {
+               XORMetric m;
+-#if defined(__x86_64__) || defined(__i386__)
++#if (defined(__x86_64__) || defined(__i386__)) && defined(__AVX__) // not all X86 targets supports AVX (like old Pentium, see #1600)
+               if(i2p::cpu::avx)
+               {
+                       __asm__
diff --git a/net/iftop/Makefile b/net/iftop/Makefile
new file mode 100644 (file)
index 0000000..771afa9
--- /dev/null
@@ -0,0 +1,39 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=iftop
+PKG_RELEASE:=2
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://code.blinkace.com/pdw/iftop.git
+PKG_SOURCE_DATE:=2018-10-03
+PKG_SOURCE_VERSION:=77901c8c53e01359d83b8090aacfe62214658183
+PKG_MIRROR_HASH:=219231541a437f5aecd497796be0202d337e13f141359a93595bf2cd8c5c5544
+PKG_MAINTAINER:=Paul Spooren <mail@aparcar.org>
+PKG_LICENSE:=GPL-2.0
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/iftop
+  SECTION:=net
+  CATEGORY:=Network
+  DEPENDS:=+libpcap +libncurses +libpthread
+  TITLE:=display bandwith usage on an interface
+  URL:=http://www.ex-parrot.com/~pdw/iftop/
+endef
+
+define Package/iftop/description
+       iftop does for network usage what top(1) does for CPU usage. It
+       listens to network traffic on a named interface and displays a
+       table of current bandwidth usage by pairs of hosts. Handy for
+       answering the question 'why is our ADSL link so slow?'.
+endef
+
+define Package/iftop/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/iftop $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,iftop))
+
diff --git a/net/iftop/patches/010-gcc10.patch b/net/iftop/patches/010-gcc10.patch
new file mode 100644 (file)
index 0000000..7c212d0
--- /dev/null
@@ -0,0 +1,57 @@
+From 18a9f7732944bfe45023f9dd7528295e7d43e678 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Wed, 12 Aug 2020 22:31:33 +0200
+Subject: [PATCH] ui_common.h: fix build with gcc 10
+
+Define global variables as extern in header to fix the build with gcc 10
+which default to -fno-common: https://gcc.gnu.org/gcc-10/porting_to.html
+
+Fixes:
+ - http://autobuild.buildroot.org/results/55a8581f11e776439782c228441ef1c8c1243386
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: sent to iftop-users@lists.beasts.org]
+---
+ ui_common.c |  6 ++++++
+ ui_common.h | 10 +++++-----
+ 2 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/ui_common.c b/ui_common.c
+index dcf6646..b1027ec 100644
+--- a/ui_common.c
++++ b/ui_common.c
+@@ -17,6 +17,12 @@
+ #include "ui_common.h"
++sorted_list_type screen_list;
++host_pair_line totals;
++int peaksent, peakrecv, peaktotal;
++hash_type* screen_hash;
++hash_type* service_hash;
++
+ /* 2, 10 and 40 seconds */
+ int history_divs[HISTORY_DIVISIONS] = {1, 5, 20};
+diff --git a/ui_common.h b/ui_common.h
+index 63ae5bb..add72fe 100644
+--- a/ui_common.h
++++ b/ui_common.h
+@@ -33,12 +33,12 @@ typedef struct host_pair_line_tag {
+ extern options_t options;
+-sorted_list_type screen_list;
+-host_pair_line totals;
+-int peaksent, peakrecv, peaktotal;
++extern sorted_list_type screen_list;
++extern host_pair_line totals;
++extern int peaksent, peakrecv, peaktotal;
+ extern history_type history_totals;
+-hash_type* screen_hash;
+-hash_type* service_hash;
++extern hash_type* screen_hash;
++extern hash_type* service_hash;
+ void analyse_data(void);
+ void screen_list_init(void);
index 9ec28a4532e38a57d18f6fff25306787844c89f2..a92763b90b8b2e4a216f3f739b102bda360f760b 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=isc-dhcp
 UPSTREAM_NAME:=dhcp
 PKG_VERSION:=4.4.1
-PKG_RELEASE:=9
+PKG_RELEASE:=11
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index 7dfe127cdd92b224b6317e1ac47701a55b83de6d..a5de526686df08723c020c554ccf8336df7f3d3c 100755 (executable)
@@ -345,7 +345,7 @@ start_service() {
 
 reload_service() {
        rc_procd start_service "$@"
-       prodcd_send_signal dhcpd "$@"
+       procd_send_signal dhcpd "$@"
 }
 
 add_interface_trigger() {
diff --git a/net/isc-dhcp/patches/520-bind-no-catgets.patch b/net/isc-dhcp/patches/520-bind-no-catgets.patch
new file mode 100644 (file)
index 0000000..5655b08
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/bind/Makefile.in
++++ b/bind/Makefile.in
+@@ -57,6 +57,7 @@
+               rm -rf ${cleandirs} ${cleanfiles} ;                     \
+               (cd ${bindsrcdir} &&                                    \
+                export CC=${CROSS_CC} &&                               \
++               ac_cv_func_catgets=no                                  \
+                 ./configure ${bindconfig} --disable-atomic             \
+                --disable-kqueue --disable-epoll --disable-kqueue      \
+                 --disable-epoll --disable-devpoll --without-openssl    \
index 2246546502507ecc7e9cb1e49968a5704158e644..554824bc3e08dbd1556f6ac0364d77b31f325815 100644 (file)
@@ -3,15 +3,15 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kadnode
 PKG_VERSION:=2.3.0
-PKG_RELEASE:=2
-
-PKG_LICENSE:=MIT
+PKG_RELEASE:=3
 
 PKG_SOURCE_URL:=https://codeload.github.com/mwarning/KadNode/tar.gz/v$(PKG_VERSION)?
 PKG_SOURCE:=kadnode-$(PKG_VERSION).tar.gz
 PKG_HASH:=abb2ca66fb525fab53157d5486bbb43e3a522a4bdc9280a3dcb8cb403ee08583
 PKG_BUILD_DIR:=$(BUILD_DIR)/KadNode-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Moritz Warning <moritzwarning@web.de>
+PKG_LICENSE:=MIT
 
 PKG_BUILD_PARALLEL:=1
 
@@ -25,7 +25,6 @@ define Package/kadnode
        URL:=https://github.com/mwarning/KadNode
        MENU:=1
        DEPENDS:=+KADNODE_ENABLE_BOB:libmbedtls +KADNODE_ENABLE_TLS:libmbedtls +KADNODE_ENABLE_UPNP:libminiupnpc +KADNODE_ENABLE_NATPMP:libnatpmp
-       MAINTAINER:=Moritz Warning <moritzwarning@web.de>
 endef
 
 define Package/kadnode/description
@@ -84,7 +83,7 @@ define Package/kadnode/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/kadnode $(1)/usr/bin/
 ifeq ($(CONFIG_KADNODE_ENABLE_CMD),y)
-       $(LN) /usr/bin/kadnode $(1)/usr/bin/kadnode-ctl
+       $(LN) kadnode $(1)/usr/bin/kadnode-ctl
 endif
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) files/kadnode.init $(1)/etc/init.d/kadnode
index 273a8f23e6d5d29a091a91d58ba57f9f44ae88b5..846e08926da1aeecf98e0987eee8ef25111cedbf 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot
-PKG_VERSION:=3.0.2
+PKG_VERSION:=3.0.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_HASH:=f813a5e53263ef51d0415508e1f7d33cfbb75a139ccb10a344ae5a91689933fb
+PKG_HASH:=fbc51897ef0ed0639ebad59b988a91382b9544288a2db8254f0b1de433140e38
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
 PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8
index 54bf36c594f73a56b357869abd688283a611d576..6ea88b0ddec9c55fe41006400bb83a22fcd924a5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=krb5
 PKG_VERSION:=1.18.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 
@@ -102,6 +102,9 @@ define Build/InstallDev
        # needed for samba4, to detect system-krb5
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/krb5-config $(1)/usr/bin
+       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/krb5-config
+       $(INSTALL_DIR) $(2)/bin
+       $(LN) ../../usr/bin/krb5-config $(2)/bin/krb5-config
 endef
 
 define Package/krb5-libs/install
index 86b5aafc313d39dc0148995b7d0c1eae42e7f2fa..ed41414e8c45eb1418d4e648b3ffda8518343ae3 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ksmbd-tools
-PKG_VERSION:=3.2.6
-PKG_RELEASE:=1
+PKG_VERSION:=3.3.1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cifsd-team/ksmbd-tools/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=595029adb899fd8b4c49bea75bce4e3c3466811ef7089b2a55960174e720d919
+PKG_HASH:=0831677c5ccb91ba38c764ad22577830650a78300a676c2e7bb1baecadbdf725
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -96,7 +96,7 @@ CONFIGURE_ARGS += \
 CONFIGURE_VARS += GLIB_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a"
 
 TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
-TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -liconv $(if $(INTL_FULL),-lintl)
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -liconv $(if $(INTL_FULL),-lintl) $(if $(CONFIG_LIBC_USE_GLIBC),-lpthread)
 
 define Package/ksmbd-server/install
        $(INSTALL_DIR) $(1)/usr/sbin
index 365745e529560df865bceaf977b91029356c8b01..98ba733098dc6ee888958a0da4683c44b4bcc027 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libreswan
 PKG_VERSION:=4.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.libreswan.org/
@@ -44,7 +44,7 @@ $(call Package/libreswan/Default)
   DEPENDS:= +IPV6:kmod-ip6-vti +IPV6:kmod-ipsec6 +ip-full +iptables-mod-ipsec \
        +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-gcm \
        +kmod-crypto-hash +kmod-crypto-rng +kmod-ip-vti +kmod-ipsec \
-       +kmod-ipsec4 +kmod-ipt-ipsec +libevent2 +libevent2-pthreads \
+       +kmod-ipsec4 +kmod-ipt-ipsec +kmod-xfrm-interface +libevent2 +libevent2-pthreads \
        +libldns +librt +libunbound +nss-utils +nspr +libcap-ng
   PROVIDES:=openswan
   CONFLICTS:=strongswan
@@ -80,6 +80,7 @@ MAKE_FLAGS+= \
     USE_LIBCAP_NG=true \
     USE_SYSTEMD_WATCHDOG=false \
     USE_SECCOMP=false\
+    USE_XFRM_INTERFACE_IFLA_HEADER=false \
     PREFIX="/usr" \
     FINALRUNDIR="/var/run/pluto" \
     FINALNSSDIR="/etc/ipsec.d" \
index a4d7361e7e20cedab7bc43f1ea9b6ef79d3e5636..ecddbeecfe86fa223090a59db5ea7a9624513eb9 100644 (file)
@@ -8,12 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lighttpd
-PKG_VERSION:=1.4.55
-PKG_RELEASE:=4
+PKG_VERSION:=1.4.58
+PKG_RELEASE:=1
+# release candidate ~rcX testing; remove for release
+#PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.4.58
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://download.lighttpd.net/lighttpd/releases-1.4.x
-PKG_HASH:=6a0b50e9c9d5cc3d9e48592315c25a2d645858f863e1ccd120507a30ce21e927
+PKG_HASH:=267feffda13a190ebdce7b15172d8be16da98008457f30fddecd72832d126d0e
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=BSD-3-Clause
@@ -27,8 +29,6 @@ PKG_CONFIG_DEPENDS:=CONFIG_LIGHTTPD_SSL $(patsubst %,CONFIG_PACKAGE_lighttpd-mod
 REBUILD_MODULES=authn_gssapi authn_ldap authn_mysql cml magnet mysql_vhost trigger_b4_dl webdav
 
 include $(INCLUDE_DIR)/package.mk
-# iconv is required for lighttpd's mysql plugin
-include $(INCLUDE_DIR)/nls.mk
 include ../../devel/meson/meson.mk
 
 define Package/lighttpd/Default
@@ -41,7 +41,7 @@ endef
 define Package/lighttpd
   $(call Package/lighttpd/Default)
   MENU:=1
-  DEPENDS:=+LIGHTTPD_SSL:libopenssl +libpcre +libpthread +LIGHTTPD_LOGROTATE:logrotate
+  DEPENDS:=+libnettle +libpcre +libpthread +LIGHTTPD_LOGROTATE:logrotate
   TITLE:=A flexible and lightweight web server
 endef
 
@@ -52,8 +52,21 @@ config LIGHTTPD_SSL
        default y
        help
          Implements SSL support in lighttpd (using libopenssl). This
-         option is required if you enable the SSL engine in your
-         lighttpd confguration file.
+         option is enabled by default for backwards compatibility.
+          Select one TLS module below if you enable the SSL engine in
+         your lighttpd configuration file.
+          (mod_gnutls, mod_mbedtls, mod_nss, mod_openssl, mod_wolfssl)
+
+config LIGHTTPD_SSL_DEPENDS
+        bool
+        depends on LIGHTTPD_SSL
+        default PACKAGE_lighttpd-mod-mbedtls || PACKAGE_lighttpd-mod-wolfssl || PACKAGE_lighttpd-mod-gnutls || PACKAGE_lighttpd-mod-nss
+
+config LIGHTTPD_SSL_SELECT
+        tristate
+        depends on LIGHTTPD_SSL
+        default m if !LIGHTTPD_SSL_DEPENDS
+        select PACKAGE_lighttpd-mod-openssl
 
 config LIGHTTPD_LOGROTATE
        bool "Logrotate support"
@@ -64,36 +77,37 @@ config LIGHTTPD_LOGROTATE
 endef
 
 MESON_ARGS += \
+       -Dwith_brotli=false \
        -Dwith_bzip=false \
-       -Dwith_dbi=$(if $(CONFIG_PACKAGE_lighttpd-mod-vhostdb_dbi),true,false) \
+       -Dwith_dbi=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_dbi)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_dbi),true,false) \
        -Dwith_fam=false \
        -Dwith_gdbm=$(if $(CONFIG_PACKAGE_lighttpd-mod-trigger_b4_dl),true,false) \
-       -Dwith_geoip=$(if $(CONFIG_PACKAGE_lighttpd-mod-geoip),true,false) \
+       -Dwith_geoip=false \
+       -Dwith_gnutls=$(if $(CONFIG_PACKAGE_lighttpd-mod-gnutls),true,false) \
        -Dwith_krb5=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_gssapi),true,false) \
        -Dwith_ldap=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_ldap)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_ldap),true,false) \
        -Dwith_libev=false \
        -Dwith_libunwind=false \
        -Dwith_lua=$(if $(CONFIG_PACKAGE_lighttpd-mod-cml)$(CONFIG_PACKAGE_lighttpd-mod-magnet),true,false) \
        -Dwith_maxminddb=$(if $(CONFIG_PACKAGE_lighttpd-mod-maxminddb),true,false) \
+       -Dwith_mbedtls=$(if $(CONFIG_PACKAGE_lighttpd-mod-mbedtls),true,false) \
        -Dwith_memcached=false \
        -Dwith_mysql=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_mysql)$(CONFIG_PACKAGE_lighttpd-mod-mysql_vhost)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_mysql),true,false) \
-       -Dwith_openssl=$(if $(CONFIG_LIGHTTPD_SSL),true,false) \
+       -Dwith_nettle=true \
+       -Dwith_nss=$(if $(CONFIG_PACKAGE_lighttpd-mod-nss),true,false) \
+       -Dwith_openssl=$(if $(CONFIG_PACKAGE_lighttpd-mod-openssl),true,false) \
        -Dwith_pam=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_pam),true,false) \
        -Dwith_pcre=true \
        -Dwith_pgsql=$(if $(CONFIG_PACKAGE_lighttpd-mod-vhostdb_pgsql),true,false) \
        -Dwith_sasl=$(if $(CONFIG_PACKAGE_lighttpd-mod-authn_sasl),true,false) \
        -Dwith_webdav_locks=$(if $(CONFIG_PACKAGE_lighttpd-mod-webdav),true,false) \
        -Dwith_webdav_props=$(if $(CONFIG_PACKAGE_lighttpd-mod-webdav),true,false) \
-       -Dwith_wolfssl=false \
+       -Dwith_wolfssl=$(if $(CONFIG_PACKAGE_lighttpd-mod-wolfssl),true,false) \
        -Dwith_xattr=false \
-       -Dwith_zlib=$(if $(CONFIG_PACKAGE_lighttpd-mod-compress)$(CONFIG_PACKAGE_lighttpd-mod-deflate),true,false)
+       -Dwith_zlib=$(if $(CONFIG_PACKAGE_lighttpd-mod-deflate),true,false)
 
 BASE_MODULES:=dirlisting indexfile staticfile
 
-ifneq ($(strip $(CONFIG_LIGHTTPD_SSL)),)
-  BASE_MODULES+= openssl
-endif
-
 define Package/lighttpd/conffiles
 /etc/lighttpd/lighttpd.conf
 endef
@@ -158,11 +172,12 @@ $(eval $(call BuildPackage,lighttpd))
 $(eval $(call BuildPlugin,redirect,URL redirection,+PACKAGE_lighttpd-mod-redirect:libpcre,10))
 
 # Next, permit authentication.
-$(eval $(call BuildPlugin,auth,Authentication,+PACKAGE_lighttpd-mod-auth:lighttpd-mod-authn_file,20))
-$(eval $(call BuildPlugin,authn_file,File-based authentication,,20))
+$(eval $(call BuildPlugin,auth,Authentication,+PACKAGE_lighttpd-mod-auth:libnettle,20))
+$(eval $(call BuildPlugin,authn_dbi,DBI-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_dbi:libnettle +PACKAGE_lighttpd-mod-authn_dbi:libdbi,20))
+$(eval $(call BuildPlugin,authn_file,File-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_file:libnettle,20))
 $(eval $(call BuildPlugin,authn_gssapi,Kerberos-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_gssapi:krb5-libs,20))
 $(eval $(call BuildPlugin,authn_ldap,LDAP-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_ldap:libopenldap,20))
-$(eval $(call BuildPlugin,authn_mysql,Mysql-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_mysql:libmysqlclient,20))
+$(eval $(call BuildPlugin,authn_mysql,Mysql-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_mysql:libnettle +PACKAGE_lighttpd-mod-authn_mysql:libmariadb,20))
 $(eval $(call BuildPlugin,authn_pam,PAM-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_pam:libpam,20))
 $(eval $(call BuildPlugin,authn_sasl,SASL-based authentication,lighttpd-mod-auth +PACKAGE_lighttpd-mod-authn_sasl:libsasl2,20))
 
@@ -171,9 +186,7 @@ $(eval $(call BuildPlugin,access,Access restrictions,,30))
 $(eval $(call BuildPlugin,accesslog,Access logging,,30))
 $(eval $(call BuildPlugin,alias,Directory alias,,30))
 $(eval $(call BuildPlugin,cgi,CGI,,30))
-#$(eval $(call BuildPlugin,cml,Cache Meta Language,+PACKAGE_lighttpd-mod-cml:liblua +PACKAGE_lighttpd-mod-cml:libmemcached,30))
-$(eval $(call BuildPlugin,cml,Cache Meta Language,+PACKAGE_lighttpd-mod-cml:liblua,30))
-$(eval $(call BuildPlugin,compress,Compress output,+PACKAGE_lighttpd-mod-compress:zlib,30))
+$(eval $(call BuildPlugin,cml,Cache Meta Language,+PACKAGE_lighttpd-mod-cml:liblua +PACKAGE_lighttpd-mod-cml:libnettle,30))
 $(eval $(call BuildPlugin,deflate,Compress dynamic output,+PACKAGE_lighttpd-mod-deflate:zlib,30))
 $(eval $(call BuildPlugin,evasive,Evasive,,30))
 $(eval $(call BuildPlugin,evhost,Enhanced Virtual-Hosting,,30))
@@ -181,30 +194,33 @@ $(eval $(call BuildPlugin,expire,Expire,,30))
 $(eval $(call BuildPlugin,extforward,Extract client,,30))
 $(eval $(call BuildPlugin,fastcgi,FastCGI,,30))
 $(eval $(call BuildPlugin,flv_streaming,FLV streaming,,30))
-#$(eval $(call BuildPlugin,geoip,Geolocation,+PACKAGE_lighttpd-mod-geoip:libgeoip,30)) #libgeoip is not in OpenWrt
+$(eval $(call BuildPlugin,gnutls,TLS using gnutls,@LIGHTTPD_SSL +PACKAGE_lighttpd-mod-gnutls:libgnutls,30))
 $(eval $(call BuildPlugin,magnet,Magnet,+PACKAGE_lighttpd-mod-magnet:liblua,30))
 $(eval $(call BuildPlugin,maxminddb,MaxMind DB,+PACKAGE_lighttpd-mod-maxminddb:libmaxminddb,30))
-$(eval $(call BuildPlugin,mysql_vhost,Mysql virtual hosting,+PACKAGE_lighttpd-mod-mysql_vhost:libmysqlclient,30))
+$(eval $(call BuildPlugin,mbedtls,TLS using mbedtls,@LIGHTTPD_SSL +PACKAGE_lighttpd-mod-mbedtls:libmbedtls,30))
+$(eval $(call BuildPlugin,nss,TLS using nss,@LIGHTTPD_SSL +PACKAGE_lighttpd-mod-nss:libnss,30))
+$(eval $(call BuildPlugin,openssl,TLS using openssl,@LIGHTTPD_SSL +PACKAGE_lighttpd-mod-openssl:libopenssl,30))
 $(eval $(call BuildPlugin,proxy,Proxy,,30))
 $(eval $(call BuildPlugin,rewrite,URL rewriting,+PACKAGE_lighttpd-mod-rewrite:libpcre,30))
 $(eval $(call BuildPlugin,rrdtool,RRDtool,,30))
 $(eval $(call BuildPlugin,scgi,SCGI,,30))
-$(eval $(call BuildPlugin,secdownload,Secure and fast download,,30))
+$(eval $(call BuildPlugin,secdownload,Secure and fast download,+PACKAGE_lighttpd-mod-secdownload:libnettle,30))
 $(eval $(call BuildPlugin,setenv,Environment variable setting,,30))
 $(eval $(call BuildPlugin,simple_vhost,Simple virtual hosting,,30))
 $(eval $(call BuildPlugin,sockproxy,sockproxy,,30))
 $(eval $(call BuildPlugin,ssi,SSI,+PACKAGE_lighttpd-mod-ssi:libpcre,30))
 $(eval $(call BuildPlugin,staticfile,staticfile,,30))
 $(eval $(call BuildPlugin,status,Server status display,,30))
-#$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre +PACKAGE_lighttpd-mod-trigger_b4_dl:libgdbm +PACKAGE_lighttpd-mod-trigger_b4_dl:libmemcached,30))
 $(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre +PACKAGE_lighttpd-mod-trigger_b4_dl:libgdbm,30))
 $(eval $(call BuildPlugin,uploadprogress,Upload Progress,,30))
 $(eval $(call BuildPlugin,userdir,User directory,,30))
-$(eval $(call BuildPlugin,usertrack,User tracking,,30))
-$(eval $(call BuildPlugin,vhostdb_dbi,Virtual Host Database (DBI),+PACKAGE_lighttpd-mod-vhostdb_dbi:libdbi,30))
-$(eval $(call BuildPlugin,vhostdb_ldap,Virtual Host Database (LDAP),+PACKAGE_lighttpd-mod-vhostdb_ldap:libopenldap,30))
-$(eval $(call BuildPlugin,vhostdb_mysql,Virtual Host Database (MariaDB),+PACKAGE_lighttpd-mod-vhostdb_mysql:libmysqlclient,30))
-$(eval $(call BuildPlugin,vhostdb_pgsql,Virtual Host Database (PostgreSQL),+PACKAGE_lighttpd-mod-vhostdb_pgsql:libpq,30))
+$(eval $(call BuildPlugin,usertrack,User tracking,+PACKAGE_lighttpd-mod-usertrack:libnettle,30))
 $(eval $(call BuildPlugin,vhostdb,Virtual Host Database,,30))
+$(eval $(call BuildPlugin,vhostdb_dbi,Virtual Host Database (DBI),lighttpd-mod-vhostdb +PACKAGE_lighttpd-mod-vhostdb_dbi:libdbi,30))
+$(eval $(call BuildPlugin,vhostdb_ldap,Virtual Host Database (LDAP),lighttpd-mod-vhostdb +PACKAGE_lighttpd-mod-vhostdb_ldap:libopenldap,30))
+$(eval $(call BuildPlugin,vhostdb_mysql,Virtual Host Database (MariaDB),lighttpd-mod-vhostdb +PACKAGE_lighttpd-mod-vhostdb_mysql:libmariadb,30))
+$(eval $(call BuildPlugin,vhostdb_pgsql,Virtual Host Database (PostgreSQL),lighttpd-mod-vhostdb +PACKAGE_lighttpd-mod-vhostdb_pgsql:libpq,30))
+$(eval $(call BuildPlugin,mysql_vhost,Mysql virtual hosting,lighttpd-mod-vhostdb +PACKAGE_lighttpd-mod-mysql_vhost:libmariadb,30))
 $(eval $(call BuildPlugin,webdav,WebDAV,+PACKAGE_lighttpd-mod-webdav:libsqlite3 +PACKAGE_lighttpd-mod-webdav:libuuid +PACKAGE_lighttpd-mod-webdav:libxml2,30))
-$(eval $(call BuildPlugin,wstunnel,Websocket tunneling,,30))
+$(eval $(call BuildPlugin,wolfssl,TLS using wolfssl,@LIGHTTPD_SSL +PACKAGE_lighttpd-mod-wolfssl:libwolfssl,30))
+$(eval $(call BuildPlugin,wstunnel,Websocket tunneling,+PACKAGE_lighttpd-mod-wstunnel:libnettle,30))
index dd577652c73198389d51751fdf70233fd804f0c4..3846acf748aef5276d3ef77a92722df75f345b13 100644 (file)
@@ -11,6 +11,13 @@ index-file.names            = ( "index.php", "index.html",
 
 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 
+### Features
+#https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_feature-flagsDetails
+server.feature-flags       += ("server.h2proto" => "enable")
+server.feature-flags       += ("server.h2c"     => "enable")
+server.feature-flags       += ("server.graceful-shutdown-timeout" => 5)
+#server.feature-flags       += ("server.graceful-restart-bg" => "enable")
+
 ### Options that are useful but not always necessary:
 #server.chroot               = "/"
 #server.port                 = 81
index 84a3a18dfe8ca24696ae27100a8d17d861a2e428..1d290063ef33c6f7dc57222370c2a363b387dac2 100644 (file)
@@ -28,6 +28,20 @@ start_service() {
        procd_close_instance
 }
 
+service_triggers() {
+       procd_add_reload_interface_trigger loopback
+       procd_add_reload_interface_trigger lan
+}
+
 reload_service() {
-       procd_send_signal lighttpd
+       # lighttpd graceful restart (SIGUSR1)
+       procd_send_signal lighttpd '*' USR1
 }
+
+relog() {
+       # lighttpd reopen log files (SIGHUP)
+       procd_send_signal lighttpd '*' HUP
+}
+
+EXTRA_COMMANDS="relog"
+EXTRA_HELP="   relog   Reopen log files (without reloading)"
diff --git a/net/lighttpd/patches/010-mariadb.patch b/net/lighttpd/patches/010-mariadb.patch
deleted file mode 100644 (file)
index f8cf31d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 04a7d98cb91139d79dd14cbdb0522d3d5898dd12 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Fri, 10 Jul 2020 20:40:07 -0700
-Subject: [PATCH] [meson] fix libmariadb dependency
-
-libmariadb is what should be used as only the library portion is used.
-
-Fixes compilation under OpenWrt.
-
-Note that mariadb.pc is a superset that links to libmariadb.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/meson.build b/src/meson.build
-index 43ef9540..d39cf1c0 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -387,7 +387,7 @@ if get_option('with_mysql')
-       # manual search: extend include path with 'mysql/'
-       # header: mysql.h
-       # function: mysql_real_connect (-lmariadb)
--      libmysqlclient = [ dependency('mariadb') ]
-+      libmysqlclient = [ dependency('libmariadb') ]
-       #-# function: mysql_real_connect (-lmysqlclient)
-       #-libmysqlclient = [ dependency('mysqlclient') ]
-       conf_data.set('HAVE_MYSQL', true)
diff --git a/net/lighttpd/patches/010-meson-lua.patch b/net/lighttpd/patches/010-meson-lua.patch
new file mode 100644 (file)
index 0000000..d1c96c8
--- /dev/null
@@ -0,0 +1,30 @@
+From f47d569311d51ec9ab5dad7452b43c1b5a8290b6 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Tue, 1 Dec 2020 16:41:58 -0500
+Subject: [PATCH] [PATCH] [meson] do not search for lua versions
+
+openwrt net/lighttpd/Makefile declares dependency on liblua, and not on
+specific lua versions, so have meson.build look for 'lua' and not for
+specific lua versions.
+
+Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 71e4ec90..14ed9cec 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -381,7 +381,7 @@ endif
+ liblua = []
+ if get_option('with_lua')
+       found_lua = false
+-      foreach l: ['lua5.4', 'lua-5.4', 'lua5.3', 'lua-5.3', 'lua5.2', 'lua-5.2', 'lua5.1', 'lua-5.1', 'lua']
++      foreach l: ['lua']
+               if not(found_lua)
+                       liblua = dependency(l, required: false)
+                       if (liblua.found())
+-- 
+2.28.0
+
diff --git a/net/lighttpd/patches/020-maxminddb.patch b/net/lighttpd/patches/020-maxminddb.patch
deleted file mode 100644 (file)
index 8eb8869..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From fd2a12d6362aad2013ba558537647e46419d7595 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Fri, 10 Jul 2020 21:20:52 -0700
-Subject: [PATCH] [meson] add missing libmaxminddb section
-
-Fixes the following error when building with -Dwith_maxminddb=true:
-
-meson.build:916:1: ERROR: Unknown variable "libmaxminddb".
-
-A full log can be found at meson-logs/meson-log.txt
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/meson.build | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/meson.build b/src/meson.build
-index d39cf1c0..2191c9bc 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -255,6 +255,14 @@ if get_option('with_fam')
-       conf_data.set('HAVE_FAM_H', true)
- endif
-+libmaxminddb = []
-+if get_option('with_maxminddb')
-+      libmaxminddb = [ compiler.find_library('maxminddb') ]
-+      if not(compiler.has_function('MMDB_open', args: defs, dependencies: libmaxminddb, prefix: '#include <maxminddb.h>'))
-+              error('Couldn\'t find maxminddb.h or MMDB_open in lib maxminddb')
-+      endif
-+endif
-+
- libgeoip = []
- if get_option('with_geoip')
-       libgeoip = dependency('geoip', required: false)
index ccc1eeeb75a27335e87e79bbe9c15a778a13e213..a46b53688f40d46a11c246a8501ad00d144b38e9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mDNSResponder
 PKG_VERSION:=IETF104
-PKG_RELEASE:=2
+PKG_RELEASE:=4
 
 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/IETF/
@@ -122,9 +122,10 @@ endef
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/mDNSShared/dns_sd.h $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/dns_sd.h $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/*.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/
+       $(LN) -s libdns_sd.so.1 $(1)/usr/lib/libdns_sd.so
 endef
 
 define Package/mdns-utils/install
index c04b50898d52f3cf71c8e5fffa3201a3a41c91ac..d7f8bf9fd5238576e6678c82c5174033a3929506 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miniupnpc
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.2.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
-PKG_HASH:=ff56bec3e5a3aec41f4decb43cb0b925231d6ab4cdfd7a74caa5c7c1043c4ef0
+PKG_HASH:=3a3167e57727bf1d2a7b4861f7c7b57a663f58b9cf68227762ed2fc64e8ea11f
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=BSD-3-Clause
@@ -51,6 +51,13 @@ CMAKE_OPTIONS += -DUPNPC_BUILD_TESTS=OFF
 TARGET_CFLAGS += $(FPIC)
 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/miniupnpc/ $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.{a,so*} $(1)/usr/lib/
+endef
+
 define Package/miniupnpc/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/upnpc-shared $(1)/usr/bin/upnpc
index 0a99b415f732ef89302e8f4432695b22c13f89bf..64e7667a466b93a91e29f4d17387eb55f71ec803 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miniupnpd
-PKG_VERSION:=2.2.0
-PKG_RELEASE:=2
+PKG_VERSION:=2.2.1
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=f105210a13ed0ebfc649f661ecc59e0a072cc547b04977851f22b5521b4cadff
+PKG_HASH:=f158dc73b718ca72da69e25ef23c57c3a10a0d7e7d1b4b9b57d5690823040ec2
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=BSD-3-Clause
index 71c1dffe6571fea5c3e3190520062e8901ae9b12..a37c5e8a7346a8da8478f13baa78084e03e6bf84 100644 (file)
@@ -133,7 +133,6 @@ upnpd() {
                for iface in ${internal_iface:-lan}; do
                        local device
                        network_get_device device "$iface" && echo "listening_ip=$device"
-                       network_get_device device "$iface" && echo "ipv6_listening_ip=$device"
                done
 
                config_load "upnpd"
index 28e65a319fbceca13a08d776dc580a6260423253..283a9e10a2970d791394cafa43f1d799e7f48698 100644 (file)
@@ -12,4 +12,10 @@ depends on PACKAGE_modemmanager
                default y
                help
                  Compile ModemManager with QMI support
+
+        config MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS
+                bool "Allow AT commands via DBus"
+                default n
+                help
+                  Compile ModemManager allowing AT commands without debug flag
 endmenu
index eafbdea1e058758bfbc8e4b7439c38a57464c3ca..ff742532377b5e101f01e062ca4ae8b85a6665a8 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=modemmanager
-PKG_VERSION:=1.14.6
-PKG_RELEASE:=3
+PKG_VERSION:=1.14.8
+PKG_RELEASE:=2
 
 PKG_SOURCE:=ModemManager-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.freedesktop.org/software/ModemManager
-PKG_HASH:=783d5da925b2ca69f6233fcead691dd0f5cba06aa479d71495efdc07053fc0fd
+PKG_HASH:=fe1a26ba51b4bda7abd09ad4dadedd87d8b8154809fc9d88e94f75fdfff19295
 PKG_BUILD_DIR:=$(BUILD_DIR)/ModemManager-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
@@ -22,7 +22,6 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=libxslt/host
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -58,6 +57,10 @@ CONFIGURE_ARGS += \
        --disable-rpath \
        --disable-gtk-doc
 
+ifeq ($(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),y)
+  CONFIGURE_ARGS += --with-at-command-via-dbus
+endif
+
 ifdef CONFIG_MODEMMANAGER_WITH_MBIM
   CONFIGURE_ARGS += --with-mbim
 else
index ea86568c9b4ea67387069349a8bd866c862db12c..c9d880ea4eb73a593d0144109651a32a0cfd7d13 100644 (file)
@@ -23,6 +23,7 @@ Once installed, you can configure the 2G/3G/4G modem connections directly in
         option pincode     '7423'
         option iptype      'ipv4'
         option lowpower    '1'
+        option signalrate  '30'
 
 Only 'device' and 'proto' are mandatory options, the remaining ones are all
 optional.
@@ -34,3 +35,6 @@ allowing all protocols.
 
 The 'iptype' option supports any of these values: 'ipv4', 'ipv6' or 'ipv4v6'.
 It will default to 'ipv4' if not given.
+
+The 'signalrate' option set's the signal refresh rate (in seconds) for the device.
+You can call signal info with command: mmcli -m 0 --signal-get
index 07147b1f366fceed95b306ec9d6fb71a6ed363fa..d24910b984f1498bafc5348b51757c0152ab4eee 100755 (executable)
@@ -343,6 +343,7 @@ proto_modemmanager_init_config() {
        proto_config_add_string  password
        proto_config_add_string  pincode
        proto_config_add_string  iptype
+       proto_config_add_int     signalrate
        proto_config_add_boolean lowpower
        proto_config_add_defaults
 }
@@ -354,11 +355,11 @@ proto_modemmanager_setup() {
        local bearermethod_ipv4 bearermethod_ipv6 auth cliauth
        local operatorname operatorid registration accesstech signalquality
 
-       local device apn allowedauth username password pincode iptype metric
+       local device apn allowedauth username password pincode iptype metric signalrate
 
        local address prefix gateway mtu dns1 dns2
 
-       json_get_vars device apn allowedauth username password pincode iptype metric
+       json_get_vars device apn allowedauth username password pincode iptype metric signalrate
 
        # validate sysfs path given in config
        [ -n "${device}" ] || {
@@ -403,6 +404,14 @@ proto_modemmanager_setup() {
                return 1
        }
 
+       # check if Signal refresh rate is set
+       if [ -n "${signalrate}" ] && [ "${signalrate}" -eq "${signalrate}" ] 2>/dev/null; then
+               echo "setting signal refresh rate to ${signalrate} seconds"
+               mmcli --modem="${device}" --signal-setup="${signalrate}"
+       else
+               echo "signal refresh rate is not set"
+       fi
+
        # log additional useful information
        modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
        operatorname=$(modemmanager_get_field "${modemstatus}" "modem.3gpp.operator-name")
index 4599736fcb94f2a762880bedac2970a16e35f2d0..10c7a6bc342c9e902cae79002a7ba5102ef7c3e5 100644 (file)
@@ -5,6 +5,22 @@ config MOSQUITTO_LWS
     help
         Includes websockets support in the broker, via libwebsockets
 
+config MOSQUITTO_CTRL
+    bool "Include mosquitto_ctrl utility"
+    depends on PACKAGE_mosquitto-ssl
+    default y
+    help
+        mosquitto_ctrl is a tool for managing the broker at run time.
+
+config MOSQUITTO_DYNAMIC_SECURITY
+    bool "Install mosquitto_dynamic_security.so"
+    depends on PACKAGE_mosquitto-ssl
+    default y
+    help
+        This enables the dynamic security modes documented at
+        https://mosquitto.org/documentation/dynamic-security/
+        but does add ~88kB.  If you're not using it, you can disable it
+
 config MOSQUITTO_PASSWD
     bool "Include mosquitto_passwd utility"
     depends on PACKAGE_mosquitto-ssl
index f4e4b6f52bdfe1d629ecf14daa7828f6baf40641..e934c7013071f515e952ca444000ea6bf52458aa 100644 (file)
@@ -9,15 +9,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=1.6.12
+PKG_VERSION:=2.0.2
 PKG_RELEASE:=1
-PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE:=EPL-2.0
 PKG_LICENSE_FILES:=LICENSE.txt
 PKG_CPE_ID:=cpe:/a:eclipse:mosquitto
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=548d73d19fb787dd0530334e398fd256ef3a581181678488a741a995c4f007fb
+PKG_HASH:=5ea9ebf0a5ed3e95cecd75f30ebcf84f054584eff5617ac0f2e60428d3ad9707
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -34,7 +34,7 @@ endef
 define Package/mosquitto-ssl
     $(call Package/mosquitto/default)
     TITLE+= (with SSL support)
-    DEPENDS+= +libopenssl +MOSQUITTO_LWS:libwebsockets-openssl
+    DEPENDS+= +libopenssl +MOSQUITTO_LWS:libwebsockets-openssl +MOSQUITTO_DYNAMIC_SECURITY:cJSON
     VARIANT:=ssl
     PROVIDES:=mosquitto
 endef
@@ -52,7 +52,7 @@ endef
 
 define Package/mosquitto/default/description
 Mosquitto is an open source (BSD licensed) message broker that implements
-the MQTT protocol version 3.1 and 3.1.1. MQTT provides a lightweight
+the MQTT protocol version 3.1, 3.1.1 and 5. MQTT provides a lightweight
 method of carrying out messaging using a publish/subscribe model.
 
 This package also includes some basic support for configuring via UCI
@@ -73,7 +73,7 @@ endef
 define Package/mosquitto-client/default
     $(Package/mosquitto/default)
     TITLE:= mosquitto - client tools
-    DEPENDS+=+libcares
+    DEPENDS+=+libcares +cJSON
     PROVIDES:=mosquitto-client
 endef
 define Package/mosquitto-client-ssl
@@ -90,8 +90,9 @@ define Package/mosquitto-client-nossl
 endef
 
 define Package/mosquitto-client/default/description
- Command line client tools for publishing messages to MQTT servers
-and subscribing to topics.
+ Command line client tools for working with mosquitto.
+This includes mosquitto_sub, mosquitto_pub, mosquitto_rr
+and the mosquitto_ctrl tool.
 endef
 
 define Package/mosquitto-client-ssl/description
@@ -126,11 +127,11 @@ endef
 
 define Package/libmosquitto/default/description
  Library required for mosquitto's command line client tools, also for
-use by any third party software that wants to communicate with a
-mosquitto server.
+use by any third party software that wants to communicate with _any_
+MQTT server.
 
-Should be useable for communicating with any MQTT v3.1/3.1.1 compatible
-server, such as IBM's RSMB, in addition to Mosquitto
+Should be useable for communicating with any MQTT v3.1/3.1.1/5 compatible
+server, in addition to Mosquitto.
 endef
 
 define Package/libmosquitto-ssl/description
@@ -176,24 +177,32 @@ define Package/mosquitto-ssl/install
        $(call Package/mosquitto/install/default,$(1))
 ifeq ($(CONFIG_MOSQUITTO_PASSWD),y)
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mosquitto_passwd $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/apps/mosquitto_passwd/mosquitto_passwd $(1)/usr/bin
+endif
+ifeq ($(CONFIG_MOSQUITTO_DYNAMIC_SECURITY),y)
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/plugins/dynamic-security/mosquitto_dynamic_security.so $(1)/usr/lib
 endif
 endef
 
-define Package/mosquitto-client-ssl/install
+define Package/mosquitto-client-nossl/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_pub $(1)/usr/bin/mosquitto_pub
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_sub $(1)/usr/bin/mosquitto_sub
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_pub $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_sub $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_rr $(1)/usr/bin
+endef
+define Package/mosquitto-client-ssl/install
+       $(call Package/mosquitto-client-nossl/install,$(1))
+ifeq ($(CONFIG_MOSQUITTO_CTRL),y)
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/apps/mosquitto_ctrl/mosquitto_ctrl $(1)/usr/bin
+endif
 endef
-Package/mosquitto-client-nossl/install = $(Package/mosquitto-client-ssl/install)
 
 # This installs files into ./staging_dir/. so that you can cross compile from the host
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/lib/mosquitto.h $(1)/usr/include
+       $(CP) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include
        $(CP) $(PKG_BUILD_DIR)/lib/cpp/mosquittopp.h $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/src/mosquitto_plugin.h $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/src/mosquitto_broker.h $(1)/usr/include
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_BUILD_DIR)/lib/libmosquitto.so.1 $(1)/usr/lib/
        $(CP) $(PKG_BUILD_DIR)/lib/cpp/libmosquittopp.so.1 $(1)/usr/lib/
index 4463d3aa887c8824fd45adbf307627d8346445b2..914844674fe932ae5f96f887676e3c2280ac3587 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mwan3
-PKG_VERSION:=2.10.3
-PKG_RELEASE:=3
+PKG_VERSION:=2.10.6
+PKG_RELEASE:=1
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>, \
                Aaron Goodman <aaronjg@alumni.stanford.edu>
 PKG_LICENSE:=GPL-2.0
@@ -102,6 +102,10 @@ define Package/mwan3/install
        $(INSTALL_BIN) ./files/usr/sbin/mwan3track \
                $(1)/usr/sbin/
 
+       $(INSTALL_DIR) $(1)/etc
+       $(INSTALL_BIN) ./files/etc/mwan3.user \
+               $(1)/etc/
+
        $(CP) $(PKG_BUILD_DIR)/libwrap_mwan3_sockopt.so.1.0 $(1)/lib/mwan3/
 
        $(INSTALL_DIR) $(1)/etc/uci-defaults
index f9212a3a61a460d56bb097f55bc2fdd6072aeef6..e00cbfa5ca3a8312f827affe9af40d1f83bb3fb1 100644 (file)
@@ -19,9 +19,10 @@ if { [ "$ACTION" = "ifup" ] || [ "$ACTION" = "connected" ] ; } && [ -z "$DEVICE"
        exit 3
 fi
 
-[ "$MWAN3_STARTUP" = 1 ] || procd_lock
+[ "$MWAN3_STARTUP" = "init" ] || procd_lock
+
+mwan3_init
 
-config_load mwan3
 /etc/init.d/mwan3 running || {
        [ "$MWAN3_STARTUP" = "init" ] || procd_lock
        LOG notice "mwan3 hotplug $ACTION on $INTERFACE not called because globally disabled"
@@ -34,8 +35,6 @@ $IPT4 -S mwan3_hook &>/dev/null || {
        exit 0
 }
 
-mwan3_init
-
 if [ "$MWAN3_STARTUP" != "init" ] && [ "$ACTION" = "ifup" ]; then
        mwan3_set_user_iface_rules $INTERFACE $DEVICE
 fi
index be857e8ff693d0f8f80d24cba038f7944fc665b0..ea509acc84d72c01305c4f6196b1824b520f90bb 100644 (file)
@@ -3,7 +3,7 @@
 [ -f "/etc/mwan3.user" ] && {
        . /lib/functions.sh
        . /lib/mwan3/mwan3.sh
-        initscript=/etc/init.d/mwan3
+       initscript=/etc/init.d/mwan3
        . /lib/functions/procd.sh
 
        [ "$MWAN3_SHUTDOWN" != 1 ] && procd_lock
@@ -16,7 +16,6 @@
 
        config_get_bool enabled "$INTERFACE" enabled 0
        [ "${enabled}" -eq 1 ] || {
-               [ "$MWAN3_SHUTDOWN" != 1 ] && mwan3_unlock "$ACTION" "$DEVICE-user"
                exit 0
        }
 
index 743beb15274d3e9a3f934878afbfec6386ca4ccb..2d5b53d2338c5ccaa3653e57364aa2f99ad3eff7 100755 (executable)
@@ -6,6 +6,7 @@
 
 START=19
 USE_PROCD=1
+SCRIPTNAME="mwan3-init"
 
 service_running() {
        [ -d "$MWAN3_STATUS_DIR" ]
@@ -26,7 +27,6 @@ start_tracker() {
 start_service() {
        local enabled hotplug_pids
 
-       config_load mwan3
        mwan3_init
        config_foreach start_tracker interface
 
@@ -56,7 +56,6 @@ start_service() {
 stop_service() {
        local ipset rule IP IPTR IPT family table tid
 
-       config_load mwan3
        mwan3_init
        config_foreach mwan3_interface_shutdown interface
 
@@ -72,7 +71,7 @@ stop_service() {
                        IP="$IP6"
                fi
 
-               for tid in $(ip route list table all | sed -ne 's/.*table \([0-9]\+\).*/\1/p' | sort -u); do
+               for tid in $($IP route list table all | sed -ne 's/.*table \([0-9]\+\).*/\1/p' | sort -u); do
                        [ $tid -gt $MWAN3_INTERFACE_MAX ] && continue
                        $IP route flush table $tid &> /dev/null
                done
index 3cb6f1a45b85f78d48df127466e9a2a4b1498ad3..33a94ae86252f160f6a4969453c44b56750ee2dc 100644 (file)
@@ -107,8 +107,9 @@ mwan3_get_mwan3track_status()
 
 mwan3_init()
 {
-       local bitcnt
-       local mmdefault
+       local bitcnt mmdefault source_routing
+
+       config_load mwan3
 
        [ -d $MWAN3_STATUS_DIR ] || mkdir -p $MWAN3_STATUS_DIR/iface_state
 
@@ -117,7 +118,6 @@ mwan3_init()
                MMX_MASK=$(cat "${MWAN3_STATUS_DIR}/mmx_mask")
                MWAN3_INTERFACE_MAX=$(uci_get_state mwan3 globals iface_max)
        else
-               config_load mwan3
                config_get MMX_MASK globals mmx_mask '0x3F00'
                echo "$MMX_MASK"| tr 'A-F' 'a-f' > "${MWAN3_STATUS_DIR}/mmx_mask"
                LOG debug "Using firewall mask ${MMX_MASK}"
@@ -129,6 +129,11 @@ mwan3_init()
                LOG debug "Max interface count is ${MWAN3_INTERFACE_MAX}"
        fi
 
+       # remove "linkdown", expiry and source based routing modifiers from route lines
+       config_get_bool source_routing globals source_routing 0
+       [ $source_routing -eq 1 ] && unset source_routing
+       MWAN3_ROUTE_LINE_EXP="s/linkdown //; s/expires [0-9]\+sec//; s/error [0-9]\+//; ${source_routing:+s/default\(.*\) from [^ ]*/default\1/;} p"
+
        # mark mask constants
        bitcnt=$(mwan3_count_one_bits MMX_MASK)
        mmdefault=$(((1<<bitcnt)-1))
index 26bdcbcd2f0338b4aa92baeab2db58e71dc32e2b..24af3dad52c31be8b7c5b93d46a6295403ed0ae6 100644 (file)
@@ -79,7 +79,7 @@ mwan3_route_line_dev()
        unset "$1"
        [ -z "$route_device" ] && return
 
-       curr_table=$(eval "echo  \"\$mwan3_dev_tbl_${route_family}\"")
+       curr_table=$(eval "echo \"\$mwan3_dev_tbl_${route_family}\"")
        for entry in $curr_table; do
                if [ "${entry%%=*}" = "$route_device" ]; then
                        _tid=${entry##*=}
@@ -410,10 +410,7 @@ mwan3_delete_iface_iptables()
 
 mwan3_get_routes()
 {
-       local source_routing
-       config_get_bool source_routing globals source_routing 0
-       [ $source_routing -eq 0 ] && unset source_routing
-       $IP route list table main | sed -ne "/^linkdown/T; s/expires \([0-9]\+\)sec//;s/error [0-9]\+//; ${source_routing:+s/default\(.*\) from [^ ]*/default\1/;} p" | uniq
+       $IP route list table main | sed -ne "$MWAN3_ROUTE_LINE_EXP" | uniq
 }
 
 mwan3_create_iface_route()
index 803e74b9a04c1657b4e43cda3e80182731b3e24d..51f46867606a7a9e065cd077ad0d4042d3d7543e 100755 (executable)
@@ -129,7 +129,6 @@ use() {
 
        local interface device src_ip family
        mwan3_init
-       config_load mwan3
 
        interface=$1 ; shift
        [ -z "$*" ] && echo "no command specified for mwan3 use" && return
index 6ece58125675b81a649a31e03fa3a79de8b59034..06be43597103c5f738f6a947928d46771a0e8385 100755 (executable)
@@ -22,7 +22,7 @@ func_trap()
 
 mwan3_add_all_routes()
 {
-       local tid IP IPT route_line family active_tbls tid initial_state
+       local tid IP IPT route_line family active_tbls tid initial_state error
        local ipv=$1
 
        add_active_tbls()
@@ -40,8 +40,8 @@ mwan3_add_all_routes()
        {
                let tid++
                [ -n "${active_tbls##* $tid *}" ] && return
-               $IP route add table $tid $route_line ||
-                       LOG warn "failed to add $route_line to table $tid"
+               error=$($IP route add table $tid $route_line 2>&1) ||
+                       LOG warn "failed to add $route_line to table $tid - error: $error"
        }
 
        mwan3_update_dev_to_table
@@ -56,7 +56,7 @@ mwan3_add_all_routes()
        tid=0
        active_tbls=" "
        config_foreach add_active_tbls interface
-       [ $active_tbls = " " ] && return
+       [ "$active_tbls" = " " ] && return
        mwan3_get_routes | while read -r route_line; do
                mwan3_route_line_dev "tid" "$route_line" "$ipv"
                if [ -n "$tid" ] && [ -z "${active_tbls##* $tid *}" ]; then
@@ -69,41 +69,35 @@ mwan3_add_all_routes()
 
 mwan3_rtmon_route_handle()
 {
-       local action route_line family tbl device line route_line_exp tid source_routing
+       local action route_line family tbl device line tid
 
        route_line=${1##"Deleted "}
        route_family=$2
 
-       config_get_bool source_routing globals source_routing 0
-       [ $source_routing -eq 0 ] && unset source_routing
-
        if [ "$route_line" = "$1" ]; then
                action="replace"
-               route_line_exp="s/expires \([0-9]\+\)sec//;s/error [0-9]\+//; ${source_routing:+s/default\(.*\) from [^ ]*/default\1/}"
                $IPS -! add mwan3_connected_${route_family##ip} ${route_line%% *}
        else
                action="del"
-               route_line_exp="s/expires [0-9]\+sec//;s/error [0-9]\+//; ${source_routing:+s/default\(.*\) from [^ ]*/default\1/}"
                mwan3_set_connected_${route_family}
        fi
 
+       if [ -z "${route_line##*linkdown*}" ]; then
+               LOG debug "attempting to add link on down interface - $route_line"
+       fi
+
        if [ "$route_family" = "ipv4" ]; then
                IP="$IP4"
        elif [ "$route_family" = "ipv6" ] && [ $NO_IPV6 -eq 0 ]; then
                IP="$IP6"
-               route_line=$(echo "$route_line" | sed "$route_line_exp")
        else
                LOG warn "route update called with invalid family - $route_family"
                return
        fi
-
-       # don't try to add routes when link has gone down
-       if [ -z "${route_line##linkdown*}" ]; then
-               LOG debug "not adding route due to linkdown - skipping $route_line"
-               return
-       fi
+       route_line=$(echo "$route_line" | sed -ne "$MWAN3_ROUTE_LINE_EXP")
 
        handle_route() {
+               local error
                local iface=$1
                tbl=$($IP route list table $tid 2>/dev/null)$'\n'
 
@@ -121,8 +115,8 @@ mwan3_rtmon_route_handle()
 
                network_get_device device "$iface"
                LOG debug "adjusting route $device: '$IP route $action table $tid $route_line'"
-               $IP route "$action" table $tid $route_line ||
-                       LOG warn "failed: '$IP route $action table $tid $route_line'"
+               error=$($IP route "$action" table $tid $route_line 2>&1)||
+                       LOG warn "failed: '$IP route $action table $tid $route_line' - error: $error"
        }
        handle_route_cb(){
                local iface=$1
@@ -146,7 +140,8 @@ main()
 {
        local IP family
 
-       config_load mwan3
+       mwan3_init
+
        family=$1
        [ -z $family ] && family=ipv4
        if [ "$family" = "ipv6" ]; then
@@ -158,10 +153,10 @@ main()
        else
                IP="$IP4"
        fi
-       mwan3_init
        sh -c "echo \$\$; exec $IP monitor route" | {
                read -r monitor_pid
                trap_with_arg func_trap "$monitor_pid" SIGINT SIGTERM SIGKILL
+               KILL -SIGSTOP $$
                while IFS='' read -r line; do
                        [ -z "${line##*table*}" ] && continue
                        LOG debug "handling route update $family '$line'"
@@ -169,11 +164,10 @@ main()
                done
        } &
        child=$!
-       kill -SIGSTOP $child
        trap_with_arg func_trap "$child" SIGINT SIGTERM SIGKILL
        mwan3_set_connected_${family}
        mwan3_add_all_routes ${family}
        kill -SIGCONT $child
-       wait $!
+       wait $child
 }
 main "$@"
index bd8954c073be5ba32c405ad3e48c9f5a1def2cce..c6333198e9e1df4cb18f3bcf6daa89f5c87399da 100755 (executable)
@@ -192,7 +192,6 @@ main() {
        trap if_down USR1
        trap if_up USR2
 
-       config_load mwan3
        config_get FAMILY $INTERFACE family ipv4
        config_get track_method $INTERFACE track_method ping
        config_get_bool httping_ssl $INTERFACE httping_ssl 0
index dcd487fa5450876612156e35b0b973df89295c10..6c5842a49c8aa4ba58204f0484b7c7cd7cbf89fe 100755 (executable)
@@ -3,12 +3,12 @@
 # Copyright (C) 2018 rosysong@rosinson.com
 #
 
-. /lib/nft-qos/core.sh
-. /lib/nft-qos/monitor.sh
-. /lib/nft-qos/dynamic.sh
-. /lib/nft-qos/static.sh
-. /lib/nft-qos/mac.sh
-. /lib/nft-qos/priority.sh
+. "${IPKG_INSTROOT}/lib/nft-qos/core.sh"
+. "${IPKG_INSTROOT}/lib/nft-qos/monitor.sh"
+. "${IPKG_INSTROOT}/lib/nft-qos/dynamic.sh"
+. "${IPKG_INSTROOT}/lib/nft-qos/static.sh"
+. "${IPKG_INSTROOT}/lib/nft-qos/mac.sh"
+. "${IPKG_INSTROOT}/lib/nft-qos/priority.sh"
 
 START=99
 USE_PROCD=1
diff --git a/net/noddos/Makefile b/net/noddos/Makefile
deleted file mode 100644 (file)
index 549a047..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# Copyright (C) 2017 Steven Hessing
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-# Name and release number of this package
-PKG_NAME:=noddos
-PKG_VERSION:=0.5.5
-PKG_RELEASE:=5
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/noddos/noddos/releases/download/v$(PKG_VERSION)/
-PKG_HASH:=1f5be0c1015b0407036eecc8449d60d2abcacec442bba55db85fc32e89f754db
-
-PKG_MAINTAINER:=Steven Hessing <steven.hessing@gmail.com>
-PKG_LICENSE:=GPL-3.0-or-later
-PKG_LICENSE_FILES:=LICENSE.md
-
-PKG_BUILD_PARALLEL:=1
-CMAKE_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-define Package/noddos
-       SECTION:=net
-       CATEGORY:=Network
-       TITLE:=noddos -- device-aware cloud-powered firewall
-       URL:=https://www.noddos.io/
-       DEPENDS:=+libstdcpp +libnetfilter-conntrack +libcurl +libopenssl +openssl-util +ca-bundle +wget +bzip2 +libtins +ipset +libpthread +libyaml-cpp
-endef
-
-define Package/noddos/description
-Noddos discovers what devices you have in your network and tailors the firewall rules based on whitelisted flows for that device. Noddos downloads the firewall rules periodically from the cloud. In order to support creating these firewall rules, noddos can, after opt-in, upload anonimized traffic statistics for each device to the cloud. The Luci interface is available in the luci-apps-noddos package. For information, visit https://www.noddos.io/
-endef
-
-define Package/noddos/conffiles
-/etc/config/noddos
-endef
-
-define Package/noddos/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_DIR) $(1)/etc/noddos
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/noddos $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/getnoddosdeviceprofiles $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/makenoddoscert.sh $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/noddos.init $(1)/etc/init.d/noddos
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/noddos.uciconfig $(1)/etc/config/noddos
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/noddos.yml-base $(1)/etc/noddos
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/noddosconfig.pem $(1)/etc/noddos
-endef
-
-define Package/noddos/prerm
-       #!/bin/sh
-       # check if we are on real system
-       if [ -z "$${IPKG_INSTROOT}" ]; then
-               /etc/init.d/noddos stop
-               echo "Removing rc.d symlink for noddos"
-               /etc/init.d/noddos disable
-       fi
-       exit 0
-endef
-
-define Package/noddos/postrm
-       #!/bin/sh
-       # check if we are on real system
-       if [ -z "$${IPKG_INSTROOT}" ]; then
-               echo "Removing noddos data directory"
-               rm -rf /var/lib/noddos
-               if [ -f /var/etc/noddos.yml ]; then
-                       rm /var/etc/noddos.yml
-               fi
-       fi
-       exit 0
-endef
-
-$(eval $(call BuildPackage,noddos))
diff --git a/net/noddos/patches/010-openssl-1.1-fixes.patch b/net/noddos/patches/010-openssl-1.1-fixes.patch
deleted file mode 100644 (file)
index 965e2b0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/opensslfingerprint.cxx
-+++ b/src/opensslfingerprint.cxx
-@@ -110,7 +110,9 @@ std::string getCertFingerprint(const std
-       snprintf(&fpbuf[57], 3, "%02x", md[19]);
-       if (Debug) {
--              syslog (LOG_DEBUG, "Cert: %s, fingerprint: %s", x->name, fpbuf);
-+              char *namebuf = X509_NAME_oneline(X509_get_subject_name(x),NULL,0);
-+              syslog (LOG_DEBUG, "Cert: %s, fingerprint: %s", namebuf, fpbuf);
-+              free(namebuf);
-       }
-       std::string fp = fpbuf;
diff --git a/net/noddos/patches/020-Ipset.cxx-update-libipset-API-to-version-7.patch b/net/noddos/patches/020-Ipset.cxx-update-libipset-API-to-version-7.patch
deleted file mode 100644 (file)
index 5f7bc3a..0000000
+++ /dev/null
@@ -1,431 +0,0 @@
-From 5200105f412ceefa0784bf914aa215146fd067b0 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cote2004-github@yahoo.com>
-Date: Wed, 26 Dec 2018 16:45:47 -0200
-Subject: [PATCH] Ipset.cxx: update libipset API to version 7
-
-Old API compatibility was kept with a compatibility shim.
-
-Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
-
-diff --git a/src/Ipset.cxx b/src/Ipset.cxx
-index 9333fe6..da97f93 100644
---- a/src/Ipset.cxx
-+++ b/src/Ipset.cxx
-@@ -90,23 +90,19 @@ void Ipset::Open (const std::string inIpsetName, std::string inIpsetType, bool i
-     isIpsetv4 = inisIpsetv4;
-     ipset_load_types();
--    struct ipset_session *session = ipset_session_init(printf);
-+    struct ipset_session *session = noddos_ipset_session_init();
-     if (session == nullptr) {
-         syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-         ipset_session_fini(session);
-         throw std::runtime_error ("Cannot initialize ipset session.");
-     }
--    if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set environment option.");
--        ipset_session_fini(session);
--        throw std::runtime_error ("Can't set environment option.");
--    }
-+    ipset_envopt_set(session, IPSET_ENV_EXIST);
-     int r = ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str());
-     if ( r < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_report_msg(session));
-     } else if (r > 0) {
-         if (Debug == true) {
-             syslog (LOG_DEBUG, "Ipset: Not creating set %s as it already exists", ipsetName.c_str());
-@@ -115,27 +111,27 @@ void Ipset::Open (const std::string inIpsetName, std::string inIpsetType, bool i
-         return;
-     }
-     if (ipset_session_data_set(session, IPSET_OPT_TYPENAME, ipsetType.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s to type %s: %s", ipsetName.c_str(), ipsetType.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s to type %s: %s", ipsetName.c_str(), ipsetType.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set type " + ipsetType + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set type " + ipsetType + ": " + ipset_session_report_msg(session));
-     }
-     const struct ipset_type *type = ipset_type_get(session, IPSET_CMD_CREATE);
-     if (type == NULL) {
--        syslog (LOG_ERR, "Ipset: Can't set create ip %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set create ip %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't create ipset " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't create ipset " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     uint32_t timeout = 0; /* default to infinity */
-     if (ipset_session_data_set(session, IPSET_OPT_TIMEOUT, &timeout) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s to timeout %d: %s", ipsetName.c_str(), timeout, ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s to timeout %d: %s", ipsetName.c_str(), timeout, ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set time-out " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set time-out " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_session_data_set(session, IPSET_OPT_TYPE, type)) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s option type: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s option type: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set ipset type: " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set ipset type: " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     uint8_t family = 0;
-     if (ipsetType == "hash:ip" && isIpsetv4 == true) {
-@@ -149,20 +145,20 @@ void Ipset::Open (const std::string inIpsetName, std::string inIpsetType, bool i
-         throw std::invalid_argument("Unknown ipset data type " + ipsetType);
-     }
-     if (ipset_session_data_set(session, IPSET_OPT_FAMILY, &family) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s address family %d: %s", ipsetName.c_str(), family, ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s address family %d: %s", ipsetName.c_str(), family, ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Cannot set ipset family: " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Cannot set ipset family: " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_cmd(session, IPSET_CMD_CREATE, /*lineno*/ 0) != 0) {
--        syslog (LOG_ERR, "Ipset: Can't create setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't create setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Failed to create ipset " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Failed to create ipset " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_commit(session) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     ipset_session_fini(session);
- }
-@@ -173,33 +169,29 @@ bool Ipset::ipset_exec(enum ipset_cmd cmd) {
-     if (Debug == true) {
-         syslog(LOG_DEBUG, "Ipset: received command %d for ipset %s", cmd, ipsetName.c_str());
-     }
--    struct ipset_session *session = ipset_session_init(printf);
-+    struct ipset_session *session = noddos_ipset_session_init();
-     if (session == nullptr) {
-         syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-         ipset_session_fini(session);
-         throw std::runtime_error ("Cannot initialize ipset session.");
-     }
--    if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set environment option.");
--        ipset_session_fini(session);
--        throw std::runtime_error ("Can't set environment option.");
--    }
-+    ipset_envopt_set(session, IPSET_ENV_EXIST);
-     if (ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_cmd(session, cmd, 0) != 0) {
-         ipset_session_fini(session);
--        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
--        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-+        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_commit(session) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     ipset_session_fini(session);
-     return true;
-@@ -210,61 +202,57 @@ bool Ipset::ipset_exec(enum ipset_cmd cmd,  const Tins::IPv4Address &inIpAddress
-     if (Debug == true) {
-         syslog(LOG_DEBUG, "Ipset: received command %d for IP address %s for ipset %s", cmd, inIpAddress.to_string().c_str(), ipsetName.c_str());
-     }
--    struct ipset_session *session = ipset_session_init(printf);
-+    struct ipset_session *session = noddos_ipset_session_init();
-     if (session == nullptr) {
-         syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-         ipset_session_fini(session);
-         throw std::runtime_error ("Cannot initialize ipset session.");
-     }
--    if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set environment option.");
--        ipset_session_fini(session);
--        throw std::runtime_error ("Can't set environment option.");
--    }
-+    ipset_envopt_set(session, IPSET_ENV_EXIST);
-     if (ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     const struct ipset_type *type = ipset_type_get(session, cmd);
-     if (type == NULL) {
--        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     uint8_t family = NFPROTO_IPV4;
-     if (ipset_session_data_set(session, IPSET_OPT_FAMILY, &family) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set session data to IPv4 family for set %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set session data to IPv4 family for set %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set session data for " + ipsetName + " to the IPv4 family, error: " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set session data for " + ipsetName + " to the IPv4 family, error: " + ipset_session_report_msg(session));
-     }
-     struct in_addr sin;
-     inet_aton (inIpAddress.to_string().c_str(), &sin);
-     if (ipset_session_data_set(session, IPSET_OPT_IP, &sin) < 0) {
--        syslog (LOG_ERR, "Can't set session data to the IPv4 address for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Can't set session data to the IPv4 address for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set session data to the IPv4 address for setname " + ipsetName + ", error: " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set session data to the IPv4 address for setname " + ipsetName + ", error: " + ipset_session_report_msg(session));
-     }
-     if (timeout) {
-         if (ipset_session_data_set(session, IPSET_OPT_TIMEOUT, &timeout) != 0) {
--            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-             ipset_session_fini(session);
--            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_error(session));
-+            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_report_msg(session));
-             return false;
-         }
-     }
-     if (ipset_cmd(session, cmd, 0) != 0) {
-         ipset_session_fini(session);
--        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
--        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-+        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_commit(session) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     ipset_session_fini(session);
-     return true;
-@@ -274,61 +262,57 @@ bool Ipset::ipset_exec(enum ipset_cmd cmd,  const Tins::IPv6Address &inIpAddress
-     if (Debug == true) {
-         syslog(LOG_DEBUG, "Ipset: received command %d for IP address %s for ipset %s", cmd, inIpAddress.to_string().c_str(), ipsetName.c_str());
-     }
--    struct ipset_session *session = ipset_session_init(printf);
-+    struct ipset_session *session = noddos_ipset_session_init();
-     if (session == nullptr) {
-         syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-         ipset_session_fini(session);
-         throw std::runtime_error ("Cannot initialize ipset session.");
-     }
--    if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set environment option.");
--        ipset_session_fini(session);
--        throw std::runtime_error ("Can't set environment option.");
--    }
-+    ipset_envopt_set(session, IPSET_ENV_EXIST);
-     if (ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     const struct ipset_type *type = ipset_type_get(session, cmd);
-     if (type == NULL) {
--        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     uint8_t family = NFPROTO_IPV6;
-     if (ipset_session_data_set(session, IPSET_OPT_FAMILY, &family) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set session data to IPv6 family for set %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set session data to IPv6 family for set %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set session data for " + ipsetName + " to the IPv6 family, error: " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set session data for " + ipsetName + " to the IPv6 family, error: " + ipset_session_report_msg(session));
-     }
-     unsigned char buf[sizeof(struct in6_addr)];
-     int s = inet_pton(AF_INET6, inIpAddress.to_string().c_str(), buf);
-     if (ipset_session_data_set(session, IPSET_OPT_IP, &buf) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set session data to the IPv4 address for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set session data to the IPv4 address for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set session data to the IPv4 address for setname " + ipsetName + ", error: " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set session data to the IPv4 address for setname " + ipsetName + ", error: " + ipset_session_report_msg(session));
-     }
-     if (timeout) {
-         if (ipset_session_data_set(session, IPSET_OPT_TIMEOUT, &timeout) != 0) {
--            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-             ipset_session_fini(session);
--            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_error(session));
-+            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_report_msg(session));
-         }
-     }
-     if (ipset_cmd(session, cmd, 0) != 0) {
--        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_commit(session) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     ipset_session_fini(session);
-     return true;
-@@ -338,50 +322,46 @@ bool Ipset::ipset_exec(enum ipset_cmd cmd, const std::string Mac, time_t timeout
-     if (Debug == true) {
-         syslog(LOG_DEBUG, "Ipset: received command %d for MAC address %s for ipset %s", cmd, Mac.c_str(), ipsetName.c_str());
-     }
--    struct ipset_session *session = ipset_session_init(printf);
-+    struct ipset_session *session = noddos_ipset_session_init();
-     if (session == nullptr) {
-         syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-         ipset_session_fini(session);
-         throw std::runtime_error ("Cannot initialize ipset session.");
-     }
--    if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set environment option.");
--        ipset_session_fini(session);
--        throw std::runtime_error ("Can't set environment option.");
--    }
-+    ipset_envopt_set(session, IPSET_ENV_EXIST);
-     if (ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't set setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't set setname " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     const struct ipset_type *type = ipset_type_get(session, cmd);
-     if (type == NULL) {
--        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't get type for set %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't get type for set " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_parse_elem(session, (ipset_opt)type->last_elem_optional, Mac.c_str()) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't call ipset_parse_elem for %s: %s ", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't call ipset_parse_elem for %s: %s ", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_parse_elem for ipset " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_parse_elem for ipset " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (timeout) {
-         if (ipset_session_data_set(session, IPSET_OPT_TIMEOUT, &timeout) != 0) {
--            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+            syslog (LOG_ERR, "Ipset: Can't set timeout for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-             ipset_session_fini(session);
--            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_error(session));
-+            throw std::runtime_error("Can't set timeout for " + ipsetName + ": " + ipset_session_report_msg(session));
-         }
-     }
-     if (ipset_cmd(session, cmd, 0) != 0) {
--        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't exec ipset cmd for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't exec ipset cmd for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     if (ipset_commit(session) < 0) {
--        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+        syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-         ipset_session_fini(session);
--        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+        throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-     }
-     ipset_session_fini(session);
-     return true;
-diff --git a/src/Ipset.h b/src/Ipset.h
-index 2c5f7b2..eb180da 100644
---- a/src/Ipset.h
-+++ b/src/Ipset.h
-@@ -41,6 +41,31 @@
- #include "MacAddress.h"
-+#if IPSET_PROTOCOL < 7
-+/* compatibility shims */
-+
-+inline void ipset_envopt_set(struct ipset_session *session, enum ipset_envopt opt)
-+{
-+    ipset_envopt_parse(session, opt, NULL);
-+}
-+
-+inline const char * ipset_session_report_msg(const struct ipset_session *session)
-+{
-+  return ipset_session_error(session);
-+}
-+
-+static inline struct ipset_session *noddos_ipset_session_init(void)
-+{
-+  return ipset_session_init(printf);
-+}
-+
-+#else
-+
-+static inline struct ipset_session *noddos_ipset_session_init(void)
-+{
-+  return ipset_session_init(NULL, NULL);
-+}
-+#endif
- std::string getIpsetUuid (std::string inUuid);
- std::string getIpsetName (std::string inUuid, bool inSrc, bool inIpv4 = true);
-@@ -99,23 +124,19 @@ public:
-     }
-     bool Exists() {
-         try {
--            struct ipset_session *session = ipset_session_init(printf);
-+            struct ipset_session *session = noddos_ipset_session_init();
-             if (session == nullptr) {
-                 syslog (LOG_ERR, "Ipset: Cannot initialize ipset session.");
-                 ipset_session_fini(session);
-                 throw std::runtime_error ("Cannot initialize ipset session.");
-             }
--            if (ipset_envopt_parse(session, IPSET_ENV_EXIST, NULL) < 0) {
--                syslog (LOG_ERR, "Ipset: Can't set environment option.");
--                ipset_session_fini(session);
--                throw std::runtime_error ("Can't set environment option.");
--            }
-+            ipset_envopt_set(session, IPSET_ENV_EXIST);
-             int r = ipset_session_data_set(session, IPSET_SETNAME, ipsetName.c_str());
-             if (ipset_commit(session) < 0) {
--                syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_error(session));
-+                syslog (LOG_ERR, "Ipset: Can't commit for setname %s: %s", ipsetName.c_str(), ipset_session_report_msg(session));
-                 ipset_session_fini(session);
--                throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_error(session));
-+                throw std::runtime_error("Can't call ipset_commit for " + ipsetName + ": " + ipset_session_report_msg(session));
-             }
-             ipset_session_fini(session);
-             return r == 0;
diff --git a/net/noddos/patches/030-getnoddosdeviceprofiles-wget-timestamping-check.patch b/net/noddos/patches/030-getnoddosdeviceprofiles-wget-timestamping-check.patch
deleted file mode 100644 (file)
index ad4c0c3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From eb1730afff9377a5f167d0738ad0b3aeba9634d0 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cote2004-github@yahoo.com>
-Date: Tue, 19 Mar 2019 18:27:10 -0300
-Subject: [PATCH] getnoddosdeviceprofiles: wget timestamping check
-
-Check if the --timestamping option is available to avoid an error in
-openwrt when wget is handled by uclient-fetch.
-
-Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
-
-diff --git a/tools/getnoddosdeviceprofiles b/tools/getnoddosdeviceprofiles
-index 337e351..174034f 100755
---- a/tools/getnoddosdeviceprofiles
-+++ b/tools/getnoddosdeviceprofiles
-@@ -86,7 +86,12 @@ fi
- # That's also why we don't delete the downloaded file
- if [ "$WGET" != "" ]
- then
--    GETURL="$WGET --quiet --timestamping"
-+    GETURL="$WGET --quiet"
-+    # Make sure wget accepts --timestamping
-+    if wget --help 2>&1 | egrep timestamping > /dev/null
-+    then
-+        GETURL="$GETURL --timestamping"
-+    fi
- else
-     if [ "$CURL" != "" ]
-     then
diff --git a/net/noddos/patches/040-openssl-deprecated.patch b/net/noddos/patches/040-openssl-deprecated.patch
deleted file mode 100644 (file)
index 915f623..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/src/opensslfingerprint.cxx
-+++ b/src/opensslfingerprint.cxx
-@@ -73,9 +73,11 @@ std::string getCertFingerprint(const std::string certfile, const bool Debug = fa
-       // closes file
-       close(fd);
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
-       // initialize OpenSSL
-       SSL_load_error_strings();
-       SSL_library_init();
-+#endif
-       // creates BIO buffer
-       BIO * bio = BIO_new_mem_buf(buff, len);
index ea5d9ce82e938f557084c247cba9ee4d6228b866..ed05a3a554801a9a5ff921e81ae3db2fbbc21fb0 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
-PKG_VERSION:=1.1.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.1.2
+PKG_RELEASE:=1
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
-PKG_HASH:=9c7aaf46e53e28cfa7be329b18f3951e7e851153ff6a27e946496fd4e8e5765a
+PKG_HASH:=889ccdbe8e67d3bc2bc8713b7fbb5bd4e79228abc6054e88858cb4ad6d0245dd
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
index 7124415f759ab48cb0b655ccfa0a3a4d63211ffa..a057f1f5e2736edb38f769ef8c3465779db9abea 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ola
 PKG_VERSION:=0.10.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/OpenLightingProject/ola/tar.gz/$(PKG_VERSION)?
diff --git a/net/ola/patches/010-no-werror.patch b/net/ola/patches/010-no-werror.patch
new file mode 100644 (file)
index 0000000..44f5bdb
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -61,7 +61,7 @@ COMMON_TESTING_PROTOBUF_FLAGS = $(COMMON
+ # The generated protobuf files don't compile with -Werror on win32 so we
+ # disable fatal warnings on WIN32.
+-if ! USING_WIN32
++if USING_WIN32
+ if FATAL_WARNINGS
+   COMMON_CXXFLAGS += -Werror
+   COMMON_PROTOBUF_CXXFLAGS += -Werror -Wno-error=unused-parameter \
index ccb4703e3e3c480eb0f3b4b84bfc6b13fe420467..dd212cd70c9e4e3bb444006d25c3a4a48f8c79c9 100644 (file)
@@ -4,12 +4,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=open-iscsi
-PKG_VERSION:=2.1.1
-PKG_RELEASE:=2
+PKG_VERSION:=2.1.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/open-iscsi/open-iscsi/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=dfc1ea37f230f9d116f5b39c795b35be43002d65c81330ccd3878786532b811b
+PKG_HASH:=5410474b23552016220d04aa181903cb50ae988f29e99cb03f3e2de86a109be4
 
 PKG_MAINTAINER:=Lucian CRISTIAN <lucian.cristian@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -52,6 +52,7 @@ define Build/Configure
                --build=$(GNU_HOST_NAME) \
                --prefix=/usr \
                LIB_DIR=/usr/lib \
+               CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
        )
 endef
index 5b9d247cf28a63db74b935430102597ab4efd6db..7ed1b38b4d693130bd76cb00e4d58aaf10466494 100644 (file)
@@ -10,11 +10,9 @@ for splitting it up.
  usr/idbm.c | 18 +++++-------------
  1 file changed, 5 insertions(+), 13 deletions(-)
 
-diff --git a/usr/idbm.c b/usr/idbm.c
-index be4d4e3..a7da540 100644
 --- a/usr/idbm.c
 +++ b/usr/idbm.c
-@@ -2078,6 +2078,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
+@@ -2178,6 +2178,10 @@ static int idbm_rec_write(node_rec_t *re
                        goto free_portal;
        }
  
@@ -25,7 +23,7 @@ index be4d4e3..a7da540 100644
        rc = stat(portal, &statb);
        if (rc) {
                rc = 0;
-@@ -2086,22 +2090,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
+@@ -2186,23 +2190,11 @@ static int idbm_rec_write(node_rec_t *re
                 * set the tgpt. In new versions you must pass all the info in
                 * from the start
                 */
@@ -38,7 +36,7 @@ index be4d4e3..a7da540 100644
        }
  
        if (!S_ISDIR(statb.st_mode)) {
--              /*
+               /*
 -               * older iscsiadm versions had you create the config then set
 -               * set the tgpt. In new versions you must pass all the info in
 -               * from the start
@@ -46,9 +44,7 @@ index be4d4e3..a7da540 100644
 -              if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
 -                      /* drop down to old style portal as config */
 -                      goto open_conf;
-               /*
+-              /*
                 * Old style portal as a file, but with tpgt. Let's update it.
                 */
--- 
-2.21.0
-
+               if (unlink(portal)) {
index 25cddd3c7759cb60f5914469126354505041a3d9..6fb085b633ad8f4451b0f484fe638c94431948b7 100644 (file)
@@ -8,11 +8,9 @@ Duplicates a small bit of code, but easier to understand and extened.
  usr/idbm.c | 129 +++++++++++++++++++++++++++++++++++------------------
  1 file changed, 86 insertions(+), 43 deletions(-)
 
-diff --git a/usr/idbm.c b/usr/idbm.c
-index a7da540..2f5e309 100644
 --- a/usr/idbm.c
 +++ b/usr/idbm.c
-@@ -2030,12 +2030,7 @@ mkdir_portal:
+@@ -2130,12 +2130,7 @@ mkdir_portal:
        return f;
  }
  
@@ -26,7 +24,7 @@ index a7da540..2f5e309 100644
  {
        struct stat statb;
        FILE *f;
-@@ -2048,39 +2043,8 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
+@@ -2148,39 +2143,8 @@ static int idbm_rec_write(node_rec_t *re
                return ISCSI_ERR_NOMEM;
        }
  
@@ -66,7 +64,7 @@ index a7da540..2f5e309 100644
  
        rc = stat(portal, &statb);
        if (rc) {
-@@ -2101,11 +2065,11 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
+@@ -2201,11 +2165,11 @@ static int idbm_rec_write(node_rec_t *re
                        log_error("Could not convert %s: %s", portal,
                                  strerror(errno));
                        rc = ISCSI_ERR_IDBM;
@@ -80,7 +78,7 @@ index a7da540..2f5e309 100644
        }
  
  mkdir_portal:
-@@ -2116,24 +2080,103 @@ mkdir_portal:
+@@ -2216,24 +2180,103 @@ mkdir_portal:
                        log_error("Could not make dir %s: %s",
                                  portal, strerror(errno));
                        rc = ISCSI_ERR_IDBM;
@@ -100,11 +98,10 @@ index a7da540..2f5e309 100644
                rc = ISCSI_ERR_IDBM;
 -              goto unlock;
 +              goto free_portal;
-       }
-       idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
-       fclose(f);
--unlock:
++      }
++
++      idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
++      fclose(f);
 +free_portal:
 +      free(portal);
 +      return rc;
@@ -120,18 +117,19 @@ index a7da540..2f5e309 100644
 +      if (!portal) {
 +              log_error("Could not alloc portal");
 +              return ISCSI_ERR_NOMEM;
-+      }
+       }
 +      snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
 +               rec->name, rec->conn[0].address, rec->conn[0].port);
-+
 +      f = fopen(portal, "w");
 +      if (!f) {
 +              log_error("Could not open %s: %sd", portal, strerror(errno));
 +              rc = ISCSI_ERR_IDBM;
 +              goto free_portal;
 +      }
-+      idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
-+      fclose(f);
+       idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
+       fclose(f);
+-unlock:
 +free_portal:
 +      free(portal);
 +      return rc;
@@ -188,6 +186,3 @@ index a7da540..2f5e309 100644
        if (!disable_lock)
                idbm_unlock();
  free_portal:
--- 
-2.21.0
-
index 10d9a668f0dbe0ba6345e1e7856d1b09190b2bd3..f9ae854b85c56428d7bbc3ac5c72e4825640b7a2 100644 (file)
@@ -11,8 +11,6 @@ updated new style record instead.
  usr/idbm.c | 40 ++++++++++++++++++++++++++++++++++++++++
  1 file changed, 40 insertions(+)
 
-diff --git a/usr/idbm.c b/usr/idbm.c
-index b6193e7..2208c4a 100644
 --- a/usr/idbm.c
 +++ b/usr/idbm.c
 @@ -28,6 +28,7 @@
@@ -34,7 +32,7 @@ index b6193e7..2208c4a 100644
  #define IDBM_HIDE     0    /* Hide parameter when print. */
  #define IDBM_SHOW     1    /* Show parameter when print. */
  #define IDBM_MASKED   2    /* Show "stars" instead of real value when print */
-@@ -202,6 +207,8 @@ static struct int_list_tbl {
+@@ -203,6 +208,8 @@ static struct int_list_tbl {
        { "SHA3-256", AUTH_CHAP_ALG_SHA3_256 },
  };
  
@@ -43,7 +41,7 @@ index b6193e7..2208c4a 100644
  static void
  idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri)
  {
-@@ -2206,12 +2213,49 @@ static int idbm_rec_write_old(node_rec_t *rec)
+@@ -2207,12 +2214,49 @@ static int idbm_rec_write_old(node_rec_t
        FILE *f;
        char *portal;
        int rc = 0;
@@ -93,4 +91,3 @@ index b6193e7..2208c4a 100644
        snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
                 rec->name, rec->conn[0].address, rec->conn[0].port);
  
-
index d63dbd95ce2026a550c872dbddcd73772d96aff3..e97890e1721f00e3e6432ad194d42521c21e5fb4 100644 (file)
@@ -7,11 +7,9 @@ Subject: [PATCH] remove the offload boot supported ifdef
  usr/iface.c | 7 +------
  1 file changed, 1 insertion(+), 6 deletions(-)
 
-diff --git a/usr/iface.c b/usr/iface.c
-index 645b0b8..9cd07fd 100644
 --- a/usr/iface.c
 +++ b/usr/iface.c
-@@ -993,6 +993,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
+@@ -998,6 +998,7 @@ int iface_setup_from_boot_context(struct
  {
        struct iscsi_transport *t = NULL;
        uint32_t hostno;
@@ -19,7 +17,7 @@ index 645b0b8..9cd07fd 100644
  
        if (strlen(context->initiatorname))
                strlcpy(iface->iname, context->initiatorname,
-@@ -1006,10 +1007,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
+@@ -1011,10 +1012,7 @@ int iface_setup_from_boot_context(struct
                        return 0;
                }
        } else if (strlen(context->iface)) {
@@ -30,7 +28,7 @@ index 645b0b8..9cd07fd 100644
  
                memset(transport_name, 0, ISCSI_TRANSPORT_NAME_MAXLEN);
                /* make sure offload driver is loaded */
-@@ -1035,9 +1033,6 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
+@@ -1040,9 +1038,6 @@ int iface_setup_from_boot_context(struct
                }
  
                strlcpy(iface->netdev, context->iface, sizeof(iface->netdev));
@@ -40,6 +38,3 @@ index 645b0b8..9cd07fd 100644
        } else
                return 0;
  
--- 
-2.21.0
-
index fe727c2364c527c6b02c08a8edd4a1522710ef02..d542c23d8005574eae0662eadbd3fc1a44d67865 100644 (file)
@@ -12,11 +12,9 @@ Subject: [PATCH 1/1] Coverity scan fixes
  usr/iscsid.c                  |  2 +-
  6 files changed, 15 insertions(+), 15 deletions(-)
 
-diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c
-index 3414cb5..a359700 100644
 --- a/iscsiuio/src/unix/libs/qedi.c
 +++ b/iscsiuio/src/unix/libs/qedi.c
-@@ -1023,7 +1023,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt)
+@@ -1030,7 +1030,7 @@ static int qedi_read(nic_t *nic, packet_
  
        LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d",
                  nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len);
@@ -25,8 +23,6 @@ index 3414cb5..a359700 100644
                  nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
  
        if (bd_cons != bd_prod) {
-diff --git a/iscsiuio/src/unix/main.c b/iscsiuio/src/unix/main.c
-index 0c9ad49..f83f305 100644
 --- a/iscsiuio/src/unix/main.c
 +++ b/iscsiuio/src/unix/main.c
 @@ -391,6 +391,9 @@ int main(int argc, char *argv[])
@@ -39,11 +35,9 @@ index 0c9ad49..f83f305 100644
  
        /*  Spin off the signal handling thread */
        pthread_attr_init(&attr);
-diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
-index 7bc2381..7d4c338 100644
 --- a/libopeniscsiusr/idbm.c
 +++ b/libopeniscsiusr/idbm.c
-@@ -321,12 +321,11 @@ int _idbm_lock(struct iscsi_context *ctx)
+@@ -321,12 +321,11 @@ int _idbm_lock(struct iscsi_context *ctx
                return 0;
        }
  
@@ -61,11 +55,9 @@ index 7bc2381..7d4c338 100644
        }
  
        fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
-diff --git a/usr/idbm.c b/usr/idbm.c
-index d5e16cb..a210c88 100644
 --- a/usr/idbm.c
 +++ b/usr/idbm.c
-@@ -1438,12 +1438,10 @@ int idbm_lock(void)
+@@ -1439,12 +1439,10 @@ int idbm_lock(void)
                return 0;
        }
  
@@ -82,11 +74,9 @@ index d5e16cb..a210c88 100644
        }
  
        fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
-diff --git a/usr/iscsid.c b/usr/iscsid.c
-index 99d27ab..dbb0900 100644
 --- a/usr/iscsid.c
 +++ b/usr/iscsid.c
-@@ -490,8 +490,8 @@ int main(int argc, char *argv[])
+@@ -495,8 +495,8 @@ int main(int argc, char *argv[])
                                log_close(log_pid);
                                exit(ISCSI_ERR);
                        }
@@ -96,11 +86,9 @@ index 99d27ab..dbb0900 100644
  
                if ((control_fd = ipc->ctldev_open()) < 0) {
                        log_close(log_pid);
-diff --git a/usr/initiator.c b/usr/initiator.c
-index a07f9aa..a06760c 100644
 --- a/usr/initiator.c
 +++ b/usr/initiator.c
-@@ -580,7 +580,7 @@ __session_conn_reopen(iscsi_conn_t *conn, queue_task_t *qtask, int do_stop,
+@@ -580,7 +580,7 @@ __session_conn_reopen(iscsi_conn_t *conn
                      int redirected)
  {
        iscsi_session_t *session = conn->session;
@@ -109,6 +97,3 @@ index a07f9aa..a06760c 100644
  
        log_debug(1, "re-opening session %d (reopen_cnt %d)", session->id,
                        session->reopen_cnt);
--- 
-2.21.1
-
diff --git a/net/open-iscsi/patches/0023-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch b/net/open-iscsi/patches/0023-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch
deleted file mode 100644 (file)
index 3dcd2a5..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From d4ed4972df1ffe9381e33f2800f8e574f632948c Mon Sep 17 00:00:00 2001
-From: rpm-build <rpm-build>
-Date: Mon, 2 Mar 2020 15:21:30 -0800
-Subject: [PATCH 1/1] iscsi_if.h replace zero-length array with flexible-array
- member
-
----
- include/iscsi_if.h | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/include/iscsi_if.h b/include/iscsi_if.h
-index 2d46214..e8cee0d 100644
---- a/include/iscsi_if.h
-+++ b/include/iscsi_if.h
-@@ -337,7 +337,7 @@ enum iscsi_param_type {
- struct iscsi_param_info {
-       uint32_t len;           /* Actual length of the param value */
-       uint16_t param;         /* iscsi param */
--      uint8_t value[0];       /* length sized value follows */
-+      uint8_t value[];        /* length sized value follows */
- } __attribute__((__packed__));
- struct iscsi_iface_param_info {
-@@ -346,7 +346,7 @@ struct iscsi_iface_param_info {
-       uint16_t param;         /* iscsi param value */
-       uint8_t iface_type;     /* IPv4 or IPv6 */
-       uint8_t param_type;     /* iscsi_param_type */
--      uint8_t value[0];       /* length sized value follows */
-+      uint8_t value[];        /* length sized value follows */
- } __attribute__((__packed__));
- /*
-@@ -723,7 +723,7 @@ enum iscsi_flashnode_param {
- struct iscsi_flashnode_param_info {
-       uint32_t len;           /* Actual length of the param */
-       uint16_t param;         /* iscsi param value */
--      uint8_t value[0];       /* length sized value follows */
-+      uint8_t value[];        /* length sized value follows */
- } __attribute__((__packed__));
- enum iscsi_discovery_parent_type {
-@@ -841,7 +841,7 @@ struct iscsi_stats {
-        * up to ISCSI_STATS_CUSTOM_MAX
-        */
-       uint32_t custom_length;
--      struct iscsi_stats_custom custom[0]
-+      struct iscsi_stats_custom custom[]
-               __attribute__ ((aligned (sizeof(uint64_t))));
- };
-@@ -972,7 +972,7 @@ struct iscsi_offload_host_stats {
-        * up to ISCSI_HOST_STATS_CUSTOM_MAX
-        */
-       uint32_t custom_length;
--      struct iscsi_host_stats_custom custom[0]
-+      struct iscsi_host_stats_custom custom[]
-                __attribute__ ((aligned (sizeof(uint64_t))));
- };
--- 
-2.21.1
-
diff --git a/net/open-iscsi/patches/01-fixiscsi_iname_core_dumps.patch b/net/open-iscsi/patches/01-fixiscsi_iname_core_dumps.patch
deleted file mode 100644 (file)
index a9e898d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From b32f59619c32ed6cd136194d92c649b74926c6f2 Mon Sep 17 00:00:00 2001
-From: Lee Duncan <lduncan@suse.com>
-Date: Wed, 25 Mar 2020 18:00:50 -0700
-Subject: [PATCH] Fix issue where "iscsi-iname -p" core dumps.
-
-While I was at it, I made the usage message a function
-and made it print to stderr insted of stdout.
----
- utils/Makefile      |  2 +-
- utils/iscsi-iname.c | 17 +++++++++++++----
- 2 files changed, 14 insertions(+), 5 deletions(-)
-
-diff --git a/utils/Makefile b/utils/Makefile
-index f65f1e79..aed3bb0a 100644
---- a/utils/Makefile
-+++ b/utils/Makefile
-@@ -1,7 +1,7 @@
- # This Makefile will work only with GNU make.
- CFLAGS ?= -O2 -fno-inline -g
--CFLAGS += -Wall -Wstrict-prototypes
-+CFLAGS += -Wall -Wextra -Wstrict-prototypes
- PROGRAMS = iscsi-iname
- all: $(PROGRAMS)
-diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c
-index da850dca..0f587e1e 100644
---- a/utils/iscsi-iname.c
-+++ b/utils/iscsi-iname.c
-@@ -40,6 +40,13 @@
-  * a seperator and 12 characters (6 random bytes in hex representation) */
- #define PREFIX_MAX_LEN 210
-+static void usage(void)
-+{
-+      fprintf(stderr, "Usage: iscsi-iname [-h | --help | -p <prefix>]\n");
-+      fprintf(stderr, "where <prefix> has max length of %d\n",
-+              PREFIX_MAX_LEN);
-+}
-+
- int
- main(int argc, char *argv[])
- {
-@@ -68,15 +75,17 @@ main(int argc, char *argv[])
-                              "on every invocation.\n");
-                       exit(0);
-               } else if ( strcmp(prefix, "-p") == 0 ) {
-+                      if (argc != 3) {
-+                              usage();
-+                              exit(1);
-+                      }
-                       prefix = argv[2];
-                       if (strnlen(prefix, PREFIX_MAX_LEN + 1) > PREFIX_MAX_LEN) {
--                              printf("Error: Prefix cannot exceed %d "
--                                     "characters.\n", PREFIX_MAX_LEN);
-+                              usage();
-                               exit(1);
-                       }
-               } else {
--                      printf("\nUsage: iscsi-iname [-h | --help | "
--                             "-p <prefix>]\n");
-+                      usage();
-                       exit(0);
-               }
-       } else {
diff --git a/net/open-iscsi/patches/02-change_include_poll_h.patch b/net/open-iscsi/patches/02-change_include_poll_h.patch
deleted file mode 100644 (file)
index 088cef0..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-From 6ed14d48f6e9a8dfb37cc68472b04cfb3673b7bd Mon Sep 17 00:00:00 2001
-From: Lee Duncan <lduncan@suse.com>
-Date: Fri, 27 Mar 2020 17:50:41 -0700
-Subject: [PATCH 1/3] Change include of <sys/poll.h> to <poll.h>
-
-The proper local is <poll.h>.
----
- iscsiuio/src/unix/nic_nl.c | 2 +-
- usr/discovery.c            | 2 +-
- usr/event_poll.c           | 2 +-
- usr/io.c                   | 2 +-
- usr/netlink.c              | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/iscsiuio/src/unix/nic_nl.c b/iscsiuio/src/unix/nic_nl.c
-index f8306563..dee462e7 100644
---- a/iscsiuio/src/unix/nic_nl.c
-+++ b/iscsiuio/src/unix/nic_nl.c
-@@ -50,7 +50,7 @@
- #include <linux/netlink.h>
- #include <iscsi_if.h>
- #include <sys/ioctl.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/types.h>
- #include <sys/user.h>
- #include <sys/socket.h>
-diff --git a/usr/discovery.c b/usr/discovery.c
-index 9ce122e1..7dec696f 100644
---- a/usr/discovery.c
-+++ b/usr/discovery.c
-@@ -25,7 +25,7 @@
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/time.h>
- #include <sys/param.h>
- #include <sys/socket.h>
-diff --git a/usr/event_poll.c b/usr/event_poll.c
-index 4cf4ce2b..ffd12a37 100644
---- a/usr/event_poll.c
-+++ b/usr/event_poll.c
-@@ -23,7 +23,7 @@
-  */
- #include <stdlib.h>
- #include <errno.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <sys/signalfd.h>
-diff --git a/usr/io.c b/usr/io.c
-index 210a10ad..a46c9f8c 100644
---- a/usr/io.c
-+++ b/usr/io.c
-@@ -24,7 +24,7 @@
- #include <signal.h>
- #include <unistd.h>
- #include <fcntl.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/ioctl.h>
- #include <netinet/tcp.h>
- #include <arpa/inet.h>
-diff --git a/usr/netlink.c b/usr/netlink.c
-index d42ca4fb..22cad834 100644
---- a/usr/netlink.c
-+++ b/usr/netlink.c
-@@ -30,7 +30,7 @@
- #include <asm/types.h>
- #include <sys/socket.h>
- #include <sys/types.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <linux/netlink.h>
- #include "types.h"
-
-From fbe6c1c766a88edccb0d7f4168d2d87a3cdb4660 Mon Sep 17 00:00:00 2001
-From: Lee Duncan <lduncan@suse.com>
-Date: Fri, 27 Mar 2020 17:57:52 -0700
-Subject: [PATCH 2/3] Fix type mismatch under musl.
-
-It complains about rl.rlim_cur and rl.rlim_max being
-long long unsigned, so cast them, since it's debug
-messages anyway.
----
- usr/iscsi_util.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/usr/iscsi_util.c b/usr/iscsi_util.c
-index fd8fc0cf..db1dc377 100644
---- a/usr/iscsi_util.c
-+++ b/usr/iscsi_util.c
-@@ -152,7 +152,9 @@ int increase_max_files(void)
-               log_debug(1, "Could not get file limit (err %d)", errno);
-               return errno;
-       }
--      log_debug(1, "Max file limits %lu %lu", rl.rlim_cur, rl.rlim_max);
-+      log_debug(1, "Max file limits %lu %lu",
-+                      (long unsigned)rl.rlim_cur,
-+                      (long unsigned)rl.rlim_max);
-       if (rl.rlim_cur < ISCSI_MAX_FILES)
-               rl.rlim_cur = ISCSI_MAX_FILES;
-@@ -162,7 +164,8 @@ int increase_max_files(void)
-       err = setrlimit(RLIMIT_NOFILE, &rl);
-       if (err) {
-               log_debug(1, "Could not set file limit to %lu/%lu (err %d)",
--                        rl.rlim_cur, rl.rlim_max, errno);
-+                        (long unsigned)rl.rlim_cur,
-+                        (long unsigned)rl.rlim_max, errno);
-               return errno;
-       }
-
-From a93c2f1cf5a55887074bdda65aa6ad6c533191f0 Mon Sep 17 00:00:00 2001
-From: Lee Duncan <lduncan@suse.com>
-Date: Sun, 29 Mar 2020 11:01:07 -0700
-Subject: [PATCH 3/3] More changes for musl.
-
-Clean up some code that musl complains about. The
-changes all seem like a good idea in general, and
-should not effect functionality.
----
- usr/iscsistart.c | 1 -
- usr/mgmt_ipc.c   | 1 +
- usr/statics.c    | 3 +--
- 3 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/usr/iscsistart.c b/usr/iscsistart.c
-index 00a9c78a..ee810f7a 100644
---- a/usr/iscsistart.c
-+++ b/usr/iscsistart.c
-@@ -30,7 +30,6 @@
- #include <time.h>
- #include <sys/mman.h>
- #include <sys/utsname.h>
--#include <sys/signal.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
-index 51267c13..c292161f 100644
---- a/usr/mgmt_ipc.c
-+++ b/usr/mgmt_ipc.c
-@@ -26,6 +26,7 @@
- #include <unistd.h>
- #include <pwd.h>
- #include <sys/un.h>
-+#include <string.h>
- #include "iscsid.h"
- #include "idbm.h"
-diff --git a/usr/statics.c b/usr/statics.c
-index 59fb044d..f59729ba 100644
---- a/usr/statics.c
-+++ b/usr/statics.c
-@@ -1,6 +1,6 @@
- #include <unistd.h>
- #include <pwd.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <sys/types.h>
- static struct passwd root_pw = {
-@@ -17,4 +17,3 @@ getpwuid(uid_t uid)
-               return 0;
-       }
- }
--
diff --git a/net/open-iscsi/patches/03-ignore_iface_example.patch b/net/open-iscsi/patches/03-ignore_iface_example.patch
deleted file mode 100644 (file)
index 1eb31a6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 16d4899d52b3b88774ac6d9b3cc0f5626f4705da Mon Sep 17 00:00:00 2001
-From: Lee Duncan <lduncan@suse.com>
-Date: Tue, 19 Nov 2019 07:54:41 -0800
-Subject: [PATCH] Ignore iface.example in iface match checks
-
-Just a cleanup, as looking at the example file
-didn't hurt anything, but did waste our time.
----
- usr/iface.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/usr/iface.c b/usr/iface.c
-index 323f1675..11f3d2ac 100644
---- a/usr/iface.c
-+++ b/usr/iface.c
-@@ -905,6 +905,9 @@ int iface_for_each_iface(void *data, int skip_def, int *nr_found,
-                   !strcmp(iface_dent->d_name, ".."))
-                       continue;
-+              if (!strcmp(iface_dent->d_name, "iface.example"))
-+                      continue;
-+
-               log_debug(5, "iface_for_each_iface found %s",
-                        iface_dent->d_name);
-               iface = iface_alloc(iface_dent->d_name, &err);
index d310cf5c13d54964b7e7141992fcc739692ccb61..37f1945f41c7a6d8f1364049ceb7e0007196e27d 100755 (executable)
@@ -115,7 +115,7 @@ proto_openconnect_setup() {
                        [ -n "$password2" ] && echo "$password2" >> "$pwfile"
                }
                [ "$token_mode" = "script" ] && {
-                       $token_script > "$pwfile" 2> /dev/null || {
+                       $token_script >> "$pwfile" 2> /dev/null || {
                                logger -t openconenct "Cannot get password from script '$token_script'"
                                proto_setup_failed "$config"
                        }
index 2a0863248933248eb5b1cb2046646a369751b9b9..1782b02f667cb1db662148e19e0a7f831ccbbc5a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssh
 PKG_VERSION:=8.4p1
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
@@ -49,9 +49,8 @@ define Package/openssh-client
        $(call Package/openssh/Default)
        TITLE+= client
        ALTERNATIVES:=\
-               200:/usr/bin/ssh:/usr/bin/openssh-ssh \
-               200:/usr/bin/scp:/usr/bin/openssh-scp \
-
+               200:/usr/bin/ssh:/usr/libexec/ssh-openssh \
+               200:/usr/bin/scp:/usr/libexec/scp-openssh
 endef
 
 define Package/openssh-client/description
@@ -197,9 +196,9 @@ define Package/openssh-client/install
        $(INSTALL_DIR) $(1)/etc/ssh
        chmod 0700 $(1)/etc/ssh
        $(CP) $(PKG_INSTALL_DIR)/etc/ssh/ssh_config $(1)/etc/ssh/
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/bin/openssh-ssh
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/bin/openssh-scp
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/libexec/ssh-openssh
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/libexec/scp-openssh
 endef
 
 define Package/openssh-client-utils/install
@@ -219,6 +218,8 @@ define Package/openssh-server/install
        sed -r -i 's,^#(HostKey /etc/ssh/ssh_host_(rsa|ed25519)_key)$$$$,\1,' $(1)/etc/ssh/sshd_config
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd
+       $(INSTALL_DIR) $(1)/lib/preinit
+       $(INSTALL_BIN) ./files/sshd.failsafe $(1)/lib/preinit/99_10_failsafe_sshd
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/
 endef
diff --git a/net/openssh/files/sshd.failsafe b/net/openssh/files/sshd.failsafe
new file mode 100755 (executable)
index 0000000..ed1429b
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+failsafe_sshd () {
+
+       # if dropbear is executable it can handle failsafe
+       [ -x /usr/sbin/dropbear ] && return
+
+       sshd_tmpdir=/tmp/sshd
+       mkdir $sshd_tmpdir
+
+       sed -i 's/^root:.*/root::0:17000:::::/g' /etc/shadow
+
+       for type in ed25519; do
+               key=$sshd_tmpdir/ssh_host_${type}_key
+               ssh-keygen -N '' -t ${type} -f ${key}
+       done
+
+       mkdir -m 0700 -p /var/empty
+
+       cat > $sshd_tmpdir/sshd_config <<EOF
+HostKey $sshd_tmpdir/ssh_host_ed25519_key
+PermitRootLogin        yes
+PermitEmptyPasswords yes
+EOF
+
+       /usr/sbin/sshd -f $sshd_tmpdir/sshd_config -E $sshd_tmpdir/sshd.log
+
+}
+
+boot_hook_add failsafe failsafe_sshd
diff --git a/net/openvpn-easy-rsa/Makefile b/net/openvpn-easy-rsa/Makefile
new file mode 100644 (file)
index 0000000..56d5b33
--- /dev/null
@@ -0,0 +1,93 @@
+#
+# Copyright (C) 2010-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=openvpn-easy-rsa
+
+PKG_VERSION:=3.0.8
+PKG_RELEASE:=2
+PKG_SOURCE_URL:=https://codeload.github.com/OpenVPN/easy-rsa/tar.gz/v$(PKG_VERSION)?
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=fd6b67d867c3b8afd53efa2ca015477f6658a02323e1799432083472ac0dd200
+
+# For git snapshots
+#PKG_SOURCE_PROTO:=git
+#PKG_RELEASE=0git$(PKG_SOURCE_DATE)
+#PKG_SOURCE_URL:=https://github.com/OpenVPN/easy-rsa.git
+#PKG_SOURCE_DATE:=2020-03-30
+#PKG_SOURCE_VERSION:=945c9359f6ae3796df21e2986e49489718e0d5f8
+#PKG_MIRROR_HASH:=
+
+PKG_LICENSE:=GPL-2.0
+PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
+PKG_BUILD_DIR:=$(BUILD_DIR)/easy-rsa-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/openvpn-easy-rsa
+  TITLE:=CLI utility to build and manage a PKI CA.
+  SECTION:=net
+  CATEGORY:=Network
+  URL:=http://openvpn.net
+  SUBMENU:=VPN
+  DEPENDS:=+openssl-util
+  PKGARCH:=all
+endef
+
+define Package/openvpn-easy-rsa/conffiles
+/etc/easy-rsa/vars
+/etc/easy-rsa/openssl-1.0.cnf
+/etc/easy-rsa/openssl-easyrsa.cnf
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+       cd $(PKG_BUILD_DIR); \
+       $(PKG_BUILD_DIR)/build/build-dist.sh \
+               --no-windows \
+               --no-compress \
+               --dist-clean \
+               --version=$(PKG_VERSION)
+endef
+
+define Package/openvpn-easy-rsa/install
+
+       $(INSTALL_DIR) $(1)/usr/lib/easy-rsa/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/dist-staging/unix/EasyRSA-$(PKG_VERSION)/easyrsa $(1)/usr/lib/easy-rsa/
+
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(LN) ../lib/easy-rsa/easyrsa $(1)/usr/bin/easyrsa
+
+       $(INSTALL_DIR) $(1)/etc/easy-rsa
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/dist-staging/unix/EasyRSA-$(PKG_VERSION)/openssl-easyrsa.cnf $(1)/etc/easy-rsa/openssl-1.0.cnf
+       $(LN) openssl-1.0.cnf $(1)/etc/easy-rsa/openssl-easyrsa.cnf
+       $(LN) ../../../etc/easy-rsa/openssl-easyrsa.cnf $(1)/usr/lib/easy-rsa/openssl-easyrsa.cnf
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/dist-staging/unix/EasyRSA-$(PKG_VERSION)/vars.example $(1)/etc/easy-rsa/vars
+       $(LN) ../../../etc/easy-rsa/vars $(1)/usr/lib/easy-rsa/vars
+
+       $(INSTALL_DIR) $(1)/etc/easy-rsa/pki
+       chmod 700 $(1)/etc/easy-rsa/pki
+       $(INSTALL_DIR) $(1)/etc/easy-rsa/pki/private
+       chmod 700 $(1)/etc/easy-rsa/pki/private
+       $(INSTALL_DIR) $(1)/etc/easy-rsa/pki/reqs
+       chmod 700 $(1)/etc/easy-rsa/pki/reqs
+
+       $(INSTALL_DIR) $(1)/etc/easy-rsa/x509-types
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/dist-staging/unix/EasyRSA-$(PKG_VERSION)/x509-types/* $(1)/etc/easy-rsa/x509-types/
+       $(LN) ../../../etc/easy-rsa/x509-types $(1)/usr/lib/easy-rsa/x509-types
+
+       $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
+       $(INSTALL_DATA) files/openvpn-easy-rsa.upgrade $(1)/lib/upgrade/keep.d/$(PKG_NAME)
+
+       $(INSTALL_DIR) $(1)/etc/profile.d
+       $(INSTALL_DATA) files/openvpn-easy-rsa.profile $(1)/etc/profile.d/50-$(PKG_NAME).sh
+endef
+
+$(eval $(call BuildPackage,openvpn-easy-rsa))
diff --git a/net/openvpn-easy-rsa/files/openvpn-easy-rsa.profile b/net/openvpn-easy-rsa/files/openvpn-easy-rsa.profile
new file mode 100644 (file)
index 0000000..99a824a
--- /dev/null
@@ -0,0 +1,5 @@
+# default PKI dir
+#export EASYRSA=${EASYRSA:-/etc/easy-rsa}
+#export EASYRSA_PKI=${EASYRSA_PKI:-$EASYRSA/pki}
+#export EASYRSA_VARS_FILE=${EASYRSA_VARS_FILE:-$EASYRSA/vars}
+export EASYRSA_TEMP_DIR=${EASYRSA_TEMP_DIR:-${TMPDIR:-/tmp/}}
diff --git a/net/openvpn-easy-rsa/files/openvpn-easy-rsa.upgrade b/net/openvpn-easy-rsa/files/openvpn-easy-rsa.upgrade
new file mode 100644 (file)
index 0000000..8110b81
--- /dev/null
@@ -0,0 +1 @@
+/etc/easy-rsa/pki/
diff --git a/net/openvpn/Config-mbedtls.in b/net/openvpn/Config-mbedtls.in
new file mode 100644 (file)
index 0000000..3cf233b
--- /dev/null
@@ -0,0 +1,54 @@
+if PACKAGE_openvpn-mbedtls
+
+config OPENVPN_mbedtls_ENABLE_LZO
+       bool "Enable LZO compression support"
+       default n
+
+config OPENVPN_mbedtls_ENABLE_LZ4
+       bool "Enable LZ4 compression support"
+       default y
+
+#config OPENVPN_mbedtls_ENABLE_EUREPHIA
+#      bool "Enable support for the eurephia plug-in"
+#      default n
+
+config OPENVPN_mbedtls_ENABLE_MANAGEMENT
+       bool "Enable management server support"
+       default n
+
+#config OPENVPN_mbedtls_ENABLE_PKCS11
+#      bool "Enable pkcs11 support"
+#      default n
+
+config OPENVPN_mbedtls_ENABLE_FRAGMENT
+       bool "Enable internal fragmentation support (--fragment)"
+       default y
+
+config OPENVPN_mbedtls_ENABLE_MULTIHOME
+       bool "Enable multi-homed UDP server support (--multihome)"
+       default y
+
+config OPENVPN_mbedtls_ENABLE_PORT_SHARE
+       bool "Enable TCP server port-share support (--port-share)"
+       default y
+
+config OPENVPN_mbedtls_ENABLE_DEF_AUTH
+       bool "Enable deferred authentication"
+       default y
+
+config OPENVPN_mbedtls_ENABLE_PF
+       bool "Enable internal packet filter"
+       default y
+
+config OPENVPN_mbedtls_ENABLE_IPROUTE2
+       bool "Enable support for iproute2"
+       default n
+
+config OPENVPN_mbedtls_ENABLE_SMALL
+       bool "Enable size optimization"
+       default y
+       help
+         enable smaller executable size (disable OCC, usage
+         message, and verb 4 parm list)
+
+endif
diff --git a/net/openvpn/Config-openssl.in b/net/openvpn/Config-openssl.in
new file mode 100644 (file)
index 0000000..335bbaa
--- /dev/null
@@ -0,0 +1,58 @@
+if PACKAGE_openvpn-openssl
+
+config OPENVPN_openssl_ENABLE_LZO
+       bool "Enable LZO compression support"
+       default n
+
+config OPENVPN_openssl_ENABLE_LZ4
+       bool "Enable LZ4 compression support"
+       default y
+
+config OPENVPN_openssl_ENABLE_X509_ALT_USERNAME
+       bool "Enable the --x509-username-field feature"
+       default n
+
+#config OPENVPN_openssl_ENABLE_EUREPHIA
+#      bool "Enable support for the eurephia plug-in"
+#      default n
+
+config OPENVPN_openssl_ENABLE_MANAGEMENT
+       bool "Enable management server support"
+       default n
+
+#config OPENVPN_openssl_ENABLE_PKCS11
+#      bool "Enable pkcs11 support"
+#      default n
+
+config OPENVPN_openssl_ENABLE_FRAGMENT
+       bool "Enable internal fragmentation support (--fragment)"
+       default y
+
+config OPENVPN_openssl_ENABLE_MULTIHOME
+       bool "Enable multi-homed UDP server support (--multihome)"
+       default y
+
+config OPENVPN_openssl_ENABLE_PORT_SHARE
+       bool "Enable TCP server port-share support (--port-share)"
+       default y
+
+config OPENVPN_openssl_ENABLE_DEF_AUTH
+       bool "Enable deferred authentication"
+       default y
+
+config OPENVPN_openssl_ENABLE_PF
+       bool "Enable internal packet filter"
+       default y
+
+config OPENVPN_openssl_ENABLE_IPROUTE2
+       bool "Enable support for iproute2"
+       default n
+
+config OPENVPN_openssl_ENABLE_SMALL
+       bool "Enable size optimization"
+       default y
+       help
+         enable smaller executable size (disable OCC, usage
+         message, and verb 4 parm list)
+
+endif
diff --git a/net/openvpn/Makefile b/net/openvpn/Makefile
new file mode 100644 (file)
index 0000000..5c8a0a4
--- /dev/null
@@ -0,0 +1,144 @@
+#
+# Copyright (C) 2010-2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=openvpn
+
+PKG_VERSION:=2.5.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=\
+       https://build.openvpn.net/downloads/releases/ \
+       https://swupdate.openvpn.net/community/releases/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_HASH:=029a426e44d656cb4e1189319c95fe6fc9864247724f5599d99df9c4c3478fbd
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
+
+PKG_INSTALL:=1
+PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
+PKG_LICENSE:=GPL-2.0
+PKG_CPE_ID:=cpe:/a:openvpn:openvpn
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/openvpn/Default
+  TITLE:=Open source VPN solution using $(2)
+  SECTION:=net
+  CATEGORY:=Network
+  URL:=http://openvpn.net
+  SUBMENU:=VPN
+  MENU:=1
+  DEPENDS:=+kmod-tun +OPENVPN_$(1)_ENABLE_LZO:liblzo +OPENVPN_$(1)_ENABLE_IPROUTE2:ip $(3)
+  VARIANT:=$(1)
+  PROVIDES:=openvpn openvpn-crypto
+endef
+
+Package/openvpn-openssl=$(call Package/openvpn/Default,openssl,OpenSSL,+PACKAGE_openvpn-openssl:libopenssl)
+Package/openvpn-mbedtls=$(call Package/openvpn/Default,mbedtls,mbedTLS,+PACKAGE_openvpn-mbedtls:libmbedtls)
+
+define Package/openvpn/config/Default
+       source "$(SOURCE)/Config-$(1).in"
+endef
+
+Package/openvpn-openssl/config=$(call Package/openvpn/config/Default,openssl)
+Package/openvpn-mbedtls/config=$(call Package/openvpn/config/Default,mbedtls)
+
+ifeq ($(BUILD_VARIANT),mbedtls)
+CONFIG_OPENVPN_MBEDTLS:=y
+endif
+ifeq ($(BUILD_VARIANT),openssl)
+CONFIG_OPENVPN_OPENSSL:=y
+endif
+
+CONFIGURE_VARS += \
+       IPROUTE=/sbin/ip \
+       NETSTAT=/sbin/netstat
+
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+
+define Build/Configure
+       $(call Build/Configure/Default, \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_SMALL),--enable-small) \
+               --disable-selinux \
+               --disable-systemd \
+               --disable-plugins \
+               --disable-debug \
+               --disable-pkcs11 \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_LZO),--enable,--disable)-lzo \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_LZ4),--enable,--disable)-lz4 \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_X509_ALT_USERNAME),--enable,--disable)-x509-alt-username \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MANAGEMENT),--enable,--disable)-management \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_FRAGMENT),--enable,--disable)-fragment \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MULTIHOME),--enable,--disable)-multihome \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_IPROUTE2),--enable,--disable)-iproute2 \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_DEF_AUTH),--enable,--disable)-def-auth \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PF),--enable,--disable)-pf \
+               $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PORT_SHARE),--enable,--disable)-port-share \
+               $(if $(CONFIG_OPENVPN_OPENSSL),--with-crypto-library=openssl) \
+               $(if $(CONFIG_OPENVPN_MBEDTLS),--with-crypto-library=mbedtls) \
+       )
+endef
+
+define Package/openvpn-$(BUILD_VARIANT)/conffiles
+/etc/config/openvpn
+/etc/openvpn.user
+endef
+
+define Package/openvpn-$(BUILD_VARIANT)/install
+       $(INSTALL_DIR) \
+               $(1)/usr/sbin \
+               $(1)/usr/share/openvpn \
+               $(1)/etc/init.d \
+               $(1)/etc/config \
+               $(1)/etc/openvpn \
+               $(1)/lib/functions \
+               $(1)/lib/upgrade/keep.d \
+               $(1)/usr/libexec \
+               $(1)/etc/hotplug.d/openvpn
+
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/sbin/openvpn \
+               $(1)/usr/sbin/
+
+       $(INSTALL_BIN) \
+               files/openvpn.init \
+               $(1)/etc/init.d/openvpn
+
+       $(INSTALL_BIN) \
+               files/usr/libexec/openvpn-hotplug \
+               $(1)/usr/libexec/openvpn-hotplug
+
+       $(INSTALL_DATA) \
+               files/lib/functions/openvpn.sh \
+               $(1)/lib/functions/openvpn.sh
+
+       $(INSTALL_DATA) \
+               files/etc/hotplug.d/openvpn/01-user \
+               $(1)/etc/hotplug.d/openvpn/01-user
+
+       $(INSTALL_DATA) \
+               files/etc/openvpn.user \
+               $(1)/etc/openvpn.user
+
+       $(INSTALL_DATA) \
+               files/openvpn.options \
+               $(1)/usr/share/openvpn/openvpn.options
+
+       $(INSTALL_CONF) files/openvpn.config \
+               $(1)/etc/config/openvpn
+
+       $(INSTALL_DATA) \
+               files/openvpn.upgrade \
+               $(1)/lib/upgrade/keep.d/openvpn
+endef
+
+$(eval $(call BuildPackage,openvpn-openssl))
+$(eval $(call BuildPackage,openvpn-mbedtls))
diff --git a/net/openvpn/files/etc/hotplug.d/openvpn/01-user b/net/openvpn/files/etc/hotplug.d/openvpn/01-user
new file mode 100644 (file)
index 0000000..f93823e
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+. /lib/functions/openvpn.sh
+
+[ -e "/etc/openvpn.user" ] && {
+       env -i ACTION="$ACTION" INSTANCE="$INSTANCE" \
+               /bin/sh \
+               /etc/openvpn.user \
+               $*
+}
+
+# Wrap user defined scripts on up/down events
+case "$ACTION" in
+       up|down)
+               if get_openvpn_option "$config" command "$ACTION"; then
+                       shift
+                       exec /bin/sh -c "$command $*"
+               fi
+       ;;
+esac
+
+exit 0
diff --git a/net/openvpn/files/etc/openvpn.user b/net/openvpn/files/etc/openvpn.user
new file mode 100644 (file)
index 0000000..a775665
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# This file is interpreted as shell script.
+# Put your custom openvpn action here, they will
+# be executed with each opevnp event.
+#
+# $ACTION
+#      <down>    down action is generated after the TUN/TAP device is closed
+#      <up>      up action is generated after the TUN/TAP device is opened
+# $INSTANCE  Name of the openvpn instance which went up or down
+
diff --git a/net/openvpn/files/lib/functions/openvpn.sh b/net/openvpn/files/lib/functions/openvpn.sh
new file mode 100644 (file)
index 0000000..83fb1bb
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+get_openvpn_option() {
+       local config="$1"
+       local variable="$2"
+       local option="$3"
+
+       local value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+(([^ \t\\]|\\.)+)[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')"
+       [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+'"'([^']+)'"'[ \t]*$/\1/p' "$config" | tail -n1)"
+       [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+"(([^"\\]|\\.)+)"[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')"
+       [ -n "$value" ] || return 1
+
+       export -n "$variable=$value"
+       return 0
+}
+
diff --git a/net/openvpn/files/openvpn.config b/net/openvpn/files/openvpn.config
new file mode 100644 (file)
index 0000000..09d504d
--- /dev/null
@@ -0,0 +1,493 @@
+package openvpn
+
+#################################################
+# Sample to include a custom config file.       #
+#################################################
+
+config openvpn custom_config
+
+       # Set to 1 to enable this instance:
+       option enabled 0
+
+       # Include OpenVPN configuration
+       option config /etc/openvpn/my-vpn.conf
+
+
+#################################################
+# Sample OpenVPN 2.0 uci config for             #
+# multi-client server.                          #
+#################################################
+
+config openvpn sample_server
+
+       # Set to 1 to enable this instance:
+       option enabled 0
+
+       # Which local IP address should OpenVPN
+       # listen on? (optional)
+#      option local 0.0.0.0
+
+       # Which TCP/UDP port should OpenVPN listen on?
+       # If you want to run multiple OpenVPN instances
+       # on the same machine, use a different port
+       # number for each one.  You will need to
+       # open up this port on your firewall.
+       option port 1194
+
+       # TCP or UDP server?
+#      option proto tcp
+       option proto udp
+
+       # "dev tun" will create a routed IP tunnel,
+       # "dev tap" will create an ethernet tunnel.
+       # Use "dev tap0" if you are ethernet bridging
+       # and have precreated a tap0 virtual interface
+       # and bridged it with your ethernet interface.
+       # If you want to control access policies
+       # over the VPN, you must create firewall
+       # rules for the the TUN/TAP interface.
+       # On non-Windows systems, you can give
+       # an explicit unit number, such as tun0.
+       # On Windows, use "dev-node" for this.
+       # On most systems, the VPN will not function
+       # unless you partially or fully disable
+       # the firewall for the TUN/TAP interface.
+#      option dev tap
+       option dev tun
+
+       # SSL/TLS root certificate (ca), certificate
+       # (cert), and private key (key).  Each client
+       # and the server must have their own cert and
+       # key file.  The server and all clients will
+       # use the same ca file.
+       #
+       # See the "easy-rsa" directory for a series
+       # of scripts for generating RSA certificates
+       # and private keys.  Remember to use
+       # a unique Common Name for the server
+       # and each of the client certificates.
+       #
+       # Any X509 key management system can be used.
+       # OpenVPN can also use a PKCS #12 formatted key file
+       # (see "pkcs12" directive in man page).
+       option ca /etc/openvpn/ca.crt
+       option cert /etc/openvpn/server.crt
+       # This file should be kept secret:
+       option key /etc/openvpn/server.key
+
+       # Diffie hellman parameters.
+       # Generate your own with:
+       #   openssl dhparam -out dh2048.pem 2048
+       # Substitute 2048 for 1024 if you are using
+       # 1024 bit keys.
+       option dh /etc/openvpn/dh2048.pem
+
+       # Configure server mode and supply a VPN subnet
+       # for OpenVPN to draw client addresses from.
+       # The server will take 10.8.0.1 for itself,
+       # the rest will be made available to clients.
+       # Each client will be able to reach the server
+       # on 10.8.0.1. Comment this line out if you are
+       # ethernet bridging. See the man page for more info.
+       option server "10.8.0.0 255.255.255.0"
+
+       # Maintain a record of client <-> virtual IP address
+       # associations in this file.  If OpenVPN goes down or
+       # is restarted, reconnecting clients can be assigned
+       # the same virtual IP address from the pool that was
+       # previously assigned.
+       option ifconfig_pool_persist /tmp/ipp.txt
+
+       # Configure server mode for ethernet bridging.
+       # You must first use your OS's bridging capability
+       # to bridge the TAP interface with the ethernet
+       # NIC interface.  Then you must manually set the
+       # IP/netmask on the bridge interface, here we
+       # assume 10.8.0.4/255.255.255.0.  Finally we
+       # must set aside an IP range in this subnet
+       # (start=10.8.0.50 end=10.8.0.100) to allocate
+       # to connecting clients.  Leave this line commented
+       # out unless you are ethernet bridging.
+#      option server_bridge "10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100"
+
+       # Push routes to the client to allow it
+       # to reach other private subnets behind
+       # the server.  Remember that these
+       # private subnets will also need
+       # to know to route the OpenVPN client
+       # address pool (10.8.0.0/255.255.255.0)
+       # back to the OpenVPN server.
+#      list push "route 192.168.10.0 255.255.255.0"
+#      list push "route 192.168.20.0 255.255.255.0"
+
+       # To assign specific IP addresses to specific
+       # clients or if a connecting client has a private
+       # subnet behind it that should also have VPN access,
+       # use the subdirectory "ccd" for client-specific
+       # configuration files (see man page for more info).
+
+       # EXAMPLE: Suppose the client
+       # having the certificate common name "Thelonious"
+       # also has a small subnet behind his connecting
+       # machine, such as 192.168.40.128/255.255.255.248.
+       # First, uncomment out these lines:
+#      option client_config_dir /etc/openvpn/ccd
+#      list route "192.168.40.128 255.255.255.248"
+       # Then create a file ccd/Thelonious with this line:
+       #   iroute 192.168.40.128 255.255.255.248
+       # This will allow Thelonious' private subnet to
+       # access the VPN.  This example will only work
+       # if you are routing, not bridging, i.e. you are
+       # using "dev tun" and "server" directives.
+
+       # EXAMPLE: Suppose you want to give
+       # Thelonious a fixed VPN IP address of 10.9.0.1.
+       # First uncomment out these lines:
+#      option client_config_dir /etc/openvpn/ccd
+#      list route "10.9.0.0 255.255.255.252"
+#      list route "192.168.100.0 255.255.255.0"
+       # Then add this line to ccd/Thelonious:
+       #   ifconfig-push "10.9.0.1 10.9.0.2"
+
+       # Suppose that you want to enable different
+       # firewall access policies for different groups
+       # of clients.  There are two methods:
+       # (1) Run multiple OpenVPN daemons, one for each
+       #     group, and firewall the TUN/TAP interface
+       #     for each group/daemon appropriately.
+       # (2) (Advanced) Create a script to dynamically
+       #     modify the firewall in response to access
+       #     from different clients.  See man
+       #     page for more info on learn-address script.
+#      option learn_address /etc/openvpn/script
+
+       # If enabled, this directive will configure
+       # all clients to redirect their default
+       # network gateway through the VPN, causing
+       # all IP traffic such as web browsing and
+       # and DNS lookups to go through the VPN
+       # (The OpenVPN server machine may need to NAT
+       # the TUN/TAP interface to the internet in
+       # order for this to work properly).
+       # CAVEAT: May break client's network config if
+       # client's local DHCP server packets get routed
+       # through the tunnel.  Solution: make sure
+       # client's local DHCP server is reachable via
+       # a more specific route than the default route
+       # of 0.0.0.0/0.0.0.0.
+#      list push "redirect-gateway"
+
+       # Certain Windows-specific network settings
+       # can be pushed to clients, such as DNS
+       # or WINS server addresses.  CAVEAT:
+       # http://openvpn.net/faq.html#dhcpcaveats
+#      list push "dhcp-option DNS 10.8.0.1"
+#      list push "dhcp-option WINS 10.8.0.1"
+
+       # Uncomment this directive to allow different
+       # clients to be able to "see" each other.
+       # By default, clients will only see the server.
+       # To force clients to only see the server, you
+       # will also need to appropriately firewall the
+       # server's TUN/TAP interface.
+#      option client_to_client 1
+
+       # Uncomment this directive if multiple clients
+       # might connect with the same certificate/key
+       # files or common names.  This is recommended
+       # only for testing purposes.  For production use,
+       # each client should have its own certificate/key
+       # pair.
+       #
+       # IF YOU HAVE NOT GENERATED INDIVIDUAL
+       # CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
+       # EACH HAVING ITS OWN UNIQUE "COMMON NAME",
+       # UNCOMMENT THIS LINE OUT.
+#      option duplicate_cn 1
+
+       # The keepalive directive causes ping-like
+       # messages to be sent back and forth over
+       # the link so that each side knows when
+       # the other side has gone down.
+       # Ping every 10 seconds, assume that remote
+       # peer is down if no ping received during
+       # a 120 second time period.
+       option keepalive "10 120"
+
+       # For extra security beyond that provided
+       # by SSL/TLS, create an "HMAC firewall"
+       # to help block DoS attacks and UDP port flooding.
+       #
+       # Generate with:
+       #   openvpn --genkey --secret ta.key
+       #
+       # The server and each client must have
+       # a copy of this key.
+       # The second parameter should be '0'
+       # on the server and '1' on the clients.
+       # This file is secret:
+#      option tls_auth "/etc/openvpn/ta.key 0"
+
+       # For additional privacy, a shared secret key
+       # can be used for both authentication (as in tls_auth)
+       # and encryption of the TLS control channel.
+       #
+       # Generate a shared secret with:
+       # openvpn --genkey --secret ta.key
+       #
+       # The server and each client must have
+       # a copy of this key.
+       #
+       # tls_auth and tls_crypt should NOT
+       # be combined, as tls_crypt implies tls_auth.
+       # Use EITHER tls_crypt, tls_auth, or neither option.
+#      option tls_crypt "/etc/openvpn/ta.key"
+
+       # Set the minimum required TLS protocol version
+       # for all connections.
+       #
+       # Require at least TLS 1.1
+#      option tls_version_min "1.1"
+       # Require at least TLS 1.2
+#      option tls_version_min "1.2"
+       # Require TLS 1.2, or the highest version supported
+       # on the system
+#      option tls_version_min "1.2 'or-highest'"
+
+       # List the preferred ciphers to use for the data channel.
+       # Run openvpn --show-ciphers to see all supported ciphers.
+#      list data_ciphers 'AES-256-GCM'
+#      list data_ciphers 'AES-128-GCM'
+#      list data_ciphers 'CHACHA20-POLY1305'
+
+       # Set a fallback cipher in order to be compatible with
+       # peers that do not support cipher negotiation.
+       #
+       # Use AES-256-CBC as fallback
+#      option data_ciphers_fallback 'AES-128-CBC'
+       # Use AES-128-CBC as fallback
+#      option data_ciphers_fallback 'AES-256-CBC'
+       # Use Triple-DES as fallback
+#      option data_ciphers_fallback 'DES-EDE3-CBC'
+       # Use BF-CBC as fallback
+#      option data_ciphers_fallback 'BF-CBC'
+
+       # OpenVPN versions 2.4 and later will attempt to
+       # automatically negotiate the most secure cipher
+       # between the client and server, regardless of a
+       # configured "option cipher" (see below).
+       # Automatic negotiation is recommended.
+       #
+       # Uncomment this option to disable this behavior,
+       # and force all OpenVPN peers to use the configured
+       # cipher option instead (not recommended).
+#      option ncp_disable
+
+       # Enable compression on the VPN link.
+       # If you enable it here, you must also
+       # enable it in the client config file.
+       #
+       # Compression is not recommended, as compression and
+       # encryption in combination can weaken the security
+       # of the connection.
+       #
+       # LZ4 requires OpenVPN 2.4+ client and server
+#      option compress lz4
+       
+       # Control how OpenVPN handles peers using compression
+       #
+       # Do not allow any connections using compression
+#      option allow_compression 'no'
+       # Allow incoming compressed packets, but do not send compressed packets to other peers
+       # This can be useful when migrating old configurations with compression activated
+#      option allow_compression 'asym'
+       # Both incoming and outgoing packets may be compressed
+#      option allow_compression 'yes'
+
+       # The maximum number of concurrently connected
+       # clients we want to allow.
+#      option max_clients 100
+
+       # The persist options will try to avoid
+       # accessing certain resources on restart
+       # that may no longer be accessible because
+       # of the privilege downgrade.
+       option persist_key 1
+       option persist_tun 1
+       option user nobody
+
+       # Output a short status file showing
+       # current connections, truncated
+       # and rewritten every minute.
+       option status /tmp/openvpn-status.log
+
+       # By default, log messages will go to the syslog (or
+       # on Windows, if running as a service, they will go to
+       # the "\Program Files\OpenVPN\log" directory).
+       # Use log or log-append to override this default.
+       # "log" will truncate the log file on OpenVPN startup,
+       # while "log-append" will append to it.  Use one
+       # or the other (but not both).
+#      option log         /tmp/openvpn.log
+#      option log_append  /tmp/openvpn.log
+
+       # Set the appropriate level of log
+       # file verbosity.
+       #
+       # 0 is silent, except for fatal errors
+       # 4 is reasonable for general usage
+       # 5 and 6 can help to debug connection problems
+       # 9 is extremely verbose
+       option verb 3
+
+       # Silence repeating messages.  At most 20
+       # sequential messages of the same message
+       # category will be output to the log.
+#      option mute 20
+
+
+##############################################
+# Sample client-side OpenVPN 2.0 uci config  #
+# for connecting to multi-client server.     #
+##############################################
+
+config openvpn sample_client
+
+       # Set to 1 to enable this instance:
+       option enabled 0
+
+       # Specify that we are a client and that we
+       # will be pulling certain config file directives
+       # from the server.
+       option client 1
+
+       # Use the same setting as you are using on
+       # the server.
+       # On most systems, the VPN will not function
+       # unless you partially or fully disable
+       # the firewall for the TUN/TAP interface.
+#      option dev tap
+       option dev tun
+
+       # Are we connecting to a TCP or
+       # UDP server?  Use the same setting as
+       # on the server.
+#      option proto tcp
+       option proto udp
+
+       # The hostname/IP and port of the server.
+       # You can have multiple remote entries
+       # to load balance between the servers.
+       list remote "my_server_1 1194"
+#      list remote "my_server_2 1194"
+
+       # Choose a random host from the remote
+       # list for load_balancing.  Otherwise
+       # try hosts in the order specified.
+#      option remote_random 1
+
+       # Keep trying indefinitely to resolve the
+       # host name of the OpenVPN server.  Very useful
+       # on machines which are not permanently connected
+       # to the internet such as laptops.
+       option resolv_retry infinite
+
+       # Most clients don't need to bind to
+       # a specific local port number.
+       option nobind 1
+
+       # Try to preserve some state across restarts.
+       option persist_key 1
+       option persist_tun 1
+       option user nobody
+
+       # If you are connecting through an
+       # HTTP proxy to reach the actual OpenVPN
+       # server, put the proxy server/IP and
+       # port number here.  See the man page
+       # if your proxy server requires
+       # authentication.
+       # retry on connection failures:
+#      option http_proxy_retry 1
+       # specify http proxy address and port:
+#      option http_proxy "192.168.1.100 8080"
+
+       # Wireless networks often produce a lot
+       # of duplicate packets.  Set this flag
+       # to silence duplicate packet warnings.
+#      option mute_replay_warnings 1
+
+       # SSL/TLS parms.
+       # See the server config file for more
+       # description.  It's best to use
+       # a separate .crt/.key file pair
+       # for each client.  A single ca
+       # file can be used for all clients.
+       option ca /etc/openvpn/ca.crt
+       option cert /etc/openvpn/client.crt
+       option key /etc/openvpn/client.key
+
+       # Verify server certificate by checking
+       # that the certicate has the key usage
+       # field set to "server".  This is an
+       # important precaution to protect against
+       # a potential attack discussed here:
+       #  http://openvpn.net/howto.html#mitm
+       #
+       # To use this feature, you will need to generate
+       # your server certificates with the nsCertType
+       # field set to "server".  The build_key_server
+       # script in the easy_rsa folder will do this.
+#      option remote_cert_tls server
+
+       # If a tls_auth key is used on the server
+       # then every client must also have the key.
+#      option tls_auth "/etc/openvpn/ta.key 1"
+
+       # If a tls_crypt key is used on the server
+       # every client must also have the key.
+#      option tls_crypt "/etc/openvpn/ta.key"
+
+       # Set the minimum required TLS protocol version
+       # for all connections.
+       #
+       # Require at least TLS 1.1
+#      option tls_version_min "1.1"
+       # Require at least TLS 1.2
+#      option tls_version_min "1.2"
+       # Require TLS 1.2, or the highest version supported
+       # on the system
+#      option tls_version_min "1.2 'or-highest'"
+
+       # List the preferred ciphers for the data channel.
+#      list data_ciphers 'AES-256-GCM'
+#      list data_ciphers 'AES-128-GCM'
+#      list data_ciphers 'CHACHA20-POLY1305'
+
+       # Set a fallback cipher if you connect to a peer that does
+       # not support cipher negotiation.
+       # Use AES-256-CBC as fallback
+#      option data_ciphers_fallback 'AES-128-CBC'
+       # Use AES-128-CBC as fallback
+#      option data_ciphers_fallback 'AES-256-CBC'
+       # Use Triple-DES as fallback
+#      option data_ciphers_fallback 'DES-EDE3-CBC'
+       # Use BF-CBC as fallback
+#      option data_ciphers_fallback 'BF-CBC'
+
+       # Enable compression on the VPN link.
+       # Don't enable this unless it is also
+       # enabled in the server config file.
+       #
+       # Compression is not recommended, as compression and
+       # encryption in combination can weaken the security
+       # of the connection.
+       #
+       # LZ4 requires OpenVPN 2.4+ on server and client
+#      option compress lz4
+
+       # Set log file verbosity.
+       option verb 3
+
+       # Silence repeating messages
+#      option mute 20
diff --git a/net/openvpn/files/openvpn.init b/net/openvpn/files/openvpn.init
new file mode 100644 (file)
index 0000000..487a226
--- /dev/null
@@ -0,0 +1,209 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2008-2013 OpenWrt.org
+# Copyright (C) 2008 Jo-Philipp Wich
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+START=90
+STOP=10
+
+USE_PROCD=1
+PROG=/usr/sbin/openvpn
+
+LIST_SEP="
+"
+
+UCI_STARTED=
+UCI_DISABLED=
+
+append_param() {
+       local s="$1"
+       local v="$2"
+       case "$v" in
+               *_*_*_*) v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_} ;;
+               *_*_*)   v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_} ;;
+               *_*)     v=${v%%_*}-${v#*_} ;;
+       esac
+       echo -n "$v" >> "/var/etc/openvpn-$s.conf"
+       return 0
+}
+
+append_bools() {
+       local p; local v; local s="$1"; shift
+       for p in $*; do
+               config_get_bool v "$s" "$p"
+               [ "$v" = 1 ] && append_param "$s" "$p" && echo >> "/var/etc/openvpn-$s.conf"
+       done
+}
+
+append_params() {
+       local p; local v; local s="$1"; shift
+       for p in $*; do
+               config_get v "$s" "$p"
+               IFS="$LIST_SEP"
+               for v in $v; do
+                       [ -n "$v" ] && [ "$p" != "push" ] && append_param "$s" "$p" && echo " $v" >> "/var/etc/openvpn-$s.conf"
+                       [ -n "$v" ] && [ "$p" = "push" ] && append_param "$s" "$p" && echo " \"$v\"" >> "/var/etc/openvpn-$s.conf"
+               done
+               unset IFS
+       done
+}
+
+append_list() {
+       local p; local v; local s="$1"; shift
+
+       list_cb_append() {
+               v="${v}:$1"
+       }
+
+       for p in $*; do
+               unset v
+               config_list_foreach "$s" "$p" list_cb_append
+               [ -n "$v" ] && append_param "$s" "$p" && echo " ${v:1}" >> "/var/etc/openvpn-$s.conf"
+       done
+}
+
+section_enabled() {
+       config_get_bool enable  "$1" 'enable'  0
+       config_get_bool enabled "$1" 'enabled' 0
+       [ $enable -gt 0 ] || [ $enabled -gt 0 ]
+}
+
+openvpn_get_dev() {
+       local dev dev_type
+       local name="$1"
+       local conf="$2"
+
+       # Do override only for configurations with config_file
+       config_get config_file "$name" config
+       [ -n "$config_file" ] || return
+
+       # Check there is someething to override
+       config_get dev "$name" dev
+       config_get dev_type "$name" dev_type
+       [ -n "$dev" ] || return
+
+       # If there is a no dev_type, try to guess it
+       if [ -z "$dev_type" ]; then
+               . /lib/functions/openvpn.sh
+
+               local odev odev_type
+               get_openvpn_option "$conf" odev dev
+               get_openvpn_option "$conf" odev_type dev-type
+               [ -n "$odev_type" ] || odev_type="$odev"
+
+               case "$odev_type" in
+                       tun*) dev_type="tun" ;;
+                       tap*) dev_type="tap" ;;
+                       *) return;;
+               esac
+       fi
+
+       # Return overrides
+       echo "--dev-type $dev_type --dev $dev"
+}
+
+openvpn_add_instance() {
+       local name="$1"
+       local dir="$2"
+       local conf="$3"
+       local security="$4"
+
+       procd_open_instance "$name"
+       procd_set_param command "$PROG" \
+               --syslog "openvpn($name)" \
+               --status "/var/run/openvpn.$name.status" \
+               --cd "$dir" \
+               --config "$conf" \
+               --up "/usr/libexec/openvpn-hotplug up $name" \
+               --down "/usr/libexec/openvpn-hotplug down $name" \
+               --script-security "${security:-2}" \
+               $(openvpn_get_dev "$name" "$conf")
+       procd_set_param file "$dir/$conf"
+       procd_set_param term_timeout 15
+       procd_set_param respawn
+       procd_append_param respawn 3600
+       procd_append_param respawn 5
+       procd_append_param respawn -1
+       procd_close_instance
+}
+
+start_instance() {
+       local s="$1"
+
+       config_get config "$s" config
+       config="${config:+$(readlink -f "$config")}"
+
+       section_enabled "$s" || {
+               append UCI_DISABLED "$config" "$LIST_SEP"
+               return 1
+       }
+
+       local script_security
+       config_get script_security "$s" script_security
+
+       [ ! -d "/var/run" ] && mkdir -p "/var/run"
+
+       if [ ! -z "$config" ]; then
+               append UCI_STARTED "$config" "$LIST_SEP"
+               openvpn_add_instance "$s" "${config%/*}" "$config" "$script_security"
+               return
+       fi
+
+       [ ! -d "/var/etc" ] && mkdir -p "/var/etc"
+       [ -f "/var/etc/openvpn-$s.conf" ] && rm "/var/etc/openvpn-$s.conf"
+
+       append_bools "$s" $OPENVPN_BOOLS
+       append_params "$s" $OPENVPN_PARAMS
+       append_list "$s" $OPENVPN_LIST
+
+       openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" "$script_security"
+}
+
+start_service() {
+       local instance="$1"
+       local instance_found=0
+
+       config_cb() {
+               local type="$1"
+               local name="$2"
+               if [ "$type" = "openvpn" ]; then
+                       if [ -n "$instance" -a "$instance" = "$name" ]; then
+                               instance_found=1
+                       fi
+               fi
+       }
+
+       . /usr/share/openvpn/openvpn.options
+       config_load 'openvpn'
+
+       if [ -n "$instance" ]; then
+               [ "$instance_found" -gt 0 ] || return
+               start_instance "$instance"
+       else
+               config_foreach start_instance 'openvpn'
+
+               local path name
+               for path in /etc/openvpn/*.conf; do
+                       if [ -f "$path" ]; then
+                               name="${path##*/}"; name="${name%.conf}"
+
+                               # don't start configs again that are already started by uci
+                               if echo "$UCI_STARTED" | grep -qxF "$path"; then
+                                       continue
+
+                               # don't start configs which are set to disabled in uci
+                               elif echo "$UCI_DISABLED" | grep -qxF "$path"; then
+                                       logger -t openvpn "$name.conf is disabled in /etc/config/openvpn"
+                                       continue
+                               fi
+
+                               openvpn_add_instance "$name" "${path%/*}" "$path"
+                       fi
+               done
+       fi
+}
+
+service_triggers() {
+       procd_add_reload_trigger openvpn
+}
diff --git a/net/openvpn/files/openvpn.options b/net/openvpn/files/openvpn.options
new file mode 100644 (file)
index 0000000..7c641f7
--- /dev/null
@@ -0,0 +1,204 @@
+OPENVPN_PARAMS='
+allow_compression
+askpass
+auth
+auth_retry
+auth_user_pass
+auth_user_pass_verify
+bcast_buffers
+bind_dev
+ca
+capath
+cd
+cert
+chroot
+cipher
+client_config_dir
+client_connect
+client_disconnect
+comp_lzo
+compress
+connect_freq
+connect_retry
+connect_retry_max
+connect_timeout
+crl_verify
+data_ciphers_fallback
+dev
+dev_node
+dev_type
+dh
+ecdh_curve
+echo
+engine
+explicit_exit_notify
+extra_certs
+fragment
+group
+hand_window
+hash_size
+http_proxy
+http_proxy_option
+http_proxy_timeout
+ifconfig
+ifconfig_ipv6
+ifconfig_ipv6_pool
+ifconfig_ipv6_push
+ifconfig_pool
+ifconfig_pool_persist
+ifconfig_push
+inactive
+ipchange
+iroute
+iroute_ipv6
+keepalive
+key
+key_direction
+keysize
+learn_address
+link_mtu
+lladdr
+local
+log
+log_append
+lport
+management
+management_log_cache
+max_clients
+max_routes_per_client
+mode
+mssfix
+mtu_disc
+mute
+nice
+ping
+ping_exit
+ping_restart
+pkcs12
+plugin
+port
+port_share
+prng
+proto
+pull_filter
+push
+rcvbuf
+redirect_gateway
+remap_usr1
+remote
+remote_cert_eku
+remote_cert_ku
+remote_cert_tls
+reneg_bytes
+reneg_pkts
+reneg_sec
+replay_persist
+replay_window
+resolv_retry
+route
+route_delay
+route_gateway
+route_ipv6
+route_metric
+route_pre_down
+route_up
+rport
+secret
+server
+server_bridge
+server_ipv6
+setenv
+shaper
+sndbuf
+socks_proxy
+status
+status_version
+syslog
+tcp_queue_limit
+tls_auth
+tls_crypt
+tls_crypt_v2
+tls_crypt_v2_verify
+tls_export_cert
+tls_timeout
+tls_verify
+tls_version_min
+tmp_dir
+topology
+tran_window
+tun_mtu
+tun_mtu_extra
+txqueuelen
+user
+verb
+verify_client_cert
+verify_x509_name
+vlan_accept
+vlan_pvid
+x509_username_field
+'
+
+OPENVPN_BOOLS='
+allow_recursive_routing
+auth_nocache
+auth_user_pass_optional
+bind
+block_ipv6
+ccd_exclusive
+client
+client_to_client
+comp_noadapt
+disable
+disable_occ
+down_pre
+duplicate_cn
+fast_io
+float
+http_proxy_retry
+ifconfig_noexec
+ifconfig_nowarn
+management_forget_disconnect
+management_hold
+management_query_passwords
+management_signal
+mktun
+mlock
+mtu_test
+multihome
+mute_replay_warnings
+ncp_disable
+nobind
+opt_verify
+passtos
+persist_key
+persist_local_ip
+persist_remote_ip
+persist_tun
+ping_timer_rem
+pull
+push_reset
+remote_random
+rmtun
+route_noexec
+route_nopull
+single_session
+socks_proxy_retry
+suppress_timestamps
+tcp_nodelay
+test_crypto
+tls_client
+tls_exit
+tls_server
+up_delay
+up_restart
+username_as_common_name
+vlan_tagging
+'
+
+OPENVPN_LIST='
+data_ciphers
+ncp_ciphers
+tls_cipher
+tls_ciphersuites
+tls_groups
+'
diff --git a/net/openvpn/files/openvpn.upgrade b/net/openvpn/files/openvpn.upgrade
new file mode 100644 (file)
index 0000000..6ae49d2
--- /dev/null
@@ -0,0 +1 @@
+/etc/openvpn/
diff --git a/net/openvpn/files/usr/libexec/openvpn-hotplug b/net/openvpn/files/usr/libexec/openvpn-hotplug
new file mode 100644 (file)
index 0000000..9235fba
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+ACTION=$1
+shift
+INSTANCE=$1
+shift
+
+export ACTION=$ACTION
+export INSTANCE=$INSTANCE
+exec /sbin/hotplug-call openvpn "$@"
diff --git a/net/openvpn/patches/001-reproducible-remove_DATE.patch b/net/openvpn/patches/001-reproducible-remove_DATE.patch
new file mode 100644 (file)
index 0000000..e4e6d39
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/src/openvpn/options.c
++++ b/src/openvpn/options.c
+@@ -105,7 +105,6 @@ const char title_string[] =
+ #endif
+ #endif
+     " [AEAD]"
+-    " built on " __DATE__
+ ;
+ #ifndef ENABLE_SMALL
diff --git a/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch b/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch
new file mode 100644 (file)
index 0000000..4141c28
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/openvpn/ssl_mbedtls.c
++++ b/src/openvpn/ssl_mbedtls.c
+@@ -1520,7 +1520,7 @@ const char *
+ get_ssl_library_version(void)
+ {
+     static char mbedtls_version[30];
+-    unsigned int pv = mbedtls_version_get_number();
++    unsigned int pv = MBEDTLS_VERSION_NUMBER;
+     sprintf( mbedtls_version, "mbed TLS %d.%d.%d",
+              (pv>>24)&0xff, (pv>>16)&0xff, (pv>>8)&0xff );
+     return mbedtls_version;
diff --git a/net/openvpn/patches/210-build_always_use_internal_lz4.patch b/net/openvpn/patches/210-build_always_use_internal_lz4.patch
new file mode 100644 (file)
index 0000000..a99f923
--- /dev/null
@@ -0,0 +1,74 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1077,68 +1077,15 @@ dnl
+ AC_ARG_VAR([LZ4_CFLAGS], [C compiler flags for lz4])
+ AC_ARG_VAR([LZ4_LIBS], [linker flags for lz4])
+ if test "$enable_lz4" = "yes" && test "$enable_comp_stub" = "no"; then
+-    if test -z "${LZ4_CFLAGS}" -a -z "${LZ4_LIBS}"; then
+-      # if the user did not explicitly specify flags, try to autodetect
+-      PKG_CHECK_MODULES([LZ4],
+-                        [liblz4 >= 1.7.1 liblz4 < 100],
+-                        [have_lz4="yes"],
+-                        [LZ4_LIBS="-llz4"] # If this fails, we will do another test next.
+-                                           # We also add set LZ4_LIBS otherwise the
+-                                           # linker will not know about the lz4 library
+-      )
+-    fi
+     saved_CFLAGS="${CFLAGS}"
+     saved_LIBS="${LIBS}"
+     CFLAGS="${CFLAGS} ${LZ4_CFLAGS}"
+     LIBS="${LIBS} ${LZ4_LIBS}"
+-    # If pkgconfig check failed or LZ4_CFLAGS/LZ4_LIBS env vars
+-    # are used, check the version directly in the LZ4 include file
+-    if test "${have_lz4}" != "yes"; then
+-      AC_CHECK_HEADERS([lz4.h],
+-                       [have_lz4h="yes"],
+-                       [])
+-
+-      if test "${have_lz4h}" = "yes" ; then
+-          AC_MSG_CHECKING([additionally if system LZ4 version >= 1.7.1])
+-          AC_COMPILE_IFELSE(
+-              [AC_LANG_PROGRAM([[
+-#include <lz4.h>
+-                               ]],
+-                               [[
+-/* Version encoding: MMNNPP (Major miNor Patch) - see lz4.h for details */
+-#if LZ4_VERSION_NUMBER < 10701L
+-#error LZ4 is too old
+-#endif
+-                               ]]
+-                              )],
+-              [
+-                  AC_MSG_RESULT([ok])
+-                  have_lz4="yes"
+-              ],
+-              [AC_MSG_RESULT([system LZ4 library is too old])]
+-          )
+-      fi
+-    fi
+-
+-    # Double check we have a few needed functions
+-    if test "${have_lz4}" = "yes" ; then
+-      AC_CHECK_LIB([lz4],
+-                   [LZ4_compress_default],
+-                   [],
+-                   [have_lz4="no"])
+-      AC_CHECK_LIB([lz4],
+-                   [LZ4_decompress_safe],
+-                   [],
+-                   [have_lz4="no"])
+-    fi
+-
+-    if test "${have_lz4}" != "yes" ; then
+-      AC_MSG_RESULT([         usable LZ4 library or header not found, using version in src/compat/compat-lz4.*])
+-      AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/])
+-      LZ4_LIBS=""
+-    fi
++    AC_MSG_RESULT([           usable LZ4 library or header not found, using version in src/compat/compat-lz4.*])
++    AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/])
++    LZ4_LIBS=""
+     OPTIONAL_LZ4_CFLAGS="${LZ4_CFLAGS}"
+     OPTIONAL_LZ4_LIBS="${LZ4_LIBS}"
+     AC_DEFINE(ENABLE_LZ4, [1], [Enable LZ4 compression library])
diff --git a/net/openvpn/patches/220-disable_des.patch b/net/openvpn/patches/220-disable_des.patch
new file mode 100644 (file)
index 0000000..9ddf104
--- /dev/null
@@ -0,0 +1,74 @@
+--- a/src/openvpn/syshead.h
++++ b/src/openvpn/syshead.h
+@@ -572,7 +572,7 @@ socket_defined(const socket_descriptor_t
+ /*
+  * Should we include NTLM proxy functionality
+  */
+-#define NTLM 1
++//#define NTLM 1
+ /*
+  * Should we include proxy digest auth functionality
+--- a/src/openvpn/crypto_mbedtls.c
++++ b/src/openvpn/crypto_mbedtls.c
+@@ -383,6 +383,7 @@ int
+ key_des_num_cblocks(const mbedtls_cipher_info_t *kt)
+ {
+     int ret = 0;
++#ifdef MBEDTLS_DES_C
+     if (kt->type == MBEDTLS_CIPHER_DES_CBC)
+     {
+         ret = 1;
+@@ -395,6 +396,7 @@ key_des_num_cblocks(const mbedtls_cipher
+     {
+         ret = 3;
+     }
++#endif
+     dmsg(D_CRYPTO_DEBUG, "CRYPTO INFO: n_DES_cblocks=%d", ret);
+     return ret;
+@@ -403,6 +405,7 @@ key_des_num_cblocks(const mbedtls_cipher
+ bool
+ key_des_check(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+     int i;
+     struct buffer b;
+@@ -431,11 +434,15 @@ key_des_check(uint8_t *key, int key_len,
+ err:
+     return false;
++#else
++    return true;
++#endif
+ }
+ void
+ key_des_fixup(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+     int i;
+     struct buffer b;
+@@ -450,6 +457,7 @@ key_des_fixup(uint8_t *key, int key_len,
+         }
+         mbedtls_des_key_set_parity(key);
+     }
++#endif
+ }
+ /*
+@@ -770,10 +778,12 @@ cipher_des_encrypt_ecb(const unsigned ch
+                        unsigned char *src,
+                        unsigned char *dst)
+ {
++#ifdef MBEDTLS_DES_C
+     mbedtls_des_context ctx;
+     ASSERT(mbed_ok(mbedtls_des_setkey_enc(&ctx, key)));
+     ASSERT(mbed_ok(mbedtls_des_crypt_ecb(&ctx, src, dst)));
++#endif
+ }
index cfe4ea7d916ba56bb386d2ebce241fa6b3500ce3..cb5b7faecff829a13f4867aa28edc36b3d169aab 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=p910nd
 PKG_VERSION:=0.97
-PKG_RELEASE:=8
+PKG_RELEASE:=9
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/p910nd
index 0eadebd65ec11a14ae2d4c3a1a95d77e6907d2e9..2ddbdc7128d8b7707af513cee08ff7f12f48769b 100644 (file)
@@ -29,7 +29,7 @@ start_service() {
 
 start_p910nd() {
        local section="$1" runas_root
-       config_get_bool "enabled" "$section" "enabled" '1'
+       config_get_bool "enabled" "$section" "enabled" '0'
        if [ "$enabled" -gt 0 ]; then
                args="-d "
                config_get port "$section" port
@@ -57,3 +57,10 @@ start_p910nd() {
                procd_close_instance
        fi
 }
+
+service_triggers()
+{
+       procd_open_trigger
+       procd_add_config_trigger "config.change" "p910nd" /etc/init.d/p910nd reload
+       procd_close_trigger
+}
index 71b6e90340a1b995d4f2dcba1f92de784b38c8d3..cd49c0155302a041a636c75461c308b9a0de5e50 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pdns-recursor
-PKG_VERSION:=4.4.0
+PKG_VERSION:=4.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=06bc932e00f13c95ef077a2eb61f64425534042cc50f86408b53c7615c4fe58b
+PKG_HASH:=f97fa34635d42c68acee5d4da9db0e5ff619fd49e62acace7b4bdb7ee3675698
 
 PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
 PKG_LICENCE:=GPL-2.0-only
index b4d6547a254033a9bbba0c8d3dcc9b4b4cfb6b89..298625f649cdb5d6ff8d18a182466c433ddc6fa4 100644 (file)
@@ -11,9 +11,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/nccgroup/phantap
-PKG_MIRROR_HASH:=01723a955e975b877f35924d3b5bfa53251f8928abe4657de0ed4c4943d9510c
-PKG_SOURCE_DATE:=2020.02.09
-PKG_SOURCE_VERSION:=fb3be84b4f4e081c35b7d0caa977bc659c02f8f1
+PKG_MIRROR_HASH:=d625970df1f3757d0805b956bcb721bcc6fa102e397cd3e16e558be8bec8abb3
+PKG_SOURCE_DATE:=2020.12.31
+PKG_SOURCE_VERSION:=a71772357301e10e9d8bc2d512505c9c5a4a18a4
 
 PKG_MAINTAINER:=Diana Dragusin <diana.dragusin@nccgroup.com>, \
     Etienne Champetier <champetier.etienne@gmail.com>
index a207455c67fa68d0180e941cc4ae722f6410c844..5d3235a69338f902016564a9e5431e5e11ad8d05 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rsync
 PKG_VERSION:=3.2.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.samba.org/pub/rsync/src
@@ -24,13 +24,14 @@ PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
 
 define Package/rsync
   SECTION:=net
   CATEGORY:=Network
   SUBMENU:=File Transfer
   TITLE:=Fast remote file copy program (like rcp)
-  DEPENDS:=+libpopt +zlib +RSYNC_xattr:libattr +RSYNC_acl:libacl +RSYNC_zstd:libzstd
+  DEPENDS:=+libpopt +zlib +RSYNC_xattr:libattr +RSYNC_acl:libacl +RSYNC_zstd:libzstd $(ICONV_DEPENDS)
   URL:=https://rsync.samba.org/
   MENU:=1
 endef
@@ -46,14 +47,14 @@ CONFIGURE_ARGS += \
        --without-included-zlib \
        --disable-debug \
        --disable-asm \
-       --disable-iconv \
-       --disable-iconv-open \
        --disable-lz4 \
        --disable-locale \
        --disable-md2man \
        --disable-openssl \
        --disable-simd \
        --disable-xxhash \
+       --$(if $(CONFIG_BUILD_NLS),en,dis)able-iconv \
+       --$(if $(CONFIG_BUILD_NLS),en,dis)able-iconv-open \
        --$(if $(CONFIG_RSYNC_zstd),en,dis)able-zstd \
        --$(if $(CONFIG_RSYNC_xattr),en,dis)able-xattr-support \
        --$(if $(CONFIG_RSYNC_acl),en,dis)able-acl-support \
index 299028d8f5ae3f91b17898fcf444cb128996a068..8379c61d4897acdea28b63ccdee8038e7bd07fa2 100644 (file)
@@ -2,7 +2,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=samba
-PKG_VERSION:=4.12.7
+PKG_VERSION:=4.13.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -13,7 +13,7 @@ PKG_SOURCE_URL:= \
                http://www.nic.funet.fi/index/samba/pub/samba/stable/ \
                http://samba.mirror.bit.nl/samba/ftp/stable/ \
                https://download.samba.org/pub/samba/stable/
-PKG_HASH:=30556a0dd2f9ab3b251eb9db6132ffd4379c159f574366fc2f2eabbc018c6fd2
+PKG_HASH:=276464396a05d88b775bda01ac2eb1e5a636ccf7010b0fd28efc3d85583af2b4
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-3.0-only
index fad8b21394979b353aede1b28dfb7df180974ece..2da4ba4eb6779983de25dc4f7c3468bee3abbf83 100644 (file)
@@ -60,8 +60,6 @@ smb_header() {
                        printf "\tmin receivefile size = 131072\n" # allows zero-copy writes via fs
                        printf "\tfake oplocks = Yes\n" # may corrupt files for simultanous writes to the same files by multiple clients, but might also see big speed boost
                        printf "\tuse sendfile = Yes\n" # enable sendfile, not sure whats with the 2019 bug https://bugzilla.samba.org/show_bug.cgi?id=14095
-                       # Removed in 4.12.x in favor of VFS io_uring ; this is per file, so may increase memory useage on many simultanous oplocked files!
-                       printf "\twrite cache size = 262144\n" # adds a write cache buffer per file for oplocked files, flushes if size is exhausted
                fi
 
                if [ "$DISABLE_NETBIOS" -eq 1 ] || [ ! -x /usr/sbin/nmbd ]; then
index aaa9753b4aef09f6ed4d19df6f6c29e8de3e310a..bd1095714f27707a9ba615fe0c1454e85bcb532d 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=simple-adblock
 PKG_VERSION:=1.8.4
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
 PKG_LICENSE:=GPL-3.0-or-later
 
@@ -31,12 +31,6 @@ define Package/simple-adblock/conffiles
 /etc/config/simple-adblock
 endef
 
-define Build/Prepare
-       mkdir -p $(PKG_BUILD_DIR)/files/
-       $(CP) ./files/simple-adblock.init $(PKG_BUILD_DIR)/files/simple-adblock.init
-       sed -i "s|^\(PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(PKG_BUILD_DIR)/files/simple-adblock.init
-endef
-
 define Build/Configure
 endef
 
@@ -45,7 +39,8 @@ endef
 
 define Package/simple-adblock/install
        $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/simple-adblock.init $(1)/etc/init.d/simple-adblock
+       $(INSTALL_BIN) ./files/simple-adblock.init $(1)/etc/init.d/simple-adblock
+       sed -i "s|^\(PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/simple-adblock
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_CONF) ./files/simple-adblock.conf $(1)/etc/config/simple-adblock
        $(INSTALL_DIR) $(1)/tmp
index 4ba01ba74155afdc61a129b4360bbd2ee4287e69..0857e12150f930a7f593e3455a1e2827079b878d 100644 (file)
@@ -28,19 +28,12 @@ config simple-adblock 'config'
 # File size: 44.0K
        list blocked_domains_url 'https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt'
 
-# File size: 584.0K
-# block-list too big for most routers
-#      list blocked_domains_url 'https://mirror1.malwaredomains.com/files/justdomains'
-
 # File size: 16.0K
        list blocked_hosts_url 'https://adaway.org/hosts.txt'
        
 # File size: 20.0K
        list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt'
 
-# File size: 36.0K
-       list blocked_hosts_url 'https://www.malwaredomainlist.com/hostslist/hosts.txt'
-
 # File size: 80.0K
        list blocked_hosts_url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext'
 
index e1b8d9a6c044d34ca5588ba6279c4cb36e5089a0..ee1f5f1e736e5af4c13d4da3414cf799752ec944 100644 (file)
@@ -9,4 +9,6 @@ s|raw.githubusercontent.com/StevenBlack/hosts/|cdn.jsdelivr.net/gh/StevenBlack/h
 s|raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/|cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list@|g
 s|raw.githubusercontent.com/jawz101/MobileAdTrackers/|cdn.jsdelivr.net/gh/jawz101/MobileAdTrackers@|g
 s|http://winhelp2002.mvps.org/hosts.txt|https://winhelp2002.mvps.org/hosts.txt|g
-/dshield.org/d
+\|dshield.org|d
+\|www.malwaredomainlist.com/hostslist/hosts.txt|d
+\|https://mirror1.malwaredomains.com/files/justdomains|d
index 0c04998ec3d1ada81824badf0b0c71e3f76b3481..4c7486d51722c0e5d911265707da25aacf7d3c99 100644 (file)
@@ -9,12 +9,21 @@ START=94
 USE_PROCD=1
 LC_ALL=C
 
+if type extra_command 1>/dev/null 2>&1; then
+       extra_command 'check' 'Checks if specified domain is found in current block-list'
+       extra_command 'dl' 'Force-downloads all enabled block-list'
+       extra_command 'sizes' 'Displays the file-sizes of enabled block-listo'
+       extra_command 'show' 'Shows the service last-run status'
+       extra_command 'version' 'Show version information'
+else
 # shellcheck disable=SC2034
-extra_command "check" "Checks if specified domain is found in current block-list"
-extra_command "dl" "Force-downloads all enabled block-list"
-extra_command "sizes" "Displays the file-sizes of enabled block-listo"
-extra_command "show" "Shows the service last-run status"
-extra_command "version" "Show version"
+       EXTRA_COMMANDS='check dl killcache sizes show version'
+# shellcheck disable=SC2034
+       EXTRA_HELP='    check   Checks if specified domain is found in current block-list
+       dl      Force-downloads all enabled block-list
+       sizes   Displays the file-sizes of enabled block-lists
+       show    Shows the service last-run status'
+fi
 
 readonly packageName='simple-adblock'
 readonly serviceName="$packageName $PKG_VERSION"
@@ -741,13 +750,13 @@ process_config_update() {
                output 2 "[DL] Config  Update:  $label $__FAIL__\\n"
                tmpfs add error "errorDownloadingConfigUpdate"
        else
-               if ! sed -f "$R_TMP" -i /etc/config/simple-adblock; then
+               if [ -s "$R_TMP" ] && sed -f "$R_TMP" -i /etc/config/simple-adblock; then
+                       output 1 "$_OK_"
+                       output 2 "[DL] Config  Update:  $label $__OK__\\n"
+               else
                        output 1 "$_FAIL_"
                        output 2 "[DL] Config  Update:  $label $__FAIL__\\n"
                        tmpfs add error "errorParsingConfigUpdate"
-               else
-                       output 1 "$_OK_"
-                       output 2 "[DL] Config  Update:  $label $__OK__\\n"
                fi
        fi
        rm -f "$R_TMP"
@@ -1213,7 +1222,7 @@ stop_service() {
 }
 
 service_triggers() {
-       procd_add_reload_trigger 'simple-adblock'
+       procd_add_config_trigger "config.change" "$packageName" /etc/init.d/$packageName reload
 }
 
 check() {
index e4b0a9bf8970675d01e44a92c760c0200435f884..6802ba97278eeb5ce8704bac4802b15180478123 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=snort
-PKG_VERSION:=2.9.16.1
+PKG_VERSION:=2.9.17
 PKG_RELEASE:=1
 
 PKG_LICENSE:=GPL-2.0
@@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:snort:snort
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.snort.org/downloads/archive/snort/ \
        @SF/$(PKG_NAME)
-PKG_HASH:=e3ac45a1a3cc2c997d52d19cd92f1adf5641c3a919387adab47a4d13a9dc9f8e
+PKG_HASH:=c3b234c3922a09b0368b847ddb8d1fa371b741f032f42aa9ab53d67b428dc648
 
 PKG_BUILD_DEPENDS:=libtirpc
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
index df821ead7e73b32204e4e3b8b84380e99e589f47..cf3a6b9cc066fbe34ad69c3e970378a1106517df 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqm-scripts
-PKG_SOURCE_VERSION:=ab763cba8b1516b3afa99760e0ca884f8b8d93b8
-PKG_VERSION:=1.4.0
-PKG_RELEASE:=9
+PKG_SOURCE_VERSION:=bb064ad6065dcfb4966662bfab15b9fcdbb48e5f
+PKG_VERSION:=1.5.0
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/tohojo/sqm-scripts
-PKG_MIRROR_HASH:=43f59dd4c74c5f1634498c18e370c5185110be1084597df37773cecf306e3a24
+PKG_MIRROR_HASH:=d41301ed1e318ea81c6c8f29c1847efdda3663573d12a3e0b855b4b8b8cf0610
 
 PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
 PKG_LICENSE:=GPL-2.0-only
index 6f0e177dc8d448cb089bc1cf6fda5132c16a2e98..661084024dee7aac1a927f4b1b97a982201aa7bc 100644 (file)
@@ -8,22 +8,22 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=squid
-PKG_VERSION:=4.12
+PKG_VERSION:=4.13
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www3.us.squid-cache.org/Versions/v4/ \
        http://www2.pl.squid-cache.org/Versions/v4/ \
        http://www.squid-cache.org/Versions/v4/
-PKG_HASH:=f42a03c8b3dc020722c88bf1a87da8cb0c087b2f66b41d8256c77ee1b527e317
+PKG_HASH:=6891a0f540e60779b4f24f1802a302f813c6f473ec7336a474ed68c3e2e53ee0
 
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_CPE_ID:=cpe:/a:squid-cache:squid
 
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
 PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -69,8 +69,7 @@ define Package/squid-mod-cachemgr
 endef
 
 CONFIGURE_ARGS += \
-       BUILDCXX=$(HOSTCXX) \
-       BUILDCXXFLAGS=$(if $(HOST_CXXFLAGS),$(HOST_CXXFLAGS),-O2) \
+       BUILDCXX=$(HOSTCXX_NOCACHE) \
        --config-cache \
        --datadir=/usr/share/squid \
        --libexecdir=/usr/lib/squid \
@@ -122,13 +121,6 @@ CONFIGURE_VARS += \
 TARGET_CFLAGS += -Wno-error
 TARGET_LDFLAGS += -latomic
 
-define Build/Compile
-       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/lib all
-       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               install
-endef
-
 define Package/squid/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/squid $(1)/usr/sbin/
diff --git a/net/squid/patches/010-no-buildbxxflags.patch b/net/squid/patches/010-no-buildbxxflags.patch
new file mode 100644 (file)
index 0000000..1632485
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -765,7 +765,7 @@ cache_cf.o: cf_parser.cci
+ # cf_gen builds the configuration files.
+ cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) cf_gen_defines.cci
+-      $(BUILDCXX) $(BUILDCXXFLAGS) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
++      $(BUILDCXX) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
+ # squid.conf.default is built by cf_gen when making cf_parser.cci
+ squid.conf.default squid.conf.documented: cf_parser.cci
index 5e6ba93becc2c93892522b4c8e95dff3d04ca4cc..18c48e6382a3bfa9e87e140cf94b9dcd21985f60 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=strongswan
-PKG_VERSION:=5.9.0
+PKG_VERSION:=5.9.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
-PKG_HASH:=72b47a385da5d1532b816d9fe04c50d074c29ed42ea3f0878fbd66335917bb66
+PKG_HASH:=a337c9fb63d973b8440827755c784031648bf423b7114a04918b0b00fd42cafb
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
 PKG_CPE_ID:=cpe:/a:strongswan:strongswan
index 29d0d642688ed49cb38b0ec21d8e8a5477c2e382..68faa591341c9ee3fa166d0926eb91b47d7409d2 100644 (file)
@@ -6,26 +6,26 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=subversion
-PKG_RELEASE:=3
-PKG_VERSION:=1.13.0
+PKG_VERSION:=1.14.0
+PKG_RELEASE:=2
+
 PKG_SOURCE_URL:=@APACHE/subversion
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd
+PKG_HASH:=6ba8e218f9f97a83a799e58a3c6da1221d034b18d9d8cbbcb6ec52ab11722102
+
+PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
 PKG_CPE_ID:=cpe:/a:apache:subversion
 
 PKG_FIXUP:=autoreconf
 PKG_MACRO_PATHS:=build/ac-macros
-PKG_BUILD_DEPENDS:=apr-util
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
 
-
 define Package/subversion/Default
   SECTION:=net
   CATEGORY:=Network
@@ -80,9 +80,6 @@ define Package/subversion-server/conffiles
 endef
 
 CONFIGURE_ARGS += \
-       --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
-       --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
-       --with-libmagic="$(STAGING_DIR)/usr" \
        --disable-mod-activation \
        --without-ruby-sitedir \
        --without-swig \
@@ -92,13 +89,10 @@ CONFIGURE_ARGS += \
        --without-apxs \
        --without-sasl \
        --with-lz4=internal \
-       --with-utf8proc=internal
+       --with-utf8proc=internal \
+       $(call autoconf_bool,INTL_FULL,nls)
 
-ifdef $(INTL_FULL)
-       CONFIGURE_ARGS += --enable-nls
-else
-       CONFIGURE_ARGS += --disable-nls
-endif
+TARGET_LDFLAGS += $(if $(INTL_FULL),-lintl)
 
 define Package/subversion-libs/install
        $(INSTALL_DIR) $(1)/usr/lib
index 1e0c46a44b1d41464f1965125cb64511947806df..76c46734318af62bc182593a67108c272778d891 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcpreplay
 PKG_VERSION:=4.3.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/appneta/tcpreplay/releases/download/v$(PKG_VERSION)
@@ -19,7 +19,7 @@ PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=docs/LICENSE
 PKG_CPE_ID:=cpe:/a:appneta:tcpreplay
 
-PKG_FIXUP:=libtool
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -135,8 +135,6 @@ CONFIGURE_VARS += \
 CONFIGURE_ARGS += \
        --enable-force-pf \
        --enable-dynamic-link \
-       --prefix="$(PKG_INSTALL_DIR)/usr" \
-       --exec-prefix="$(PKG_INSTALL_DIR)/usr" \
        --with-libpcap="$(STAGING_DIR)/usr"
 
 define tcpreplayTemplate
index 92e8aea5505c8ac62e04ad471c82f8c50df34089..d6fa8ada68739a76429df3cf1b683397ab56f3ca 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=transmission
 PKG_VERSION:=3.00
-PKG_RELEASE:=8
+PKG_RELEASE:=10
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GITHUB/transmission/transmission-releases/master
@@ -40,7 +40,7 @@ define Package/transmission/template
   CATEGORY:=Network
   TITLE:=BitTorrent client
   URL:=https://www.transmissionbt.com
-  DEPENDS:=+libcurl +libevent2 +libminiupnpc +libnatpmp +libpthread +librt +zlib +LIBCURL_NOSSL:libmbedtls +LIBCURL_GNUTLS:libmbedtls $(ICONV_DEPENDS)
+  DEPENDS:=+libcurl +libevent2 +libminiupnpc +libnatpmp +libpthread +librt +zlib +LIBCURL_NOSSL:libmbedtls +LIBCURL_GNUTLS:libmbedtls +LIBCURL_WOLFSSL:libmbedtls $(ICONV_DEPENDS)
 endef
 
 define Package/transmission-daemon
@@ -104,7 +104,7 @@ CONFIGURE_ARGS += \
        $(if $(CONFIG_LIBCURL_GNUTLS),--with-crypto=polarssl) \
        $(if $(CONFIG_LIBCURL_MBEDTLS),--with-crypto=polarssl) \
        $(if $(CONFIG_LIBCURL_OPENSSL),--with-crypto=openssl) \
-       $(if $(CONFIG_LIBCURL_WOLFSSL),--with-crypto=cyassl)
+       $(if $(CONFIG_LIBCURL_WOLFSSL),--with-crypto=polarssl)
 
 define Package/transmission-daemon/install
        $(INSTALL_DIR) $(1)/usr/bin
index 8e911e731829512b5680e7415c3af4a0b9fc616a..f869ac808834ed12cb01f5ebcce56adc5366838a 100644 (file)
@@ -31,6 +31,7 @@
                                "getpid",
                                "getsockname",
                                "getsockopt",
+                               "getuid",
                                "getuid32",
                                "ioctl",
                                "listen",
index a82c62f6c388664f74969d2f3c82595c7f6d4716..ba59092bc52bf0389b634e9678c4459f0e94a7d4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -555,9 +555,6 @@ dnl it should be safe to re-edit 0.40 back down to 0.23
+@@ -555,9 +555,6 @@ dnl it should be safe to re-edit 0.40 ba
  use_nls=no
  if test "x$enable_nls" = "xyes" ; then
      use_nls=yes
index da0874fe19d7205bb4f2c057053c0df57d13173a..18c33f5b7c884acbae113030f0ec2b3c9e9a62b5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -152,8 +152,8 @@ AS_IF([test "x$want_crypto" = "xauto" -o "x$want_crypto" = "xcyassl"], [
+@@ -152,8 +152,8 @@ AS_IF([test "x$want_crypto" = "xauto" -o
      )
  ])
  AS_IF([test "x$want_crypto" = "xauto" -o "x$want_crypto" = "xpolarssl"], [
index a850b3563b1123748f7516fd44b3984dd9e13d04..f63d78d3e37a99680da248cd00b35985b6b16a9d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/libtransmission/webseed.c
 +++ b/libtransmission/webseed.c
-@@ -510,8 +510,6 @@ static void webseed_timer_func(evutil_socket_t foo UNUSED, short bar UNUSED, voi
+@@ -510,8 +510,6 @@ static void webseed_timer_func(evutil_so
          ++w->retry_tickcount;
      }
  
index c6963ef39bb4a7664d6eda836ad6342b6c6c1530..55ce59f81144f54617ceb0bf0aeeb468b1e5e48c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uacme
-PKG_VERSION:=1.2.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.6
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ndilieto/uacme/tar.gz/upstream/$(PKG_VERSION)?
-PKG_HASH:=ccd6001e96ec2eb22a1d557bf8dcc4152a567782afc9a1e017a93d7de3b49833
+PKG_HASH:=baeb1621e4b5d3cbf339531aa8c0df29ccffbb9c996379265349976d2c09c259
 
 PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
index 9ad1b97865b38b98786c997f84c218f894241ce4..0bd289c0304d7b608c05c106c86e7ac879361440 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=udpxy
-PKG_VERSION:=1.0-24.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.0-25.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/pcherenkov/udpxy/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=27e5d3d2bae29522354d1505a3cc931c96953846d68eeb25bb99fe9b0cb6cbe0
+PKG_HASH:=715c9af36c708a19225233a9013582e06d5c97d16d9a699765067b652c4871f9
 
 PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
index d2701eeffe257863b4e9d084caf8fc6ea0e19ae2..bb6dfb80503c7fabd91e9020e56bbdda7a1dc3f2 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.12.0
+PKG_VERSION:=1.13.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://nlnetlabs.nl/downloads/unbound
-PKG_HASH:=5b9253a97812f24419bf2e6b3ad28c69287261cf8c8fa79e3e9f6d3bf7ef5835
+PKG_HASH:=a954043a95b0326ca4037e50dace1f3a207a0a19e9a4a22f4c6718fc623db2a1
 
 PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index a21d529b3f5368a8d96564894663cbfa69f3b7c2..2e6296dde48db2fe57a14de7d377e23ef31818a9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=usbip
-PKG_RELEASE:=12
+PKG_RELEASE:=13
 PKG_LICENSE:=GPL-2.0-only
 
 # Since kernel 2.6.39.1 userspace tools are inside the kernel tree
@@ -52,7 +52,7 @@ endef
 define Package/usbip
   $(call Package/usbip/Default)
   TITLE+= (common)
-  DEPENDS+= +libwrap +kmod-usbip +libudev +USE_GLIBC:libbsd
+  DEPENDS+= +libwrap +kmod-usbip +libudev +USE_GLIBC:libbsd +usbids
 endef
 
 define Package/usbip-client
@@ -80,20 +80,9 @@ endef
 CONFIGURE_VARS+= $(if $(CONFIG_USE_GLIBC),LIBS='-lbsd -lpthread')
 CFLAGS+="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
 
-USB_IDS_VER:=0.318
-USB_IDS_FILE:=usb.ids.$(USB_IDS_VER)
-define Download/usb.ids
-  FILE:=$(USB_IDS_FILE)
-  URL_FILE:=usb.ids
-  URL:=@GITHUB/vcrhonek/hwdata/v$(USB_IDS_VER)
-  HASH:=84bc5452e4e45c2250e01bc74e03528b2a53c4724b2c4a5feaea76a922f83915
-endef
-
 define Package/usbip/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusbip.so.* $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/usr/share/hwdata
-       $(CP) $(DL_DIR)/usb.ids.$(USB_IDS_VER) $(1)/usr/share/hwdata/usb.ids
 endef
 
 define Package/usbip-client/install
@@ -106,7 +95,6 @@ define Package/usbip-server/install
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/usbipd $(1)/usr/sbin/
 endef
 
-$(eval $(call Download,usb.ids))
 $(eval $(call BuildPackage,usbip))
 $(eval $(call BuildPackage,usbip-client))
 $(eval $(call BuildPackage,usbip-server))
index 7d2ef2ad1e580bdc3a558ec12950b0144a544132..b98fea669e8f1a25a92177d82a007568074c07a4 100644 (file)
@@ -8,19 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wavemon
-PKG_VERSION:=0.9.1
-PKG_RELEASE:=2
+PKG_VERSION:=0.9.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/uoaerg/wavemon/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=5ebd5b79d3b7c546bc16b95161872c699a75e9acdfc6e3f02ec48dad10802067
+PKG_HASH:=13334ff17720ba4d17f4658dd2b93a50a6b5bc0583dedd72b88fd0cb90db686a
 
 PKG_MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
 
-PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
index ffad46109d01ab398540303752ae2862ce104b05..5a82e637651d6858e7ef337838a7f1f526104129 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wget
 PKG_VERSION:=1.20.3
-PKG_RELEASE:=4
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
@@ -29,7 +29,7 @@ define Package/wget/Default
   SUBMENU:=File Transfer
   TITLE:=Non-interactive network downloader
   URL:=https://www.gnu.org/software/wget/index.html
-  PROVIDES:=gnu-wget
+  PROVIDES:=gnu-wget wget
 endef
 
 define Package/wget/Default/description
@@ -41,16 +41,15 @@ define Package/wget/Default/description
  archives and home pages or to travel the Web like a WWW robot.
 endef
 
-define Package/wget
+define Package/wget-ssl
 $(call Package/wget/Default)
   DEPENDS+= +libopenssl +librt
   TITLE+= (with SSL support)
   VARIANT:=ssl
-  PROVIDES+=wget-ssl
-  ALTERNATIVES:=300:/usr/bin/wget:/usr/bin/wget-ssl
+  ALTERNATIVES:=300:/usr/bin/wget:/usr/libexec/wget-ssl
 endef
 
-define Package/wget/description
+define Package/wget-ssl/description
 $(call Package/wget/Default/description)
  This package is built with SSL support.
 endef
@@ -59,8 +58,7 @@ define Package/wget-nossl
 $(call Package/wget/Default)
   TITLE+= (without SSL support)
   VARIANT:=nossl
-  PROVIDES+=wget
-  ALTERNATIVES:=300:/usr/bin/wget:/usr/bin/wget-nossl
+  ALTERNATIVES:=300:/usr/bin/wget:/usr/libexec/wget-nossl
 endef
 
 define Package/wget-nossl/description
@@ -94,15 +92,15 @@ ifeq ($(BUILD_VARIANT),nossl)
                --without-ssl
 endif
 
-define Package/wget/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wget $(1)/usr/bin/wget-ssl
+define Package/wget-ssl/install
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wget $(1)/usr/libexec/wget-ssl
 endef
 
 define Package/wget-nossl/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wget $(1)/usr/bin/wget-nossl
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wget $(1)/usr/libexec/wget-nossl
 endef
 
-$(eval $(call BuildPackage,wget))
+$(eval $(call BuildPackage,wget-ssl))
 $(eval $(call BuildPackage,wget-nossl))
index 45dd505380528b14a101a5f3adb6de966a6ffc7e..8c26f7051ccadbf6a0d2d6236d0bb62c40cbb2e1 100644 (file)
@@ -16,7 +16,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wifischedule
 PKG_VERSION:=1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=PRPL
 
 PKG_MAINTAINER:=Nils Koenig <openwrt@newk.it> 
index 591abb104939e0ff337908c1002702a11e7a5448..6d53da5f5a583ac0da3f245ee0b7643d54e916f7 100644 (file)
@@ -34,9 +34,9 @@ The button "Determine Modules Automatically" tries to make a best guess determin
 When un-/loading the modules, there is a certain number of retries (`module_load`) performed.
 
 The option "Force disabling wifi even if stations associated" does what it says - when activated it simply shuts down WiFi.
-When unchecked, its checked every `recheck_interval` minutes if there are still stations associated. Once the stations disconnect, WiFi is disabled.
+When unchecked, its checked every `recheck_interval` minutes if there are still stations associated. Once the stations disconnect, WiFi is disabled. To ignore associated stations add their MAC to `ignore_stations`.
 
-Please note, that the parameters `module_load` and `recheck_interval` are only accessible through uci.
+Please note, that the parameters `module_load`, `recheck_interval` and `ignore_stations` are only accessible through uci.
 
 ## UCI Configuration `wifi_schedule`
 UCI configuration file: `/etc/config/wifi_schedule`:
@@ -47,6 +47,7 @@ config global
         option enabled '0'
         option recheck_interval '10'
         option modules_retries '10'
+#       option ignore_stations 'AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB'
 
 config entry 'Businesshours'
         option enabled '0'
index 946a1fff4eb8be7d705149e7fbc281e9ec1d63c7..96943fb178d22020a02f69d9322b637d3a2bf815 100644 (file)
@@ -3,6 +3,7 @@ config global
         option enabled '0'
         option recheck_interval '10'
         option modules_retries '10'
+#       option ignore_stations 'AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB'
 
 config entry 'Businesshours'
         option enabled '0'
index 363f95dd62cd245387346243ffa2495b3bf43062..be483d0bc680fc68b8c50ca3236d862c5d2128b5 100755 (executable)
@@ -248,16 +248,21 @@ soft_disable_wifi()
         return 1
     fi
 
+    local ignore_stations=$(_get_uci_value_raw ${GLOBAL}.ignore_stations)
+    [ -n "${ignore_stations}" ] && _log "Ignoring station(s) ${ignore_stations}"
+
     # check if no stations are associated
     local _if
     for _if in $(_get_wireless_interfaces)
     do
-        output=$(${iwinfo} ${_if} assoclist)
-        if [[ "$output" != "No station connected" ]]
-        then
+        local stations=$(${iwinfo} ${_if} assoclist | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}')
+        if [ -n "${ignore_stations}" ]; then
+            stations=$(echo "${stations}" | grep -vwi -E "${ignore_stations// /|}")
+        fi
+
+        if [ -n "${stations}" ]; then
             _disable_wifi=0
-            local stations=$(echo ${output}| grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | tr '\n' ' ')
-            _log "Station(s) ${stations}associated on ${_if}"
+            _log "Station(s) $(echo ${stations}) associated on ${_if}"
         fi
     done
 
index ef09983516d629192f3e9f65ee783d7b4d60025c..e3aee93d081bc3844f6801f43358f8e5a8eaeaa6 100644 (file)
@@ -1,13 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wsdd2
-PKG_RELEASE:=9
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/Andy2244/wsdd2.git
-PKG_SOURCE_DATE:=2020-05-06
-PKG_SOURCE_VERSION:=671d040c33ec290930535e27dd59c1e5ccec11ec
-PKG_MIRROR_HASH:=aac0881ba8627897b23906eabde97450178a8f9285699c0368f88a745a934b96
+PKG_SOURCE_DATE:=2020-11-19
+PKG_SOURCE_VERSION:=e0cf50d5c125d60caaa9b957d058ea4348a8d200
+PKG_MIRROR_HASH:=6a09fed7974de3e9c6f87c0b2880c105a21ffaef965bd58d837d62ca58fe8f07
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-3.0-only
index ba531544994b5581089dd06de6cc719c7dd0a918..c5e2c3f8a3f0123cf7740562b516ad80071f3bb9 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=xtables-addons
 PKG_VERSION:=3.13
-PKG_RELEASE:=2
+PKG_RELEASE:=4
 PKG_HASH:=893c0c4ea09759cda1ab7e68f1281d125e59270f7b59e446204ce686c6a76d65
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -139,15 +139,33 @@ define Package/iptgeoip
                +wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
 endef
 
+define Package/iptgeoip/config
+       menu "Select iptgeoip options"
+               config IPTGEOIP_PRESERVE
+                       bool "Preserve across sysupgrades"
+                       default n
+                       help
+                         Backup and restore during sysupgrade (requires >7MB)
+       endmenu
+endef
+
+ifeq ($(CONFIG_IPTGEOIP_PRESERVE),y)
+define Package/iptgeoip/conffiles
+/usr/share/xt_geoip/
+endef
+endif
+
 define Package/iptgeoip/install
        $(INSTALL_DIR) $(1)/usr/lib/xtables-addons
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/xtables-addons/xt_geoip_{build,dl} \
                $(1)/usr/lib/xtables-addons/
+       $(INSTALL_DIR) $(1)/usr/bin
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/bin/xt_geoip_fetch \
                $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/usr/share/xt_geoip
+       touch $(1)/usr/share/xt_geoip/.keep
 endef
 
 
index ed69ea3acfd749d5daadb8c3827de2580787b6f1..f3e0cf9c6c45b96a7bec9d393eeaa9fd7ed95e99 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zerotier
-PKG_VERSION:=1.4.6
-PKG_RELEASE:=5
+PKG_VERSION:=1.6.2
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=d1a0eeb03acfa446f67adf5901902d17de14b4648c21e160024acf476e3d4fba
+PKG_HASH:=c8087b26c1191d36fda004b42cdfed31042cafd8586e49015586eef786f2c9a5
 PKG_BUILD_DIR:=$(BUILD_DIR)/ZeroTierOne-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Moritz Warning <moritzwarning@web.de>
@@ -58,10 +58,6 @@ endef
 TARGET_CFLAGS += -ffunction-sections -fdata-sections
 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 
-ifdef CONFIG_USE_UCLIBC
-       TARGET_CFLAGS += -D'valloc(a)=aligned_alloc(getpagesize(),a)'
-endif
-
 define Package/zerotier/conffiles
 /etc/config/zerotier
 endef
index 7aa9c7ead342437d961c01caabf5d599c0a04bbe..e9724f01d2f6e35b00e6cbcdd990622e2f2f9b52 100644 (file)
@@ -1,17 +1,15 @@
-From 14454285d7ef5b9cd134c86059933036c1aa2fef Mon Sep 17 00:00:00 2001
+From 552cda1ebff6c5182eecdcb35961fd6b441dfa52 Mon Sep 17 00:00:00 2001
 From: Moritz Warning <moritzwarning@web.de>
 Date: Mon, 23 Apr 2018 22:12:31 +0200
-Subject: [PATCH 1/4] find miniupnpc.h in staging directory
+Subject: [PATCH 1/8] find miniupnpc.h in staging directory
 
 ---
  make-linux.mk | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/make-linux.mk b/make-linux.mk
-index b81c7aeb..a547125d 100644
 --- a/make-linux.mk
 +++ b/make-linux.mk
-@@ -29,8 +29,8 @@ TIMESTAMP=$(shell date +"%Y%m%d%H%M")
+@@ -25,8 +25,8 @@ TIMESTAMP=$(shell date +"%Y%m%d%H%M")
  # otherwise build into binary as done on Mac and Windows.
  ONE_OBJS+=osdep/PortMapper.o
  override DEFS+=-DZT_USE_MINIUPNPC
@@ -22,6 +20,3 @@ index b81c7aeb..a547125d 100644
  ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
        override DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
        LDLIBS+=-lminiupnpc
--- 
-2.22.0
-
index 8f90d8f0a2f9898660397d5df90fe367d66690a1..aa297f85d422808d950822d11bf4a882885a3384 100644 (file)
@@ -1,7 +1,7 @@
-From 68fe97ef6b05e3709cd4b67c7681dcfc63bfaf80 Mon Sep 17 00:00:00 2001
+From ef1a75fd1bf271cc5c73d966a861dfcd26d62cd5 Mon Sep 17 00:00:00 2001
 From: Moritz Warning <moritzwarning@web.de>
 Date: Mon, 30 Apr 2018 16:14:30 +0200
-Subject: [PATCH 2/4] remove -pie
+Subject: [PATCH 2/8] remove -pie
 
 fixes relocation "against `a local symbol' can not be used
 when making a shared object; recompile with -fPIC" error
@@ -9,11 +9,9 @@ when making a shared object; recompile with -fPIC" error
  make-linux.mk | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/make-linux.mk b/make-linux.mk
-index a547125d..13244741 100644
 --- a/make-linux.mk
 +++ b/make-linux.mk
-@@ -77,11 +77,11 @@ ifeq ($(ZT_DEBUG),1)
+@@ -73,11 +73,11 @@ ifeq ($(ZT_DEBUG),1)
        # C25519 in particular is almost UNUSABLE in -O0 even on a 3ghz box!
  node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CXXFLAGS=-Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
  else
@@ -28,6 +26,3 @@ index a547125d..13244741 100644
        STRIP?=strip
        STRIP+=--strip-all
  endif
--- 
-2.22.0
-
index f2189b97f19afbc1861b1066bea2c64ee05ab440..f0ffacf0e70158d03e60e4a41535726889ce4e41 100644 (file)
@@ -1,25 +1,20 @@
-From a856855ab97e0775a08e1571a4ad26c264cb13f4 Mon Sep 17 00:00:00 2001
+From 093ec88ff213a5713ad5d3c26ddf5ecdea3c6377 Mon Sep 17 00:00:00 2001
 From: Moritz Warning <moritzwarning@web.de>
 Date: Sun, 4 Aug 2019 03:56:37 +0200
-Subject: [PATCH 3/4] remove arm32 conservative CFLAGS
+Subject: [PATCH 3/8] remove arm32 conservative CFLAGS
 
 ---
  make-linux.mk | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/make-linux.mk b/make-linux.mk
-index 13244741..fd164dfa 100644
 --- a/make-linux.mk
 +++ b/make-linux.mk
-@@ -262,7 +262,7 @@ ifeq ($(ZT_OFFICIAL),1)
+@@ -276,7 +276,7 @@ ifeq ($(ZT_CONTROLLER),1)
  endif
  
  # ARM32 hell -- use conservative CFLAGS
 -ifeq ($(ZT_ARCHITECTURE),3)
 +ifeq (0,3)
        ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel)
-               override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
-               override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
--- 
-2.22.0
-
+               override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+               override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
index a28f4d8266da1069187c7cec4f71e9ce82748875..de144d25c70049b607bd0215c837f16dcda0a06f 100644 (file)
@@ -1,17 +1,15 @@
-From 5169e5328525af28f6b7de087ece10a9bc0a2282 Mon Sep 17 00:00:00 2001
+From 1a4ffe62c729f9c4f63cdfd26151e3724bc23f86 Mon Sep 17 00:00:00 2001
 From: Moritz Warning <moritzwarning@web.de>
 Date: Wed, 2 May 2018 16:06:46 +0200
-Subject: [PATCH 4/4] accept external linker flags
+Subject: [PATCH 4/8] accept external linker flags
 
 ---
  make-linux.mk | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/make-linux.mk b/make-linux.mk
-index fd164dfa..29ff8813 100644
 --- a/make-linux.mk
 +++ b/make-linux.mk
-@@ -81,7 +81,7 @@ else
+@@ -77,7 +77,7 @@ else
        override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS)
        CXXFLAGS?=-O3 -fstack-protector
        override CXXFLAGS+=-Wall -Wno-deprecated -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
@@ -20,6 +18,3 @@ index fd164dfa..29ff8813 100644
        STRIP?=strip
        STRIP+=--strip-all
  endif
--- 
-2.22.0
-
index d1c820947aac2382c5ae4bf06576724031e15a40..893c10a05460f52a95e899c6e043fda9133cf734 100644 (file)
@@ -1,6 +1,15 @@
+From de625c51dba36b390c93a1db00b19b6112178764 Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Sat, 21 Nov 2020 17:53:28 +0100
+Subject: [PATCH 5/8] link natpmp
+
+---
+ make-linux.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 --- a/make-linux.mk
 +++ b/make-linux.mk
-@@ -38,7 +38,7 @@ else
+@@ -34,7 +34,7 @@ else
        override DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
        ONE_OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
  endif
diff --git a/net/zerotier/patches/0006-gcc10.patch b/net/zerotier/patches/0006-gcc10.patch
new file mode 100644 (file)
index 0000000..9550dfd
--- /dev/null
@@ -0,0 +1,24 @@
+From e0c76c5ccf049d22bc47d723567926346e4d3639 Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Sat, 21 Nov 2020 18:19:21 +0100
+Subject: [PATCH 6/8] gcc10
+
+---
+ osdep/Binder.hpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/osdep/Binder.hpp
++++ b/osdep/Binder.hpp
+@@ -396,9 +396,9 @@ public:
+                                       }
+ #endif // __LINUX__
+                                       if (_bindingCount < ZT_BINDER_MAX_BINDINGS) {
+-                                              _bindings[_bindingCount].udpSock = udps;
+-                                              _bindings[_bindingCount].tcpListenSock = tcps;
+-                                              _bindings[_bindingCount].address = ii->first;
++                                              _bindings[(unsigned int)_bindingCount].udpSock = udps;
++                                              _bindings[(unsigned int)_bindingCount].tcpListenSock = tcps;
++                                              _bindings[(unsigned int)_bindingCount].address = ii->first;
+                                               phy.setIfName(udps,(char*)ii->second.c_str(),(int)ii->second.length());
+                                               ++_bindingCount;
+                                       }
diff --git a/net/zerotier/patches/0007-add-cerrno-header-for-str-errno.patch b/net/zerotier/patches/0007-add-cerrno-header-for-str-errno.patch
new file mode 100644 (file)
index 0000000..d2595f9
--- /dev/null
@@ -0,0 +1,23 @@
+From e06177a74f1e4314baf17c52f360dabcb78e69cd Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Sun, 29 Nov 2020 19:45:36 +0100
+Subject: [PATCH 7/8] add cerrno header for (str)errno
+
+Fixes compilation under libcxx.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ osdep/LinuxNetLink.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/osdep/LinuxNetLink.cpp
++++ b/osdep/LinuxNetLink.cpp
+@@ -22,6 +22,8 @@
+ #include <unistd.h>
+ #include <linux/if_tun.h>
++#include <cerrno>
++
+ #ifndef IFNAMSIZ
+ #define IFNAMSIZ 16
+ #endif
diff --git a/net/zerotier/patches/0008-fix-compilation-for-arm_cortex-a7-neon.patch b/net/zerotier/patches/0008-fix-compilation-for-arm_cortex-a7-neon.patch
new file mode 100644 (file)
index 0000000..88b640f
--- /dev/null
@@ -0,0 +1,23 @@
+From 7ac88ced6cdedf88ccebfc1de12d92b269d4a60a Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Mon, 30 Nov 2020 12:25:42 +0100
+Subject: [PATCH 8/8] fix compilation for arm_cortex-a7+neon
+
+Fixes "error: 'vrbitq_u8' was not declared in this scope"
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ node/Constants.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/node/Constants.hpp
++++ b/node/Constants.hpp
+@@ -109,7 +109,7 @@
+ #include <immintrin.h>
+ #endif
+-#if (defined(__ARM_NEON) || defined(__ARM_NEON__) || defined(ZT_ARCH_ARM_HAS_NEON))
++#if (defined(__aarch64__) || defined(ZT_ARCH_ARM_HAS_NEON))
+ #if (defined(__APPLE__) && !defined(__LP64__)) || (defined(__ANDROID__) && defined(__arm__))
+ #ifdef ZT_ARCH_ARM_HAS_NEON
+ #undef ZT_ARCH_ARM_HAS_NEON
diff --git a/net/zerotier/patches/010-auxv.patch b/net/zerotier/patches/010-auxv.patch
new file mode 100644 (file)
index 0000000..3499168
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/node/Utils.cpp
++++ b/node/Utils.cpp
+@@ -28,7 +28,7 @@
+ #include <sys/stat.h>
+ #include <sys/uio.h>
+ #include <dirent.h>
+-#ifdef __LINUX__
++#if 0
+ #include <sys/auxv.h>
+ #endif
+ #endif
diff --git a/net/zerotier/patches/010-mangix.patch b/net/zerotier/patches/010-mangix.patch
deleted file mode 100644 (file)
index 68e3bc5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/osdep/LinuxNetLink.hpp
-+++ b/osdep/LinuxNetLink.hpp
-@@ -18,6 +18,7 @@
- #ifdef __LINUX__
-+#include <cerrno>
- #include <vector>
- #include <sys/socket.h>
diff --git a/net/zerotier/patches/020-musl.patch b/net/zerotier/patches/020-musl.patch
deleted file mode 100644 (file)
index 755eb51..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/osdep/OSUtils.hpp
-+++ b/osdep/OSUtils.hpp
-@@ -37,9 +37,6 @@
- #include <sys/time.h>
- #include <sys/stat.h>
- #include <arpa/inet.h>
--#ifdef __LINUX__
--#include <sys/syscall.h>
--#endif
- #endif
- #ifndef OMIT_JSON_SUPPORT
-@@ -211,11 +208,8 @@ public:
-               return (int64_t)( ((tmp.QuadPart - 116444736000000000LL) / 10000L) + st.wMilliseconds );
- #else
-               struct timeval tv;
--#ifdef __LINUX__
--              syscall(SYS_gettimeofday,&tv,0); /* fix for musl libc broken gettimeofday bug */
--#else
-               gettimeofday(&tv,(struct timezone *)0);
--#endif
-+
-               return ( (1000LL * (int64_t)tv.tv_sec) + (int64_t)(tv.tv_usec / 1000) );
- #endif
-       };
diff --git a/net/zerotier/patches/030-gcc10.patch b/net/zerotier/patches/030-gcc10.patch
deleted file mode 100644 (file)
index f55270d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From cce4fa719d447c55d93458b25fa92717a2d61a60 Mon Sep 17 00:00:00 2001
-From: Jonas Witschel <diabonas@archlinux.org>
-Date: Tue, 14 Jul 2020 14:20:16 +0200
-Subject: [PATCH] Fix compilation with GCC 10 by providing explicit cast of
- _bindingCount
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compilation with GCC 10 fails with the following error:
-
-service/../osdep/Binder.hpp: In member function ‘void ZeroTier::Binder::refresh(ZeroTier::Phy<PHY_HANDLER_TYPE>&, unsigned int*, unsigned int, std::vector<ZeroTier::InetAddress>, INTERFACE_CHECKER&)’:
-service/../osdep/Binder.hpp:376:30: internal compiler error: unexpected expression ‘(std::__atomic_base<unsigned int>::__int_type)((ZeroTier::Binder*)this)->ZeroTier::Binder::_bindingCount’ of kind implicit_conv_expr
-  376 |       _bindings[_bindingCount].udpSock = udps;
-      |                              ^
-
-Help the compiler by providing an explicit cast to the appropriate type like it
-is already done in l. 338 of the same file.
----
- osdep/Binder.hpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/osdep/Binder.hpp b/osdep/Binder.hpp
-index 660e6f0c..a5bc85c9 100644
---- a/osdep/Binder.hpp
-+++ b/osdep/Binder.hpp
-@@ -373,9 +373,9 @@ class Binder
-                                       }
- #endif // __LINUX__
-                                       if (_bindingCount < ZT_BINDER_MAX_BINDINGS) {
--                                              _bindings[_bindingCount].udpSock = udps;
--                                              _bindings[_bindingCount].tcpListenSock = tcps;
--                                              _bindings[_bindingCount].address = ii->first;
-+                                              _bindings[(unsigned int)_bindingCount].udpSock = udps;
-+                                              _bindings[(unsigned int)_bindingCount].tcpListenSock = tcps;
-+                                              _bindings[(unsigned int)_bindingCount].address = ii->first;
-                                               phy.setIfName(udps,(char*)ii->second.c_str(),(int)ii->second.length());
-                                               ++_bindingCount;
-                                       }
index 61599c6870b9a44b6f2e269d41946871eda6688a..794484bdc3bf08059726d76ae081427ae8dda176 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fdk-aac
 PKG_VERSION:=2.0.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v$(PKG_VERSION)?
@@ -47,11 +47,9 @@ define Package/fdk-aac/description
 endef
 
 ifeq ($(CONFIG_FDK-AAC_OPTIMIZE_SPEED),y)
-       TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
-       TARGET_CFLAGS += $(TARGET_CFLAGS) -O2 -flto
-       TARGET_CXXFLAGS := $(filter-out -O%,$(TARGET_CXXFLAGS))
-       TARGET_CXXFLAGS += $(TARGET_CXXFLAGS) -O2 -flto
-       TARGET_LDFLAGS += $(TARGET_LDFLAGS) -flto
+       TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS)) -O2 -flto
+       TARGET_CXXFLAGS:= $(filter-out -O%,$(TARGET_CXXFLAGS)) -O2 -flto
+       TARGET_LDFLAGS += -flto
 endif
 
 define Build/InstallDev
index fca8424b2be06503691b7b618f793b71c41a1702..fd5df728b3478a40ddc5dd2c20da5f2d6d925f1b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pulseaudio
-PKG_VERSION:=13.0
-PKG_RELEASE:=6
+PKG_VERSION:=14.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://freedesktop.org/software/pulseaudio/releases
-PKG_HASH:=961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057
+PKG_HASH:=a834775d9382b055504e5ee7625dc50768daac29329531deb6597bf05e06c261
 
 PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -105,8 +105,10 @@ MESON_ARGS += \
        -Daccess_group=audio \
        -Ddatabase=simple \
        -Dlegacy-database-entry-format=false \
+       -Dstream-restore-clear-old-devices=true \
        -Drunning-from-build-tree=false \
        -Datomic-arm-linux-helpers=false \
+       -Datomic-arm-memory-barrier=false \
        -Dalsa=enabled \
        -Dasyncns=disabled \
        -Dbluez5=false \
@@ -115,6 +117,7 @@ MESON_ARGS += \
        -Dfftw=disabled \
        -Dglib=disabled \
        -Dgsettings=disabled \
+       -Dgstreamer=disabled \
        -Dgtk=disabled \
        -Dhal-compat=false \
        -Dipv6=true \
diff --git a/sound/pulseaudio/patches/020-openssl-deprecated.patch b/sound/pulseaudio/patches/020-openssl-deprecated.patch
deleted file mode 100644 (file)
index 4e1d0cd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/modules/raop/raop-crypto.c
-+++ b/src/modules/raop/raop-crypto.c
-@@ -30,6 +30,7 @@
- #include <openssl/err.h>
- #include <openssl/aes.h>
- #include <openssl/rsa.h>
-+#include <openssl/bn.h>
- #include <pulse/xmalloc.h>
index 0050d2bee042197a6f882b01ad7bccd0bef45fd2..f65a302c514703d3bf677c7c9b1dc5c250a7f7a6 100644 (file)
@@ -7,12 +7,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=shairport-sync
-PKG_VERSION:=3.3.6
-PKG_RELEASE:=2
+PKG_VERSION:=3.3.7
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikebrady/shairport-sync/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=a8382affd25c473fa38ead5690148c6c3902098f359f9c881eefe139e1f49f49
+PKG_HASH:=7f8d4ecec53f2f681a962467bf09205568fc936c8c31a9ee07b1bd72d3d95b12
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
                Mike Brady <mikebrady@eircom.net>
index c8c8a699e027a21dd876921b0055e4e0be207a93..05c21e126d9222bbc23e9776cc01b78b7000ecc5 100644 (file)
@@ -25,7 +25,7 @@
  endif
 --- a/configure.ac
 +++ b/configure.ac
-@@ -19,7 +19,6 @@ with_os=`echo ${with_os} | tr '[[:upper:]]' '[[:lower:]]' `
+@@ -19,7 +19,6 @@ with_os=`echo ${with_os} | tr '[[:upper:
  
  # Checks for programs.
  AC_PROG_CC
diff --git a/utils/acsccid/Makefile b/utils/acsccid/Makefile
new file mode 100644 (file)
index 0000000..2365bc1
--- /dev/null
@@ -0,0 +1,54 @@
+#
+# Copyright (C) 2009-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=acsccid
+PKG_VERSION:=1.1.8
+PKG_RELEASE:=1
+
+PKG_SOURCE:=v$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/acshk/acsccid/archive/
+PKG_HASH:=68d15eb20e7f52153509f1dc300cf0c68b388c59d7d124ba494fd96c61a6e7c6
+PKG_MAINTAINER:=Vincent JARDIN <vjardin@free.fr>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+
+define Package/acsccid
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=$(ICONV_DEPENDS) +libusb-1.0 +libpcsclite
+  TITLE:=PCSC driver for ACS USB CCID smart card readers
+  URL:=https://github.com/acshk/acsccid
+endef
+
+define Package/acsccid/description
+  PCSC driver for ACS USB CCID (Chip/Smart Card Interface Devices)
+  smart card readers and ICCD (Integrated Circuit(s)
+  Card Devices).
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+TARGET_LDFLAGS += "-lpthread"
+
+CONFIGURE_ARGS += \
+       --enable-embedded \
+       --enable-usbdropdir=/usr/lib/pcsc/drivers
+
+define Package/acsccid/install
+       $(INSTALL_DIR) $(1)/usr/lib/pcsc
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pcsc/drivers $(1)/usr/lib/pcsc/
+endef
+
+$(eval $(call BuildPackage,acsccid))
index 0b44d0e5d72579010c1b077404d3221c30665a47..40cb6d1851dde4b604525e299a947499b912a011 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=auc
 PKG_VERSION:=0.1.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0
 
 include $(INCLUDE_DIR)/package.mk
index ce291a4e3483cd8275768fc126005092161a299f..de6cee83340605b5b33392212f7aa888e0f8aa82 100644 (file)
@@ -8,5 +8,5 @@ SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
 find_library(json NAMES json-c json)
 
 ADD_EXECUTABLE(auc auc.c)
-TARGET_LINK_LIBRARIES(auc uci ubox ubus uclient blobmsg_json ${json})
+TARGET_LINK_LIBRARIES(auc uci ubox ubus uclient blobmsg_json ${json} ${CMAKE_DL_LIBS})
 INSTALL(TARGETS auc RUNTIME DESTINATION sbin)
diff --git a/utils/augeas/Makefile b/utils/augeas/Makefile
new file mode 100644 (file)
index 0000000..71e9550
--- /dev/null
@@ -0,0 +1,96 @@
+#
+# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=augeas
+PKG_VERSION:=1.12.0
+PKG_RELEASE=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://download.augeas.net/
+PKG_HASH:=321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/augeas
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=A configuration editing tool
+  URL:=http://augeas.net
+  DEPENDS:=+libxml2 +libreadline +libncurses
+endef
+
+define Package/augeas/description
+  Augeas is a configuration editing tool.
+  It parses configuration files in their
+  native formats and transforms them into a tree.
+  Configuration changes are made by manipulating this
+  tree and saving it back into native config files.
+endef
+
+define Package/augeas-lenses
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Augeas lenses
+  URL:=http://augeas.net
+  DEPENDS:=+augeas
+endef
+
+define Package/augeas-lense/description
+  Set of Augeas lenses.
+endef
+
+CONFIGURE_ARGS+= \
+        --without-selinux
+
+define Package/augeas-lenses-tests
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Augeas lenses tests
+  URL:=http://augeas.net
+  DEPENDS:=+augeas
+endef
+
+define Package/augeas-lenses-tests/description
+  Set of tests for official Augeas lenses.
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/augeas/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/augeas-lenses/install
+       $(INSTALL_DIR) $(1)/usr/share/augeas/lenses/dist
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/augeas/lenses/dist/* $(1)/usr/share/augeas/lenses/dist/
+endef
+
+define Package/augeas-lenses-tests/install
+       $(INSTALL_DIR) $(1)/usr/share/augeas/lenses/dist/tests
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/augeas/lenses/dist/tests/* $(1)/usr/share/augeas/lenses/dist/tests
+endef
+
+$(eval $(call BuildPackage,augeas))
+$(eval $(call BuildPackage,augeas-lenses))
+$(eval $(call BuildPackage,augeas-lenses-tests))
index 4bc4acf499c4991a479d65e24088ed65af125bc1..ca03b62853ca91bea71e54c921dbbb151bae6ffb 100644 (file)
@@ -8,19 +8,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bash
-PKG_VERSION:=5.0
-PKG_RELEASE:=4
+PKG_VERSION:=5.1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/bash
-PKG_HASH:=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+PKG_HASH:=cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa
 
+PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
 PKG_CPE_ID:=cpe:/a:gnu:bash
 
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -73,7 +74,6 @@ CONFIGURE_VARS += \
        bash_cv_printf_a_format=yes \
 
 CONFIGURE_ARGS+= \
-       --with-installed-readline="$(STAGING_DIR)/usr" \
        --with-curses \
        --without-bash-malloc \
        --bindir=/bin \
diff --git a/utils/bash/patches/100-fix-jobs.patch b/utils/bash/patches/100-fix-jobs.patch
deleted file mode 100644 (file)
index 69ca6c9..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Fix job control
-
-Patch was taken from https://git.alpinelinux.org/cgit/aports/tree/main/bash/fix-jobs.patch
-
-See also "Bash 4.4.12-r2 jobs hangs on arm (alpine 3.7)", https://bugs.alpinelinux.org/issues/8447
---- a/jobs.c
-+++ b/jobs.c
-@@ -4326,10 +4326,8 @@ just_bail:
-   if (js.c_childmax < 0)
-     js.c_childmax = DEFAULT_CHILD_MAX;
--#if 0
-   if (js.c_childmax > MAX_CHILD_MAX)
-     js.c_childmax = MAX_CHILD_MAX;
--#endif
-   return job_control;
- }
-@@ -4707,10 +4705,8 @@ mark_dead_jobs_as_notified (force)
-   if (js.c_childmax < 0)
-     js.c_childmax = DEFAULT_CHILD_MAX;
--#if 0
-   if (js.c_childmax > MAX_CHILD_MAX)
-     js.c_childmax = MAX_CHILD_MAX;
--#endif
-   /* Don't do anything if the number of dead processes is less than CHILD_MAX
-      and we're not forcing a cleanup. */
diff --git a/utils/bash/patches/101-bash50-001.patch b/utils/bash/patches/101-bash50-001.patch
deleted file mode 100644 (file)
index 09e0fcb..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-001
-
-Bug-Reported-by:       axel@freakout.de
-Bug-Reference-ID:      <201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** a/bashline.c       2018-11-27 13:20:16.000000000 -0500
---- b/bashline.c       2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-       }
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-       }
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+      {
-+      case '?':
-+      case '*':
-+        return (1);
-+ 
-+      case '[':
-+        open++;
-+        continue;
-+ 
-+      case ']':
-+        if (open)
-+          return (1);
-+        continue;
-+ 
-+      case '+':
-+      case '@':
-+      case '!':
-+        if (*string == '(')   /*)*/
-+          return (1);
-+        continue;
-+ 
-+      case '\\':
-+        if (*string == 0)
-+          return (0);           
-+      }
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+       account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;     /* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;     /* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** a/lib/glob/glob_loop.c     2018-12-31 13:35:15.000000000 -0500
---- b/lib/glob/glob_loop.c     2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
-          if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-          and it can be removed. */
-       return (*p != L('\0'));
-- #else
--      /* The pattern may not end with a backslash. */
--      if (*p++ == L('\0'))
--        return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** a/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/utils/bash/patches/101-bash51-001.patch b/utils/bash/patches/101-bash51-001.patch
new file mode 100644 (file)
index 0000000..02898aa
--- /dev/null
@@ -0,0 +1,64 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.1
+Patch-ID:      bash51-001
+
+Bug-Reported-by:       Fazal Majid <fazal@majid.org>
+Bug-Reference-ID:      <DEAB7D2C-C626-450C-B2E5-281AFF2D26D4@majid.org>
+Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html
+
+Bug-Description:
+
+There is a missing dependency on a constructed file, which can cause highly
+parellel builds to fail.
+
+Patch (apply with `patch -p0'):
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1315,6 +1315,7 @@ bashline.o: trap.h flags.h assoc.h $(BAS
+ bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h
+ bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h
+ bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
++bashline.o: ${DEFDIR}/builtext.h
+ bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+ bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
+ bracecomp.o: command.h ${BASHINCDIR}/stdc.h error.h
+@@ -1435,6 +1436,7 @@ builtins/evalstring.o: quit.h unwind_pro
+ builtins/evalstring.o: dispose_cmd.h make_cmd.h subst.h externs.h 
+ builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
+ builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h
++builtins/evalstring.o: ${DEFDIR}/builtext.h
+ builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
+ builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
+ builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
+--- a/builtins/Makefile.in
++++ b/builtins/Makefile.in
+@@ -361,7 +361,7 @@ evalstring.o: $(topdir)/dispose_cmd.h $(
+ evalstring.o: $(topdir)/externs.h $(topdir)/jobs.h $(topdir)/builtins.h
+ evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
+ evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
+-evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h
++evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h
+ #evalstring.o: $(topdir)/y.tab.h
+ getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
+ getopt.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/bashjmp.h $(topdir)/command.h
+--- a/patchlevel.h
++++ b/patchlevel.h
+@@ -1,6 +1,6 @@
+ /* patchlevel.h -- current bash patch level */
+-/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
++/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
+    This file is part of GNU Bash, the Bourne Again SHell.
+@@ -25,6 +25,6 @@
+    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
+    looks for to find the patch level (for the sccs version string). */
+-#define PATCHLEVEL 0
++#define PATCHLEVEL 1
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/102-bash50-002.patch b/utils/bash/patches/102-bash50-002.patch
deleted file mode 100644 (file)
index 6ead763..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-002
-
-Bug-Reported-by:       Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:      <B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** a/parser.h 2018-12-28 19:11:18.000000000 -0500
---- b/parser.h 2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST        0x080000        /* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT  0x100000        /* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS 0x200000        /* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** a/parse.y  2019-01-02 13:57:34.000000000 -0500
---- b/parse.y  2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';    /* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&  /* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';    /* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** a/y.tab.c  2019-01-02 13:57:43.000000000 -0500
---- b/y.tab.c  2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';    /* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&  /* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';    /* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** a/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/utils/bash/patches/102-bash51-002.patch b/utils/bash/patches/102-bash51-002.patch
new file mode 100644 (file)
index 0000000..2faa881
--- /dev/null
@@ -0,0 +1,45 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.1
+Patch-ID:      bash51-002
+
+Bug-Reported-by:       oguzismailuysal@gmail.com
+Bug-Reference-ID:      <CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g@mail.gmail.com>
+Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html
+
+Bug-Description:
+
+If there are no jobs, and the `-n' and `-p' options are both supplied to
+`wait', bash can assign a value to the variable name specified with `-p'
+instead of leaving it unset.
+
+Patch (apply with `patch -p0'):
+
+--- a/builtins/wait.def
++++ b/builtins/wait.def
+@@ -213,11 +213,11 @@ wait_builtin (list)
+       }
+       status = wait_for_any_job (wflags, &pstat);
+-      if (status < 0)
+-      status = 127;
+-
+       if (vname && status >= 0)
+       bind_var_to_int (vname, pstat.pid);
++
++      if (status < 0)
++      status = 127;
+       if (list)
+       unset_waitlist ();
+       WAIT_RETURN (status);
+--- a/patchlevel.h
++++ b/patchlevel.h
+@@ -25,6 +25,6 @@
+    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
+    looks for to find the patch level (for the sccs version string). */
+-#define PATCHLEVEL 1
++#define PATCHLEVEL 2
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/103-bash50-003.patch b/utils/bash/patches/103-bash50-003.patch
deleted file mode 100644 (file)
index b2c7cf6..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-003
-
-Bug-Reported-by:       Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:      <5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** a/lib/glob/glob_loop.c     2019-01-16 16:13:21.000000000 -0500
---- b/lib/glob/glob_loop.c     2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
-!         if the pattern ends in a backslash anyway), but otherwise return 1,
-!         since the matching engine uses backslash as an escape character
-!         and it can be removed. */
-!      return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
-!         if the pattern ends in a backslash anyway), but otherwise note that 
-!         we have seen this, since the matching engine uses backslash as an
-!         escape character and it can be removed. We return 2 later if we
-!         have seen only backslash-escaped characters, so interested callers
-!         know they can shortcut and just dequote the pathname. */
-!      if (*p != L('\0'))
-!        {
-!          p++;
-!          bsquote = 1;
-!          continue;
-!        }
-!      else    /* (*p == L('\0')) */
-!        return 0;
-        }
-  
-!   return bsquote ? 2 : 0;
-  }
-  
-*** a/lib/glob/glob.h  2013-10-28 14:46:12.000000000 -0400
---- b/lib/glob/glob.h  2019-03-07 11:06:47.000000000 -0500
-***************
-*** 31,34 ****
---- 31,35 ----
-  #define GX_ADDCURDIR 0x200   /* internal -- add passed directory name */
-  #define GX_GLOBSTAR  0x400   /* turn on special handling of ** */
-+ #define GX_RECURSE   0x800   /* internal -- glob_filename called recursively */
-  
-  extern int glob_pattern_p __P((const char *));
-*** a/lib/glob/glob.c  2018-09-20 10:53:23.000000000 -0400
---- b/lib/glob/glob.c  2019-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;                  /* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;                  /* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        char **directories, *d, *p;
-***************
-*** 1176,1180 ****
-       d[directory_len - 1] = '\0';
-  
-!       directories = glob_filename (d, dflags);
-  
-        if (free_dirname)
---- 1195,1199 ----
-       d[directory_len - 1] = '\0';
-  
-!       directories = glob_filename (d, dflags|GX_RECURSE);
-  
-        if (free_dirname)
-***************
-*** 1333,1336 ****
---- 1352,1369 ----
-         return (NULL);
-       }
-+       /* If we have a directory name with quoted characters, and we are
-+       being called recursively to glob the directory portion of a pathname,
-+       we need to dequote the directory name before returning it so the
-+       caller can read the directory */
-+       if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0)
-+      {
-+        dequote_pathname (directory_name);
-+        directory_len = strlen (directory_name);
-+      }
-+ 
-+       /* We could check whether or not the dequoted directory_name is a
-+       directory and return it here, returning the original directory_name
-+       if not, but we don't do that yet. I'm not sure it matters. */
-+ 
-        /* Handle GX_MARKDIRS here. */
-        result[0] = (char *) malloc (directory_len + 1);
-*** a/pathexp.c        2018-04-29 17:44:48.000000000 -0400
---- b/pathexp.c        2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-          globbing. */
-       case '\\':
-!        return (*string != 0);
-                 
-       case CTLESC:
---- 101,112 ----
-          globbing. */
-       case '\\':
-!        if (*string != '\0' && *string != '/')
-!          {
-!            bsquote = 1;
-!            string++;
-!            continue;
-!          }
-!        else if (*string == 0)
-!          return (0);
-                 
-       case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** a/bashline.c       2019-01-16 16:13:21.000000000 -0500
---- b/bashline.c       2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-       case '\\':
-!        if (*string == 0)
-           return (0);           
-       }
---- 3766,3770 ----
-  
-       case '\\':
-!        if (*string++ == 0)
-           return (0);           
-       }
-*** a/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/utils/bash/patches/103-bash51-003.patch b/utils/bash/patches/103-bash51-003.patch
new file mode 100644 (file)
index 0000000..72c251b
--- /dev/null
@@ -0,0 +1,43 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.1
+Patch-ID:      bash51-003
+
+Bug-Reported-by:       oguzismailuysal@gmail.com
+Bug-Reference-ID:      <CAH7i3LpG91BnNcDtaTUm2Ph7a+PnJkuh6nAc87cVL7_38tOaMQ@mail.gmail.com>
+Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00050.html
+
+Bug-Description:
+
+Bash does not put a command substitution process that is started to perform an
+expansion in a child process into the right process group where it can receive
+keyboard-generated signals.
+
+Patch (apply with `patch -p0'):
+
+--- a/subst.c
++++ b/subst.c
+@@ -6356,8 +6356,10 @@ command_substitute (string, quoted, flag
+ #if defined (JOB_CONTROL)
+   old_pipeline_pgrp = pipeline_pgrp;
+-  /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */
+-  if ((subshell_environment & SUBSHELL_PIPE) == 0)
++  /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or
++     we've already forked to run a disk command (and are expanding redirections,
++     for example). */
++  if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0)
+     pipeline_pgrp = shell_pgrp;
+   cleanup_the_pipeline ();
+ #endif /* JOB_CONTROL */
+--- a/patchlevel.h
++++ b/patchlevel.h
+@@ -25,6 +25,6 @@
+    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
+    looks for to find the patch level (for the sccs version string). */
+-#define PATCHLEVEL 2
++#define PATCHLEVEL 3
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/104-bash50-004.patch b/utils/bash/patches/104-bash50-004.patch
deleted file mode 100644 (file)
index fd4d0d7..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-004
-
-Bug-Reported-by:       Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:      <87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** a/jobs.c   2018-12-06 11:44:34.000000000 -0500
---- b/jobs.c   2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** a/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/utils/bash/patches/104-bash51-004.patch b/utils/bash/patches/104-bash51-004.patch
new file mode 100644 (file)
index 0000000..218b843
--- /dev/null
@@ -0,0 +1,114 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.1
+Patch-ID:      bash51-004
+
+Bug-Reported-by:       oguzismailuysal@gmail.com
+Bug-Reference-ID:      <CAH7i3LoHGmwaghDpCWRUfcY04gQmeDTH3RiG=bf2b=KbU=gyhw@mail.gmail.com>
+Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00039.html
+
+Bug-Description:
+
+If a key-value compound array assignment to an associative array is supplied
+as an assignment statement argument to the `declare' command that declares the
+array, the assignment doesn't perform the correct word expansions.
+
+This patch makes key-value assignment and subscript assignment perform the
+same expansions when they're supplied as an argument to `declare'.
+
+Patch (apply with `patch -p0'):
+
+--- a/arrayfunc.c
++++ b/arrayfunc.c
+@@ -597,6 +597,27 @@ assign_assoc_from_kvlist (var, nlist, h,
+       free (aval);
+     }
+ }
++
++/* Return non-zero if L appears to be a key-value pair associative array
++   compound assignment. */ 
++int
++kvpair_assignment_p (l)
++     WORD_LIST *l;
++{
++  return (l && (l->word->flags & W_ASSIGNMENT) == 0 && l->word->word[0] != '[');      /*]*/
++}
++
++char *
++expand_and_quote_kvpair_word (w)
++     char *w;
++{
++  char *t, *r;
++
++  t = w ? expand_assignment_string_to_string (w, 0) : 0;
++  r = sh_single_quote (t ? t : "");
++  free (t);
++  return r;
++}
+ #endif
+      
+ /* Callers ensure that VAR is not NULL. Associative array assignments have not
+@@ -640,7 +661,7 @@ assign_compound_array_list (var, nlist,
+   last_ind = (a && (flags & ASS_APPEND)) ? array_max_index (a) + 1 : 0;
+ #if ASSOC_KVPAIR_ASSIGNMENT
+-  if (assoc_p (var) && nlist && (nlist->word->flags & W_ASSIGNMENT) == 0 && nlist->word->word[0] != '[')      /*]*/
++  if (assoc_p (var) && kvpair_assignment_p (nlist))
+     {
+       iflags = flags & ~ASS_APPEND;
+       assign_assoc_from_kvlist (var, nlist, nhash, iflags);
+--- a/arrayfunc.h
++++ b/arrayfunc.h
+@@ -67,6 +67,9 @@ extern SHELL_VAR *assign_array_var_from_
+ extern char *expand_and_quote_assoc_word PARAMS((char *, int));
+ extern void quote_compound_array_list PARAMS((WORD_LIST *, int));
++extern int kvpair_assignment_p PARAMS((WORD_LIST *));
++extern char *expand_and_quote_kvpair_word PARAMS((char *));
++
+ extern int unbind_array_element PARAMS((SHELL_VAR *, char *, int));
+ extern int skipsubscript PARAMS((const char *, int, int));
+--- a/subst.c
++++ b/subst.c
+@@ -11604,6 +11604,7 @@ expand_oneword (value, flags)
+ {
+   WORD_LIST *l, *nl;
+   char *t;
++  int kvpair;
+   
+   if (flags == 0)
+     {
+@@ -11618,11 +11619,21 @@ expand_oneword (value, flags)
+     {
+       /* Associative array */
+       l = parse_string_to_word_list (value, 1, "array assign");
++#if ASSOC_KVPAIR_ASSIGNMENT
++      kvpair = kvpair_assignment_p (l);
++#endif
++
+       /* For associative arrays, with their arbitrary subscripts, we have to
+        expand and quote in one step so we don't have to search for the
+        closing right bracket more than once. */
+       for (nl = l; nl; nl = nl->next)
+       {
++#if ASSOC_KVPAIR_ASSIGNMENT
++        if (kvpair)
++          /* keys and values undergo the same set of expansions */
++          t = expand_and_quote_kvpair_word (nl->word->word);
++        else
++#endif
+         if ((nl->word->flags & W_ASSIGNMENT) == 0)
+           t = sh_single_quote (nl->word->word ? nl->word->word : "");
+         else
+--- a/patchlevel.h
++++ b/patchlevel.h
+@@ -25,6 +25,6 @@
+    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
+    looks for to find the patch level (for the sccs version string). */
+-#define PATCHLEVEL 3
++#define PATCHLEVEL 4
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/105-bash50-005.patch b/utils/bash/patches/105-bash50-005.patch
deleted file mode 100644 (file)
index 3bdce4c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-005
-
-Bug-Reported-by:       Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:      <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** a/command.h        2018-07-20 21:16:31.000000000 -0400
---- b/command.h        2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE     0x2000
-  #define CMD_STDPATH      0x4000      /* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000   /* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** a/builtins/evalstring.c    2018-12-26 11:19:21.000000000 -0500
---- b/builtins/evalstring.c    2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+        (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+        command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-                 command->value.Simple->flags |= CMD_NO_FORK;
-               }
-!            else if (command->type == cm_connection)
-!              optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-                 command->value.Simple->flags |= CMD_NO_FORK;
-               }
-! 
-!            /* Can't optimize forks out here execept for simple commands.
-!               This knows that the parser sets up commands as left-side heavy
-!               (&& and || are left-associative) and after the single parse,
-!               if we are at the end of the command string, the last in a
-!               series of connection commands is
-!               command->value.Connection->second. */
-!            else if (command->type == cm_connection && can_optimize_connection (command))
-!              {
-!                command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-!                command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-!              }
-  #endif /* ONESHOT */
-  
-*** a/execute_cmd.c    2018-12-05 09:05:14.000000000 -0500
---- b/execute_cmd.c    2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-          (exec_result != EXECUTION_SUCCESS)))
-       {
-+        optimize_fork (command);
-+ 
-         second = command->value.Connection->second;
-         if (ignore_return && second)
-*** a/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/utils/bash/patches/106-bash50-006.patch b/utils/bash/patches/106-bash50-006.patch
deleted file mode 100644 (file)
index 8812845..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-006
-
-Bug-Reported-by:       Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:      <CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** a/builtins/shopt.def       2018-10-05 14:49:02.000000000 -0400
---- b/builtins/shopt.def       2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/107-bash50-007.patch b/utils/bash/patches/107-bash50-007.patch
deleted file mode 100644 (file)
index 05b7141..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-007
-
-Bug-Reported-by:       Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:      <CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** a/jobs.c   2018-12-06 11:44:34.000000000 -0500
---- b/jobs.c   2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-!      give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/108-bash50-008.patch b/utils/bash/patches/108-bash50-008.patch
deleted file mode 100644 (file)
index 25d1e69..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-008
-
-Bug-Reported-by:       Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:      <87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** a/bashhist.c       2018-07-05 22:41:14.000000000 -0400
---- b/bashhist.c       2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-        command, decrease history_length so references to history expansions
-        in these lines refer to the previous history entry and not the
-        current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-        command, decrease history_length so references to history expansions
-        in these lines refer to the previous history entry and not the
-        current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/109-bash50-009.patch b/utils/bash/patches/109-bash50-009.patch
deleted file mode 100644 (file)
index ac02be6..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-009
-
-Bug-Reported-by:       chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** a/lib/readline/histfile.c  2018-06-11 09:14:52.000000000 -0400
---- b/lib/readline/histfile.c  2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;      /* don't waste time if we don't have to */
-      }
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/110-bash50-010.patch b/utils/bash/patches/110-bash50-010.patch
deleted file mode 100644 (file)
index 1dfe39f..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-010
-
-Bug-Reported-by:       Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:      <156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:     https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** a/variables.c      2018-12-18 11:07:21.000000000 -0500
---- b/variables.c      2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar; /* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** a/tests/varenv.right       2018-12-17 15:39:48.000000000 -0500
---- b/tests/varenv.right       2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/111-bash50-011.patch b/utils/bash/patches/111-bash50-011.patch
deleted file mode 100644 (file)
index 10611aa..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-011
-
-Bug-Reported-by:       Matt Whitlock
-Bug-Reference-ID:      
-Bug-Reference-URL:     https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** a/subst.c  2018-12-22 17:43:37.000000000 -0500
---- b/subst.c  2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)                      /* LHS */
-       {
-+        if (l->word)
-+          word_list_remove_quoted_nulls (l);
-         dequote_list (l);
-         r = string_list (l);
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/112-bash50-012.patch b/utils/bash/patches/112-bash50-012.patch
deleted file mode 100644 (file)
index 7812879..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-012
-
-Bug-Reported-by:       lessbug@qq.com
-Bug-Reference-ID:      <tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** a/lib/readline/misc.c      2017-07-07 17:30:12.000000000 -0400
---- b/lib/readline/misc.c      2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/113-bash50-013.patch b/utils/bash/patches/113-bash50-013.patch
deleted file mode 100644 (file)
index b933e22..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-013
-
-Bug-Reported-by:       HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:      <CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** a/lib/readline/histfile.c  2018-06-11 09:14:52.000000000 -0400
---- b/lib/readline/histfile.c  2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-       if (HIST_TIMESTAMP_START(p) == 0)
-         current_line++;
-+      else
-+        last_ts = p;
-       line_start = p;
-+      /* If we are at the last line (current_line == from) but we have
-+         timestamps (has_timestamps), then line_start points to the
-+         text of the last command, and we need to skip to its end. */
-+      if (current_line >= from && has_timestamps)
-+        {
-+          for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+            ;
-+          line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+        }
-        }
-  
-
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/114-bash50-014.patch b/utils/bash/patches/114-bash50-014.patch
deleted file mode 100644 (file)
index 05f9d31..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-014
-
-Bug-Reported-by:       Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:      <20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** a/bashline.c       2019-01-16 16:13:21.000000000 -0500
---- b/bashline.c       2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-        finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-!      {
-!        current_command_line_count++; /* for rl_newline above */
-!        bash_add_history (rl_line_buffer);
-!      }
-        current_command_line_count = 0;        /* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-        finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;  /* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;        /* for dummy history entry */
-        bash_add_history ("");
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/115-bash50-015.patch b/utils/bash/patches/115-bash50-015.patch
deleted file mode 100644 (file)
index c4cbefe..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-015
-
-Bug-Reported-by:       Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:      <CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** a/builtins/evalstring.c    2019-01-29 14:15:19.000000000 -0500
---- b/builtins/evalstring.c    2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-         running_trap == 0 &&
-         *bash_input.location.string == '\0' &&
-+        parser_expanding_alias () == 0 &&
-         command->type == cm_simple &&
-         signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+        parser_expanding_alias () == 0 &&
-         (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-         command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))              /* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/116-bash50-016.patch b/utils/bash/patches/116-bash50-016.patch
deleted file mode 100644 (file)
index 46aad0e..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-016
-
-Bug-Reported-by:       sunnycemetery@gmail.com
-Bug-Reference-ID:      <20190316041534.GB22884@midnight>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** a/execute_cmd.c    2019-04-19 15:46:36.000000000 -0400
---- b/execute_cmd.c    2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** a/patchlevel.h     2016-06-22 14:51:03.000000000 -0400
---- b/patchlevel.h     2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/utils/bash/patches/117-bash50-017.patch b/utils/bash/patches/117-bash50-017.patch
deleted file mode 100644 (file)
index 5facd4d..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-017
-
-Bug-Reported-by:       Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:      <ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:     https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** a/subst.c  2019-08-29 11:16:49.000000000 -0400
---- b/subst.c  2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-       if (fifo_list[i].file)
-         {
-!          fifo_list[j].file = fifo_list[i].file;
-!          fifo_list[j].proc = fifo_list[i].proc;
-           j++;
-         }
---- 5409,5419 ----
-       if (fifo_list[i].file)
-         {
-!          if (i != j)
-!            {
-!              fifo_list[j].file = fifo_list[i].file;
-!              fifo_list[j].proc = fifo_list[i].proc;
-!              fifo_list[i].file = (char *)NULL;
-!              fifo_list[i].proc = 0;
-!            }
-           j++;
-         }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-       *sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-       *sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** a/subst.h  2018-10-21 18:46:09.000000000 -0400
---- b/subst.h  2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** a/execute_cmd.c    2020-02-06 20:16:48.000000000 -0500
---- b/execute_cmd.c    2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0) /* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-!      add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-!      close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-!      close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** a/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 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
index 55e96fa0b49f185d185724fbadfb3014cb6d7df3..eda7f2d55b835d6c991f06eb8f8093feede15a50 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -791,10 +791,8 @@ loadables:
+@@ -798,10 +798,8 @@ loadables:
  #     $(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir)
  
  doc documentation:  force
index f15d9234dc61a8eed9ebaf2c5606e91d88ba74f8..c97054da159c0202ebaf48822f55d947e5579d68 100644 (file)
@@ -23,5 +23,5 @@
 -/* #define SSH_SOURCE_BASHRC */
 +#define SSH_SOURCE_BASHRC
  
- /* Define if you want the case-capitalizing operators (~[~]) and the
+ /* Define if you want the case-toggling operators (~[~]) and the
     `capcase' variable attribute (declare -c). */
index 8a011007cb2aa2a97cdfc6f484cd67beb5a44608..5d54d82830c0da4584b408eebb70811a8b1a708d 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=beep
 PKG_REV:=0d790fa45777896749a885c3b93b2c1476d59f20
 PKG_VERSION:=1.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/johnath/beep.git
@@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/beep
   SECTION:=sound
   CATEGORY:=Sound
-  DEPENDS:=@(PACKAGE_kmod-pcspkr||PACKAGE_kmod-gpio-beeper)
+  DEPENDS:=+TARGET_x86:kmod-pcspkr @!TARGET_x86:kmod-gpio-beeper
   TITLE:=Play beep sounds through a PC speaker
   URL:=http://johnath.com/beep/README
 endef
index e89e0728c6ee67af112481cf72a67b50e2e3d64a..6e6d6dfb6164c49a581590f56d202d003fe0dd77 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bonnie++
 PKG_VERSION:=1.98
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://www.coker.com.au/bonnie++/
index a26b64adb045a42e5f3a524295f60b1ae68951c3..37a99eba9ad530b937cbbd9067cb933159a37be3 100644 (file)
  
  bonnie++: $(BONOBJS)
 -      $(LINK) -o bonnie++ $(BONOBJS) $(THREAD_LFLAGS)
-+      $(CXX) $(CXXFLAGS) -o bonnie++ $(BONOBJS)
++      $(CXX) $(CXXFLAGS) -o bonnie++ $(BONOBJS) @thread_ldflags@
  
  zcav: $(ZCAVOBJS)
 -      $(LINK) -o zcav $(ZCAVOBJS) $(THREAD_LFLAGS)
-+      $(CXX) $(CXXFLAGS) -o zcav $(ZCAVOBJS)
++      $(CXX) $(CXXFLAGS) -o zcav $(ZCAVOBJS) @thread_ldflags@
  
  getc_putc: $(GETCOBJS) getc_putc_helper
 -      $(LINK) -o getc_putc $(GETCOBJS) $(THREAD_LFLAGS)
index db9c61d29002e18d99bfc70aafb68d94ad4a00a0..0fb81b234fd85cd038246ec2652637570fd2799b 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cni-plugins
-PKG_VERSION:=0.8.7
-PKG_RELEASE:=2
+PKG_VERSION:=0.9.0
+PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containernetworking/plugins/archive/v$(PKG_VERSION)
-PKG_HASH:=de9fa170b4b6d38f6ff5287b313ddaf3c31f70bccb10e971ad59adadae22dd74
+PKG_HASH:=54abd2fb7762943ff57832dfba19de12db09f0a0f8e69b31f1a2bb2baca395e7
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>, Paul Spooren <mail@aparcar.org>
 
index 6c9b6e1eb1d8edf70466d38c739aeabbda5e0a19..01cc944e1029bcbc453560d25c5b1974ca326ee6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=collectd
 PKG_VERSION:=5.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://collectd.org/files/ \
@@ -144,6 +144,7 @@ COLLECTD_PLUGINS_SELECTED:= \
        csv \
        curl \
        df \
+       dhcpleases \
        disk \
        dns \
        email \
@@ -408,6 +409,7 @@ $(eval $(call BuildPlugin,csv,CSV output,csv,))
 $(eval $(call BuildPlugin,curl,cURL input,curl,+PACKAGE_collectd-mod-curl:libcurl))
 #$(eval $(call BuildPlugin,dbi,relational database input,dbi,+PACKAGE_collectd-mod-dbi:libdbi))
 $(eval $(call BuildPlugin,df,disk space input,df,))
+$(eval $(call BuildPlugin,dhcpleases,show dhcpleases,dhcpleases,))
 $(eval $(call BuildPlugin,disk,disk usage/timing input,disk,))
 $(eval $(call BuildPlugin,dns,DNS traffic input,dns,+PACKAGE_collectd-mod-dns:libpcap))
 $(eval $(call BuildPlugin,email,email output,email,))
diff --git a/utils/collectd/patches/930-dhcpleases-add-dhcpleases-plugin.patch b/utils/collectd/patches/930-dhcpleases-add-dhcpleases-plugin.patch
new file mode 100644 (file)
index 0000000..8db3c1d
--- /dev/null
@@ -0,0 +1,186 @@
+From: Nick Hainke <vincent@systemli.org>
+Date: Mon, 7 Dec 2020 23:07:30 +0100
+Subject: [PATCH] dhcpleases: add dhcpleases plugin
+
+Changelog: dhcpleases: add plugin for counting current dhcp leases
+
+The plugin is useful for the Freifunk Community. Currently, we use
+the exec-plugin. With that dhcpleases plugin we have native collectd
+support to measure this important statistic.
+
+Signed-off-by: Nick Hainke <vincent@systemli.org>
+---
+ Makefile.am          |  6 ++++
+ README               |  3 ++
+ configure.ac         |  2 ++
+ src/collectd.conf.in |  5 +++
+ src/dhcpleases.c     | 83 ++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 99 insertions(+)
+ create mode 100644 src/dhcpleases.c
+
+diff --git a/Makefile.am b/Makefile.am
+index 00947da0..5ee76a00 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -963,6 +963,12 @@ df_la_LDFLAGS = $(PLUGIN_LDFLAGS)
+ df_la_LIBADD = libignorelist.la libmount.la
+ endif
++if BUILD_PLUGIN_DHCPLEASES
++pkglib_LTLIBRARIES += dhcpleases.la
++dhcpleases_la_SOURCES = src/dhcpleases.c
++dhcpleases_la_LDFLAGS = $(PLUGIN_LDFLAGS)
++endif
++
+ if BUILD_PLUGIN_DISK
+ pkglib_LTLIBRARIES += disk.la
+ disk_la_SOURCES = src/disk.c
+diff --git a/README b/README
+index e42e9c24..dd104408 100644
+--- a/README
++++ b/README
+@@ -106,6 +106,9 @@ Features
+       Disk utilization: Sectors read/written, number of read/write actions,
+       average time an IO-operation took to complete.
++    - dhcpleases
++      Collect number of current dhcp leases.
++
+     - dns
+       DNS traffic: Query types, response codes, opcodes and traffic/octets
+       transferred.
+diff --git a/configure.ac b/configure.ac
+index bcfb8cf5..6c2b6574 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7061,6 +7061,7 @@ AC_PLUGIN([curl_xml],            [$plugin_curl_xml],          [CURL generic xml
+ AC_PLUGIN([dbi],                 [$with_libdbi],              [General database statistics])
+ AC_PLUGIN([dcpmm],               [$with_libpmwapi],           [Intel(R) Optane(TM) DC Persistent Memory performance and health statistics])
+ AC_PLUGIN([df],                  [$plugin_df],                [Filesystem usage statistics])
++AC_PLUGIN([dhcpleases],          [yes],                       [DHCP Leases])
+ AC_PLUGIN([disk],                [$plugin_disk],              [Disk usage statistics])
+ AC_PLUGIN([dns],                 [$with_libpcap],             [DNS traffic analysis])
+ AC_PLUGIN([dpdkevents],          [$plugin_dpdkevents],        [Events from DPDK])
+@@ -7508,6 +7509,7 @@ AC_MSG_RESULT([    curl_xml  . . . . . . $enable_curl_xml])
+ AC_MSG_RESULT([    dbi . . . . . . . . . $enable_dbi])
+ AC_MSG_RESULT([    dcpmm  . . . . . .  . $enable_dcpmm])
+ AC_MSG_RESULT([    df  . . . . . . . . . $enable_df])
++AC_MSG_RESULT([    dhcpleases. . . . . . $enable_dhcpleases])
+ AC_MSG_RESULT([    disk  . . . . . . . . $enable_disk])
+ AC_MSG_RESULT([    dns . . . . . . . . . $enable_dns])
+ AC_MSG_RESULT([    dpdkevents. . . . . . $enable_dpdkevents])
+diff --git a/src/collectd.conf.in b/src/collectd.conf.in
+index 562a55d9..94659e81 100644
+--- a/src/collectd.conf.in
++++ b/src/collectd.conf.in
+@@ -119,6 +119,7 @@
+ #@BUILD_PLUGIN_DBI_TRUE@LoadPlugin dbi
+ #@BUILD_PLUGIN_DCPMM_TRUE@LoadPlugin dcpmm
+ #@BUILD_PLUGIN_DF_TRUE@LoadPlugin df
++#@BUILD_PLUGIN_DHCPLEASES_TRUE@LoadPlugin dhcpleases
+ #@BUILD_PLUGIN_DISK_TRUE@LoadPlugin disk
+ #@BUILD_PLUGIN_DNS_TRUE@LoadPlugin dns
+ #@BUILD_PLUGIN_DPDKEVENTS_TRUE@LoadPlugin dpdkevents
+@@ -689,6 +690,10 @@
+ #     SelectNumericQueryTypes true
+ #</Plugin>
++#<Plugin dhcpleases>
++#     Path "/tmp/dhcp.leases"
++#</Plugin>
++
+ #<Plugin "dpdkevents">
+ #  <EAL>
+ #    Coremask "0x1"
+diff --git a/src/dhcpleases.c b/src/dhcpleases.c
+new file mode 100644
+index 00000000..f43d62bf
+--- /dev/null
++++ b/src/dhcpleases.c
+@@ -0,0 +1,83 @@
++#include <errno.h>
++#include <stdio.h>
++
++#include "utils/common/common.h"
++
++#include "configfile.h"
++#include "plugin.h"
++
++static char *dhcp_lease_file;
++
++static const char *config_keys[] = {
++    "Path",
++};
++static int config_keys_num = STATIC_ARRAY_SIZE(config_keys);
++
++/* copied from ping.c plugin */
++static int config_set_string(const char *name, /* {{{ */
++                             char **var, const char *value) {
++  char *tmp;
++
++  tmp = strdup(value);
++  if (tmp == NULL) {
++    ERROR("dhcpleases plugin: Setting `%s' to `%s' failed: strdup failed: %s", name,
++          value, STRERRNO);
++    return 1;
++  }
++
++  if (*var != NULL)
++    free(*var);
++  *var = tmp;
++  return 0;
++} /* }}} int config_set_string */
++
++static int dhcpleases_config(const char *key, const char *value) {
++  if (strcasecmp(key, "Path") == 0) {
++    int status = config_set_string(key, &dhcp_lease_file, value);
++    if (status != 0)
++      return status;
++  }
++  return 0;
++}
++
++static void dhcpleases_submit(gauge_t counter) {
++  value_list_t vl = VALUE_LIST_INIT;
++  value_t values[] = {
++      {.gauge = counter},
++  };
++
++  vl.values = values;
++  vl.values_len = STATIC_ARRAY_SIZE(values);
++
++  sstrncpy(vl.plugin, "dhcpleases", sizeof(vl.plugin));
++  sstrncpy(vl.type, "count", sizeof(vl.type));
++
++  plugin_dispatch_values(&vl);
++}
++
++static int dhcp_leases_read(void) {
++
++  FILE *fh;
++  char buffer[1024];
++  gauge_t count = 0;
++
++  if ((fh = fopen(dhcp_lease_file, "r")) == NULL) {
++    WARNING("interface plugin: fopen: %s", STRERRNO);
++    return -1;
++  }
++
++  while (fgets(buffer, 1024, fh) != NULL) {
++    count++;
++  }
++  fclose(fh);
++
++  dhcpleases_submit(count);
++
++  return 0;
++}
++
++void module_register(void) {
++  plugin_register_config("dhcpleases", dhcpleases_config, config_keys,
++                         config_keys_num);
++  plugin_register_read("dhcpleases", dhcp_leases_read);
++}
+-- 
+2.29.2
+
index e232684ec6fdc7d24f54d844a945fb7da9b41f3d..682bd8ed5e6d527ba08a214a27792eb6ac01f44c 100644 (file)
@@ -1,17 +1,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=conmon
-PKG_VERSION:=2.0.21
-PKG_RELEASE:=1
+PKG_VERSION:=2.0.22
+PKG_RELEASE:=3
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=03c357c2ee35317e781111d59c4f3fb34033e77a17a8f4221f2ed6d3bcc10c25
+PKG_HASH:=41181db43c544cdd1a31aa851286e8c09a825879656f00f6adde431830893983
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 
+PKG_BUILD_DEPENDS:=golang/host
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
index 2811a84fd2dfc82edb32387751eff77eb5aa8d82..e311cd064b432750b0e0eaacec0d226d6def6377 100644 (file)
@@ -1,15 +1,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=containerd
-PKG_VERSION:=1.3.7
+PKG_VERSION:=1.4.3
 PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/containerd/containerd/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=d30d59e143697aa4f0960205b3f5ac59c573b332f20507740ef2dc0fb5ae8ded
-PKG_SOURCE_VERSION:=8fba4e9a7d01810a393d5d25a3621dc101981175
+PKG_HASH:=bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018
+PKG_SOURCE_VERSION:=269548fa27e0089a8b8278fc4fc781d7f65a939b
 
 PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
 
@@ -22,23 +22,12 @@ GO_PKG:=github.com/containerd/containerd
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/golang/golang-package.mk
 
-define Package/containerd/config
-config CONTAINERD_SECCOMP
-       depends on PACKAGE_containerd
-       bool "Enable support for seccomp in containerd"
-       default DOCKER_SECCOMP
-       select KERNEL_SECCOMP
-       help
-         Build containerd with support for seccomp filters.
-         Also pulls-in the needed kernel features.
-endef
-
 define Package/containerd
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=containerd container runtime
   URL:=https://containerd.io/
-  DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +runc +libseccomp
+  DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +runc
   MENU:=1
 endef
 
@@ -53,8 +42,8 @@ MAKE_FLAGS += \
        VERSION=$(PKG_VERSION) \
        REVISION=$(PKG_SOURCE_VERSION)
 
-ifeq ($(CONFIG_CONTAINERD_SECCOMP),y)
-MAKE_FLAGS += BUILDTAGS='seccomp'
+ifeq ($(CONFIG_SELINUX),y)
+MAKE_FLAGS += BUILDTAGS='selinux'
 else
 MAKE_FLAGS += BUILDTAGS=''
 endif
@@ -64,7 +53,7 @@ Build/Compile=$(call Build/Compile/Default)
 
 define Package/containerd/install
        $(INSTALL_DIR) $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/{ctr,containerd,containerd-stress,containerd-shim} $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/{ctr,containerd,containerd-stress,containerd-shim,containerd-shim-runc-v1,containerd-shim-runc-v2} $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,containerd))
index a18bd982049727859a61dd78acf2888032f17442..bf7394f10cee8ecaaac3a55782dbbb8f80014ba4 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=coremark
-PKG_SOURCE_DATE:=2020-09-16
-PKG_SOURCE_VERSION:=41537ea30b0104438b4ff993e7d349af26900acf
-PKG_RELEASE:=2
+PKG_SOURCE_DATE:=2020-12-17
+PKG_SOURCE_VERSION:=5e0f662ce709f1af8d272bd8d3960034603d3850
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/eembc/coremark/tar.gz/$(PKG_SOURCE_VERSION)?
-PKG_HASH:=ebbaa7463084b3261438b9b378c1968532156f7fb90bf3f94f45f0b0b817e181
+PKG_HASH:=fb0a2ee2113322eb976fa521d0ac033a997e0097185c2c2325d84ca94a7f5a6d
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
 
 PKG_MAINTAINER:=Lim Guo Wei <limguowei@gmail.com>
index 62cb51fadfc67b6db444d52e3a3cbed08e9a0310..157a2496f1115bc449d430632a431ddee295b2ea 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=coreutils
 PKG_VERSION:=8.32
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/coreutils
@@ -56,9 +56,9 @@ DIR_OTHERS := \
        base32 b2sum basenc csplit dir dircolors fmt join numfmt pathchk pinky  \
        pr ptx sha224sum sha384sum stdbuf tsort vdir
 
-$(eval $(foreach a,$(DIR_BIN),ALTS_$(a):=300:/bin/$(a):/usr/bin/gnu-$(a)$(newline)))
-$(eval $(foreach a,$(DIR_USR_BIN),ALTS_$(a):=300:/usr/bin/$(a):/usr/bin/gnu-$(a)$(newline)))
-$(eval $(foreach a,$(DIR_USR_SBIN),ALTS_$(a):=300:/usr/sbin/$(a):/usr/bin/gnu-$(a)$(newline)))
+$(eval $(foreach a,$(DIR_BIN),ALTS_$(a):=300:/bin/$(a):/usr/libexec/$(a)-coreutils$(newline)))
+$(eval $(foreach a,$(DIR_USR_BIN),ALTS_$(a):=300:/usr/bin/$(a):/usr/libexec/$(a)-coreutils$(newline)))
+$(eval $(foreach a,$(DIR_USR_SBIN),ALTS_$(a):=300:/usr/sbin/$(a):/usr/libexec/$(a)-coreutils$(newline)))
 
 DEPENDS_sort = +libpthread
 DEPENDS_timeout = +librt
@@ -137,8 +137,8 @@ endef
 
 define BuildPlugin
   define Package/$(1)/install
-       $(INSTALL_DIR) $$(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/bin/$(if $(ALTS_$(2)),gnu-$(2),$(2))
+       $(INSTALL_DIR) $$(1)/usr/$(if $(ALTS_$(2)),libexec,bin)
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/$(if $(ALTS_$(2)),libexec/$(2)-coreutils,bin/$(2))
        $(foreach f,$(FILES_$(2)),
                $(INSTALL_DIR) $$(1)/$(dir $(f))
                $(INSTALL_BIN) $(PKG_INSTALL_DIR)/$(f) $$(1)/$(f)
index 6683f291dc23971d44f4ad94f69f3dc49cbd3db4..283181bbfe873e3da9fcb37de37e52e3aedbb4df 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=crelay
 PKG_VERSION:=0.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ondrej1024/crelay/tar.gz/V$(PKG_VERSION)?
diff --git a/utils/crelay/patches/011-support-gpio-with-number-bigger-than-255.patch b/utils/crelay/patches/011-support-gpio-with-number-bigger-than-255.patch
new file mode 100644 (file)
index 0000000..dbc4433
--- /dev/null
@@ -0,0 +1,92 @@
+From 30a2323bc0a95cda4eca818fe1d523a2e5c031f3 Mon Sep 17 00:00:00 2001
+From: Pawel Dembicki <paweldembicki@gmail.com>
+Date: Mon, 2 Nov 2020 14:50:34 +0100
+Subject: [PATCH] support gpio with number bigger than 255
+
+Change 8-bit gpio value to 16-bit, which allow to use gpio >255.
+
+Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
+---
+ src/data_types.h     | 16 ++++++++--------
+ src/relay_drv_gpio.c | 10 +++++-----
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/src/data_types.h b/src/data_types.h
+index f13baeb..d4dc7b1 100644
+--- a/src/data_types.h
++++ b/src/data_types.h
+@@ -56,14 +56,14 @@ typedef struct
+     /* [GPIO drv] */
+     uint8_t gpio_num_relays;
+     uint8_t gpio_active_value;
+-    uint8_t relay1_gpio_pin;
+-    uint8_t relay2_gpio_pin;
+-    uint8_t relay3_gpio_pin;
+-    uint8_t relay4_gpio_pin;
+-    uint8_t relay5_gpio_pin;
+-    uint8_t relay6_gpio_pin;
+-    uint8_t relay7_gpio_pin;
+-    uint8_t relay8_gpio_pin;
++    uint16_t relay1_gpio_pin;
++    uint16_t relay2_gpio_pin;
++    uint16_t relay3_gpio_pin;
++    uint16_t relay4_gpio_pin;
++    uint16_t relay5_gpio_pin;
++    uint16_t relay6_gpio_pin;
++    uint16_t relay7_gpio_pin;
++    uint16_t relay8_gpio_pin;
+     
+     /* [Sainsmart drv] */
+     uint8_t sainsmart_num_relays;
+diff --git a/src/relay_drv_gpio.c b/src/relay_drv_gpio.c
+index 705c157..28464be 100644
+--- a/src/relay_drv_gpio.c
++++ b/src/relay_drv_gpio.c
+@@ -53,7 +53,7 @@
+ #define GPIO_BASE_FILE GPIO_BASE_DIR"gpio"
+-static uint8_t pins[] =
++static uint16_t pins[] =
+ {
+   0, // dummy
+   0, // pin 1
+@@ -85,7 +85,7 @@ int set_relay_generic_gpio(char* portname, uint8_t relay, relay_state_t relay_st
+  *         -1 - fail
+  *         -2 - already exported
+  *********************************************************/
+-static int do_export(uint8_t pin)
++static int do_export(uint16_t pin)
+ {
+    int fd;
+    char b[64];
+@@ -151,7 +151,7 @@ static int do_export(uint8_t pin)
+  * Return:  0 - success
+  *         -1 - fail
+  *********************************************************/
+-static int do_unexport(uint8_t pin)
++static int do_unexport(uint16_t pin)
+ {
+    int fd;
+    char b[64];
+@@ -261,7 +261,7 @@ int get_relay_generic_gpio(char* portname, uint8_t relay, relay_state_t* relay_s
+    int fd;
+    char b[64];
+    char d[1];
+-   uint8_t pin;
++   uint16_t pin;
+    if (relay<FIRST_RELAY || relay>(FIRST_RELAY+g_num_relays-1))
+    {
+@@ -324,7 +324,7 @@ int set_relay_generic_gpio(char* portname, uint8_t relay, relay_state_t relay_st
+    int fd;
+    char b[64];
+    char d[1];
+-   uint8_t pin;
++   uint16_t pin;
+    
+    if (relay<FIRST_RELAY || relay>(FIRST_RELAY+g_num_relays-1))
+    {
+-- 
+2.17.1
+
diff --git a/utils/docker-ce/Config.in b/utils/docker-ce/Config.in
deleted file mode 100644 (file)
index e10694f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-config DOCKER_KERNEL_OPTIONS
-       bool "Enable Basic kernel support for Docker"
-       depends on PACKAGE_docker-ce
-       default y
-       select KERNEL_CGROUPS
-       select KERNEL_CGROUP_CPUACCT
-       select KERNEL_CGROUP_DEVICE
-       select KERNEL_CGROUP_FREEZER
-       select KERNEL_CGROUP_SCHED
-       select KERNEL_NAMESPACES
-       select KERNEL_CPUSETS
-       select KERNEL_MEMCG
-       select KERNEL_KEYS
-       select KERNEL_POSIX_MQUEUE
-       help
-         Select needed kernel options for Docker. Options include
-         cgroups, namespaces and other miscellaneous options.
-         see also https://github.com/docker/engine/blob/master/contrib/check-config.sh
-
-config DOCKER_SECCOMP
-       bool "Enable support for seccomp in Docker"
-       depends on PACKAGE_docker-ce
-       default n
-       select KERNEL_SECCOMP
-       select PACKAGE_libseccomp
-       help
-         Build Docker with support for seccomp filters.
-         Select libseccomp which also pulls-in the needed kernel features.
-
-config DOCKER_RES_SHAPE
-       bool "Enables support for resource shaping"
-       depends on PACKAGE_docker-ce
-       default n
-       select KERNEL_MEMCG_SWAP
-       select KERNEL_MEMCG_SWAP_ENABLED
-       select KERNEL_BLK_DEV_THROTTLING
-       select KERNEL_CFQ_GROUP_IOSCHED
-       select KERNEL_CGROUP_PERF
-       select KERNEL_CGROUP_HUGETLB
-       select KERNEL_FAIR_GROUP_SCHED
-       select KERNEL_NET_CLS_CGROUP
-       select KERNEL_CGROUP_NET_CLASSID
-       select KERNEL_CGROUP_NET_PRIO
-       select KERNEL_CFS_BANDWIDTH
-       select KERNEL_RT_GROUP_SCHED
-
-menu "Network"
-       depends on PACKAGE_docker-ce
-
-       config DOCKER_NET_OVERLAY
-               bool "Enables the Overlay network feature"
-               default n
-               select PACKAGE_kmod-udptunnel4
-               help
-                 Selects kernel options for the Overlay network feature.
-                 Includes udptunnel4
-
-       config DOCKER_NET_ENCRYPT
-               bool "Enable encrypted networking kernel support"
-               depends on DOCKER_NET_OVERLAY
-               default n
-               select PACKAGE_kmod-ipsec
-               select PACKAGE_kmod-ipsec4
-               select PACKAGE_kmod-crypto-gcm
-               select PACKAGE_kmod-crypto-ghash
-               help
-                 Select needed kernel options for encrypted networking support.
-
-       config DOCKER_NET_MACVLAN
-               bool "Enables macvlan kernel support"
-               default n
-               select PACKAGE_kmod-macvlan
-               select PACKAGE_kmod-dummy
-
-       config DOCKER_NET_TFTP
-               bool "Enable ftp/tftp client kernel support"
-               default n
-               select PACKAGE_kmod-nf-nathelper
-               select PACKAGE_kmod-nf-nathelper-extra
-endmenu
-
-menu "Storage"
-       depends on PACKAGE_docker-ce
-
-       config DOCKER_STO_EXT4
-               bool "Enables support for ext3 or ext4 as the backing filesystem"
-               default n
-               select KERNEL_EXT4_FS_POSIX_ACL
-
-       config DOCKER_STO_BTRFS
-               bool "Enables support for btrfs as the backing filesystem"
-               default n
-               select PACKAGE_kmod-fs-btrfs
-               select KERNEL_BTRFS_FS_POSIX_ACL
-endmenu
diff --git a/utils/docker-ce/Makefile b/utils/docker-ce/Makefile
deleted file mode 100644 (file)
index e648bbc..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=docker-ce
-PKG_VERSION:=19.03.13
-PKG_RELEASE:=4
-PKG_LICENSE:=Apache-2.0
-PKG_LICENSE_FILES:=components/cli/LICENSE components/engine/LICENSE
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/docker/docker-ce/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b2ff08675738031b6d6d59a90226657c16726851957c11b5fb85a4598b933b92
-PKG_SOURCE_VERSION:=4484c46d9d # SHA1 used within the docker executables
-
-PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
-
-# $(1) = path to dependent package 'Makefile'
-# $(2) = relevant docker-ce '.installer' file
-define EnsureVendoredVersion
-       ( \
-               DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_SOURCE_VERSION:=)(.*)' "$(1)" ); \
-               VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_COMMIT:=)(.*)(?=})' "$(PKG_BUILD_DIR)/components/engine/hack/dockerfile/install/$(2)" ); \
-               if [ $$$$VEN_VER != $$$$DEP_VER ]; then \
-                       echo "ERROR: Expected 'PKG_SOURCE_VERSION:=$$$$VEN_VER' in '$(1)', found 'PKG_SOURCE_VERSION:=$$$$DEP_VER'"; \
-                       exit 1; \
-               fi \
-       )
-endef
-
-PKG_BUILD_DEPENDS:=golang/host
-PKG_BUILD_PARALLEL:=1
-
-GO_PKG:=github.com/docker
-
-include $(INCLUDE_DIR)/package.mk
-include ../../lang/golang/golang-package.mk
-
-define Package/docker-ce/config
-  source "$(SOURCE)/Config.in"
-endef
-
-define Package/docker-ce
-  SECTION:=utils
-  CATEGORY:=Utilities
-  TITLE:=Docker Community Edition
-  URL:=https://www.docker.com/
-  DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +ca-certificates +cgroupfs-mount +containerd +libdevmapper +libnetwork +tini \
-           +DOCKER_SECCOMP:libseccomp +iptables-mod-extra +kmod-br-netfilter +kmod-ikconfig +kmod-nf-conntrack-netlink +kmod-nf-ipvs +kmod-veth
-  USERID:=docker:docker
-  MENU:=1
-endef
-
-define Package/docker-ce/conffiles
-/etc/config/dockerd
-endef
-
-define Package/docker-ce/description
-  Docker Engine is used by millions enables containerized applications
-  to run anywhere consistently on any infrastructure.
-endef
-
-define Build/Prepare
-       $(Build/Prepare/Default)
-
-       # Verify dependencies are the vendored version
-       $(call EnsureVendoredVersion,../containerd/Makefile,containerd.installer)
-       $(call EnsureVendoredVersion,../libnetwork/Makefile,proxy.installer)
-       $(call EnsureVendoredVersion,../runc/Makefile,runc.installer)
-       $(call EnsureVendoredVersion,../tini/Makefile,tini.installer)
-endef
-
-define Build/Configure
-       # move so GoPackage/Build/Configure will get the correct path
-       mv $(PKG_BUILD_DIR)/components/engine $(PKG_BUILD_DIR)/
-       mv $(PKG_BUILD_DIR)/components/cli $(PKG_BUILD_DIR)/
-
-       # docker generates files at build time so we'll just symlink for now and call GoPackage/Build/Configure later
-       mkdir -p $(GO_PKG_BUILD_DIR)/bin \
-                        $(GO_PKG_BUILD_DIR)/src \
-                        $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/ \
-                        $(GO_BUILD_CACHE_DIR)
-       $(LN) $(PKG_BUILD_DIR)/cli $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/cli
-       $(LN) $(PKG_BUILD_DIR)/engine $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/docker
-endef
-
-ifeq ($(CONFIG_DOCKER_SECCOMP),y)
-BUILDTAGS:=seccomp
-else
-BUILDTAGS:=
-endif
-
-define Build/Compile
-       ( \
-               export $(GO_PKG_VARS) \
-                       GITCOMMIT=$(PKG_SOURCE_VERSION) \
-                       DOCKER_GITCOMMIT=$(PKG_SOURCE_VERSION) \
-                       DOCKER_BUILDTAGS='$(BUILDTAGS)' \
-                       VERSION=$(PKG_VERSION) \
-               \
-               && echo "Compiling CLI..." \
-               && cd $(PKG_BUILD_DIR)/cli \
-               && ./scripts/build/binary \
-               \
-               && echo "Compiling Engine..." \
-               && cd $(PKG_BUILD_DIR)/engine \
-               && ./hack/make.sh binary \
-       )
-
-       # done here to include autogenerated files also
-       rm $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/cli
-       rm $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/docker
-       $(call GoPackage/Build/Configure)
-endef
-
-define Package/docker-ce/install
-       $(INSTALL_DIR) $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/cli/build/docker $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/engine/bundles/binary-daemon/dockerd $(1)/usr/bin/
-
-       $(INSTALL_DIR) $(1)/opt/docker/
-       $(INSTALL_DIR) $(1)/usr/share/docker/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/engine/contrib/check-config.sh $(1)/usr/share/docker/
-
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/dockerd.init $(1)/etc/init.d/dockerd
-
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_CONF) ./files/etc/config/dockerd $(1)/etc/config/dockerd
-
-       # Must be after systcl 11-br-netfilter.conf from kmod-br-netfilter
-       $(INSTALL_DIR) $(1)/etc/sysctl.d
-       $(INSTALL_DATA) ./files/etc/sysctl.d/sysctl-br-netfilter-ip.conf \
-               $(1)/etc/sysctl.d/12-br-netfilter-ip.conf
-endef
-
-define Package/docker-ce/postinst
-#!/bin/sh
-[ -n "$$IPKG_INSTROOT" ] || {
-       /etc/init.d/dockerd enable
-       /etc/init.d/dockerd uciadd
-       /etc/init.d/dockerd start
-}
-endef
-
-define Package/docker-ce/prerm
-#!/bin/sh
-[ -n "$$IPKG_INSTROOT" ] || {
-       /etc/init.d/dockerd disable
-       /etc/init.d/dockerd stop
-       /etc/init.d/dockerd ucidel
-}
-endef
-
-$(eval $(call BuildPackage,docker-ce))
diff --git a/utils/docker-ce/files/dockerd.init b/utils/docker-ce/files/dockerd.init
deleted file mode 100755 (executable)
index f5388c0..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/bin/sh /etc/rc.common
-
-USE_PROCD=1
-START=25
-
-extra_command "uciadd" "<interface> <device> <zone> Add docker bridge configuration to network and firewall uci config"
-extra_command "ucidel" "<interface> <device> <zone> Delete docker bridge configuration from network and firewall uci config"
-
-DOCKER_CONF_DIR="/tmp/dockerd"
-DOCKERD_CONF="${DOCKER_CONF_DIR}/daemon.json"
-
-uci_quiet() {
-       uci -q "${@}" >/dev/null
-}
-
-json_add_array_string() {
-       json_add_string "" "${1}"
-}
-
-boot() {
-       uciadd
-       rc_procd start_service
-}
-
-uciadd() {
-       local iface="$1"
-       local device="$2"
-       local zone="$3"
-
-       [ -z "$iface" ] && {
-               iface="docker"
-               device="docker0"
-               zone="docker"
-       }
-
-       /etc/init.d/dockerd running && {
-               echo "Please stop dockerd service first"
-               exit 0
-       }
-
-       # Add network interface
-       if ! uci_quiet get network.${iface}; then
-               logger -t "dockerd-init" -p notice "Adding docker default interface to network uci config (${iface})"
-               uci_quiet add network interface
-               uci_quiet rename network.@interface[-1]="${iface}"
-               uci_quiet set network.@interface[-1].ifname="${device}"
-               uci_quiet set network.@interface[-1].proto="none"
-               uci_quiet set network.@interface[-1].auto="0"
-               uci_quiet commit network
-       fi
-
-       # Add docker bridge device
-       if ! uci_quiet get network.${device}; then
-               logger -t "dockerd-init" -p notice "Adding docker default bridge device to network uci config (${device})"
-               uci_quiet add network device
-               uci_quiet rename network.@device[-1]="${device}"
-               uci_quiet set network.@device[-1].type="bridge"
-               uci_quiet set network.@device[-1].name="${device}"
-               uci_quiet add_list network.@device[-1].ifname="${device}"
-               uci_quiet commit network
-       fi
-
-       # Add firewall zone
-       if ! uci_quiet get firewall.${zone}; then
-               logger -t "dockerd-init" -p notice "Adding docker default firewall zone to firewall uci config (${zone})"
-               uci_quiet add firewall zone
-               uci_quiet rename firewall.@zone[-1]="${zone}"
-               uci_quiet set firewall.@zone[-1].network="${iface}"
-               uci_quiet set firewall.@zone[-1].input="REJECT"
-               uci_quiet set firewall.@zone[-1].output="ACCEPT"
-               uci_quiet set firewall.@zone[-1].forward="REJECT"
-               uci_quiet set firewall.@zone[-1].name="${zone}"
-               uci_quiet commit firewall
-       fi
-
-       reload_config
-}
-
-ucidel() {
-       local iface="$1"
-       local device="$2"
-       local zone="$3"
-
-       [ -z "$iface" ] && {
-               iface="docker"
-               device="docker0"
-               zone="docker"
-       }
-
-       /etc/init.d/dockerd running && {
-               echo "Please stop dockerd service first"
-               exit 0
-       }
-
-       if uci_quiet get network.${device}; then
-               logger -t "dockerd-init" -p notice "Deleting docker default bridge device from network uci config (${device})"
-               uci_quiet delete network.${device}
-               uci_quiet commit network
-       fi
-
-       if uci_quiet get network.${iface}; then
-               logger -t "dockerd-init" -p notice "Deleting docker default interface from network uci config (${iface})"
-               uci_quiet delete network.${iface}
-               uci_quiet commit network
-       fi
-
-       if uci_quiet get firewall.${zone}; then
-               logger -t "dockerd-init" -p notice "Deleting docker firewall zone from firewall uci config (${zone})"
-               uci_quiet delete firewall.${zone}
-               uci_quiet commit firewall
-       fi
-
-       reload_config
-}
-
-process_config() {
-       local alt_config_file data_root log_level iptables bip
-
-       [ -f /etc/config/dockerd ] || {
-               # Use the daemon default configuration
-               DOCKERD_CONF=""
-               return 0
-       }
-
-       # reset configuration
-       rm -fr "${DOCKER_CONF_DIR}"
-       mkdir -p "${DOCKER_CONF_DIR}"
-
-       config_load 'dockerd'
-       config_get alt_config_file globals alt_config_file
-       [ -n "${alt_config_file}" ] && [ -f "${alt_config_file}" ] && {
-               ln -s "${alt_config_file}" "${DOCKERD_CONF}"
-               return 0
-       }
-
-       config_get data_root globals data_root "/opt/docker/"
-       config_get log_level globals log_level "warn"
-       config_get_bool iptables globals iptables "1"
-       config_get bip globals bip ""
-
-       . /usr/share/libubox/jshn.sh
-       json_init
-       json_add_string "data-root" "${data_root}"
-       json_add_string "log-level" "${log_level}"
-       [ -z "${bip}" ] || json_add_string "bip" "${bip}"
-       json_add_array "registry-mirrors"
-       config_list_foreach globals registry_mirrors json_add_array_string
-       json_close_array
-       json_add_array "hosts"
-       config_list_foreach globals hosts json_add_array_string
-       json_close_array
-
-       json_add_boolean iptables "${iptables}"
-       [ "${iptables}" -ne "0" ] && config_foreach iptables_add_blocking_rule firewall
-
-       json_dump > "${DOCKERD_CONF}"
-}
-
-start_service() {
-       local nofile=$(cat /proc/sys/fs/nr_open)
-
-       process_config
-
-       procd_open_instance
-       procd_set_param stderr 1
-       if [ -z "${DOCKERD_CONF}" ]; then
-               procd_set_param command /usr/bin/dockerd
-       else
-               procd_set_param command /usr/bin/dockerd --config-file="${DOCKERD_CONF}"
-       fi
-       procd_set_param limits nofile="${nofile} ${nofile}"
-       procd_close_instance
-}
-
-reload_service() {
-       process_config
-       procd_send_signal dockerd
-}
-
-service_triggers() {
-       procd_add_reload_trigger 'dockerd'
-}
-
-iptables_add_blocking_rule() {
-       local cfg="$1"
-
-       local device=""
-
-       handle_iptables_rule() {
-               local interface="$1"
-               local outbound="$2"
-
-               local inbound=""
-
-               . /lib/functions/network.sh
-               network_get_physdev inbound "${interface}"
-
-               [ -z "$inbound" ] && {
-                       logger -t "dockerd-init" -p notice "Unable to get physical device for interface ${interface}"
-                       return
-               }
-
-               if ! iptables --table filter --check DOCKER-USER --in-interface "${inbound}" --out-interface "${outbound}" --jump DROP 2>/dev/null; then
-                       logger -t "dockerd-init" -p notice "Drop traffic from ${inbound} to ${outbound}"
-                       iptables --table filter --insert DOCKER-USER --in-interface "${inbound}" --out-interface "${outbound}" --jump DROP
-               fi
-       }
-
-       config_get device "$cfg" device
-
-       [ -z "$device" ] && {
-               logger -t "dockerd-init" -p notice "No device configured for ${cfg}"
-               return
-       }
-
-       config_list_foreach "$cfg" blocked_interfaces handle_iptables_rule "$device"
-}
-
-stop_service() {
-       if /etc/init.d/dockerd running; then
-               service_stop "/usr/bin/dockerd"
-       fi
-}
diff --git a/utils/docker-ce/files/etc/config/dockerd b/utils/docker-ce/files/etc/config/dockerd
deleted file mode 100644 (file)
index 3a1f802..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# The following settings require a restart to take full effect, A reload will
-# only have partial or no effect:
-# option bip
-# list blocked_interfaces
-
-config globals 'globals'
-#      option alt_config_file "/etc/docker/daemon.json"
-       option data_root "/opt/docker/"
-       option log_level "warn"
-       list hosts "unix:///var/run/docker.sock"
-       option bip "172.18.0.1/24"
-#      option iptables "0"
-#      list registry_mirrors "https://<my-docker-mirror-host>"
-#      list registry_mirrors "https://hub.docker.com"
-
-# Docker ignores fw3 rules and by default all external source IPs are allowed
-# to connect to the Docker host. See https://docs.docker.com/network/iptables/
-config firewall 'firewall'
-       option device 'docker0'
-       list blocked_interfaces 'wan'
diff --git a/utils/docker-ce/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf b/utils/docker-ce/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf
deleted file mode 100644 (file)
index 7b48860..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Do not edit, changes to this file will be lost on upgrades
-# /etc/sysctl.conf can be used to customize sysctl settings
-
-# enable bridge firewalling for docker
-net.bridge.bridge-nf-call-ip6tables=1
-net.bridge.bridge-nf-call-iptables=1
-
diff --git a/utils/docker-ce/patches/001-libdevmapper_name_fix.patch b/utils/docker-ce/patches/001-libdevmapper_name_fix.patch
deleted file mode 100644 (file)
index eb7340d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: docker-ce-18.09.0/components/engine/hack/make.sh
-===================================================================
---- docker-ce-18.09.0.orig/components/engine/hack/make.sh
-+++ docker-ce-18.09.0/components/engine/hack/make.sh
-@@ -129,7 +129,7 @@ fi
- # with a newer libdevmapper than the one it was built with.
- if \
-       command -v gcc &> /dev/null \
--      && ! ( echo -e  '#include <libdevmapper.h>\nint main() { dm_task_deferred_remove(NULL); }'| gcc -xc - -o /dev/null $(pkg-config --libs devmapper) &> /dev/null ) \
-+      && ! ( echo -e  '#include <libdevmapper.h>\nint main() { dm_task_deferred_remove(NULL); }'| gcc -xc - -o /dev/null $(pkg-config --libs libdevmapper) &> /dev/null ) \
- ; then
-       add_buildtag libdm dlsym_deferred_remove
- fi
diff --git a/utils/docker-ce/patches/002-imporve-hardcoded-CC-on-cross-compile.patch b/utils/docker-ce/patches/002-imporve-hardcoded-CC-on-cross-compile.patch
deleted file mode 100644 (file)
index b134cdf..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From 2fdfb4404ab811cb00227a3de111437b829e55cf Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 17 Jul 2019 17:34:04 +0800
-Subject: [PATCH] imporve hardcoded CC on cross compile
-
-Since commit applied in moby [61a3285 Support cross-compile for arm]
-it hardcoded var-CC to support cross-compile for arm
-
-Correct it with "${parameter:-word}" format, it is helpful for user
-define toolchains
-
-(Use Default Values.  If parameter is unset or null, the expansion of
-word is substituted.  Otherwise, the value of parameter is substituted.)
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-commit: 3c701e4db1b8646c2324ae524b4e7ca1b1147a07
-Component: engine
----
- components/engine/hack/make/.binary | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/components/engine/hack/make/.binary b/components/engine/hack/make/.binary
-index 53de6749e5..66f4ca05f3 100644
---- a/components/engine/hack/make/.binary
-+++ b/components/engine/hack/make/.binary
-@@ -44,27 +44,27 @@ if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARC
-       # must be cross-compiling!
-       case "$(go env GOOS)/$(go env GOARCH)" in
-               windows/amd64)
--                      export CC=x86_64-w64-mingw32-gcc
-+                      export CC="${CC:-x86_64-w64-mingw32-gcc}"
-                       export CGO_ENABLED=1
-                       ;;
-               linux/arm)
-                       case "${GOARM}" in
-                       5|"")
--                              export CC=arm-linux-gnueabi-gcc
-+                              export CC="${CC:-arm-linux-gnueabi-gcc}"
-                               export CGO_ENABLED=1
-                               ;;
-                       7)
--                              export CC=arm-linux-gnueabihf-gcc
-+                              export CC="${CC:-arm-linux-gnueabihf-gcc}"
-                               export CGO_ENABLED=1
-                               ;;
-                       esac
-                       ;;
-               linux/arm64)
--                      export CC=aarch64-linux-gnu-gcc
-+                      export CC="${CC:-aarch64-linux-gnu-gcc}"
-                       export CGO_ENABLED=1
-                       ;;
-               linux/amd64)
--                      export CC=x86_64-linux-gnu-gcc
-+                      export CC="${CC:-x86_64-linux-gnu-gcc}"
-                       export CGO_ENABLED=1
-                       ;;
-       esac
index 47d7336f6cc7994e50c602fbf5fc96ff4f43a1e4..2a206f00026303644dd0951399eabe8fa08f3c68 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=docker-compose
 PKG_VERSION:=1.27.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=docker-compose
 PKG_HASH:=5a5690f24c27d4b43dcbe6b3fae91ba680713208e99ee863352b3bae37bcaa83
@@ -22,7 +22,7 @@ define Package/docker-compose
   CATEGORY:=Utilities
   TITLE:=Docker Compose
   URL:=https://github.com/docker/compose
-  DEPENDS+=+docker-ce \
+  DEPENDS+=+docker \
       +python3-light \
       +python3-cached-property \
       +python3-distro \
diff --git a/utils/docker/Makefile b/utils/docker/Makefile
new file mode 100644 (file)
index 0000000..e419915
--- /dev/null
@@ -0,0 +1,53 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=docker
+PKG_VERSION:=20.10.1
+PKG_RELEASE:=1
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/docker/cli/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=4ee7cc9c3f6287ca834166aaa1a945790c54d9a8345a1b449a193d9c739f2a7d
+PKG_SOURCE_VERSION:=562ea3c09c # SHA1 used within the docker executable
+
+PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+
+GO_PKG:=github.com/docker/cli
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/docker
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Docker Community Edition CLI
+  URL:=https://www.docker.com/
+  DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64)
+endef
+
+define Package/docker/description
+The CLI used in the Docker CE and Docker EE products.
+endef
+
+TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
+TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
+
+define Build/Compile
+       ( \
+               cd $(PKG_BUILD_DIR); \
+               $(GO_PKG_VARS) \
+               GITCOMMIT=$(PKG_SOURCE_VERSION) \
+               VERSION=$(PKG_VERSION) \
+               ./scripts/build/binary; \
+       )
+endef
+
+define Package/docker/install
+       $(INSTALL_DIR) $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/docker $(1)/usr/bin/
+endef
+$(eval $(call BuildPackage,docker))
diff --git a/utils/dockerd/Config.in b/utils/dockerd/Config.in
new file mode 100644 (file)
index 0000000..21d55aa
--- /dev/null
@@ -0,0 +1,74 @@
+# These options are mostly specified by https://github.com/moby/moby/blob/master/contrib/check-config.sh
+
+config DOCKER_CGROUP_OPTIONS
+       bool "Enable available kernel support for CGroupsV1"
+       default n
+       depends on PACKAGE_dockerd
+       select KERNEL_CGROUP_DEVICE
+       select KERNEL_CGROUP_FREEZER
+       select KERNEL_NET_CLS_CGROUP
+       select KERNEL_CGROUP_NET_PRIO
+       select PACKAGE_cgroupfs-mount
+       help
+               Selects kernel options to enable CGroups V1.
+
+config DOCKER_OPTIONAL_FEATURES
+       bool "Enable optional kernel support for Docker"
+       default n
+       depends on PACKAGE_dockerd
+       select KERNEL_MEMCG_SWAP_ENABLED
+       select KERNEL_CFQ_GROUP_IOSCHED
+       select KERNEL_CGROUP_PERF
+       select KERNEL_CGROUP_HUGETLB
+       help
+               Select 'Optional Features' kernel options for Docker that are unselected.
+               See https://github.com/moby/moby/blob/master/contrib/check-config.sh
+
+menu "Network"
+       depends on PACKAGE_dockerd
+
+       config DOCKER_NET_OVERLAY
+               bool "Includes the Overlay network feature"
+               default n
+               select PACKAGE_kmod-vxlan
+               help
+                       Selects kmod-vxlan for the Overlay network feature.
+
+       config DOCKER_NET_ENCRYPT
+               bool "Includes encrypted networking kernel modules"
+               depends on DOCKER_NET_OVERLAY
+               default n
+               select PACKAGE_kmod-crypto-gcm
+               select PACKAGE_kmod-crypto-seqiv
+               select PACKAGE_kmod-crypto-ghash
+               select PACKAGE_kmod-ipsec
+               help
+                 Select needed kernel modules for encrypted networking support.
+
+       config DOCKER_NET_MACVLAN
+               bool "Includes macvlan kernel modules"
+               default n
+               select PACKAGE_kmod-macvlan
+               select PACKAGE_kmod-dummy
+
+       config DOCKER_NET_TFTP
+               bool "Includes ftp/tftp client kernel modules"
+               default n
+               select PACKAGE_kmod-nf-nathelper
+               select PACKAGE_kmod-nf-nathelper-extra
+endmenu
+
+menu "Storage"
+       depends on PACKAGE_dockerd
+
+       config DOCKER_STO_EXT4
+               bool "Enables support for ext3 or ext4 as the backing filesystem"
+               default n
+               select KERNEL_EXT4_FS_POSIX_ACL
+               select KERNEL_EXT4_FS_SECURITY
+
+       config DOCKER_STO_BTRFS
+               bool "Enables support for btrfs as the backing filesystem"
+               default n
+               select KERNEL_BTRFS_FS_POSIX_ACL
+endmenu
diff --git a/utils/dockerd/Makefile b/utils/dockerd/Makefile
new file mode 100644 (file)
index 0000000..aeb9dbf
--- /dev/null
@@ -0,0 +1,141 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dockerd
+PKG_VERSION:=20.10.1
+PKG_RELEASE:=1
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/moby/moby/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=f0fda46a82bf8f624eb349370358891d3bc65ef3e320675226f17dba8f62566d
+PKG_SOURCE_VERSION:=cdd80e813e # SHA1 used within the docker executables
+
+PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+
+GO_PKG:=github.com/docker/docker
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/dockerd/config
+  source "$(SOURCE)/Config.in"
+endef
+
+define Package/dockerd
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Docker Community Edition Daemon
+  URL:=https://www.docker.com/
+  DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +ca-certificates +containerd +libdevmapper +libnetwork +tini \
+           +KERNEL_SECCOMP:libseccomp +iptables-mod-extra +kmod-br-netfilter +kmod-ikconfig +kmod-nf-conntrack-netlink +kmod-nf-ipvs \
+           +kmod-nf-nat +kmod-veth
+  USERID:=docker:docker
+  MENU:=1
+endef
+
+define Package/dockerd/conffiles
+/etc/config/dockerd
+endef
+
+define Package/dockerd/description
+The Docker CE Engine.
+endef
+
+TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
+TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
+
+# $(1) = path to dependent package 'Makefile'
+# $(2) = relevant dependency '.installer' file
+define EnsureVendoredVersion
+       ( \
+               DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_SOURCE_VERSION:=)(.*)' "$(1)" ); \
+               VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_COMMIT:=)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \
+               if [ $$$$VEN_VER != $$$$DEP_VER ]; then \
+                       echo "ERROR: Expected 'PKG_SOURCE_VERSION:=$$$$VEN_VER' in '$(1)', found 'PKG_SOURCE_VERSION:=$$$$DEP_VER'"; \
+                       exit 1; \
+               fi \
+       )
+endef
+
+define Build/Prepare
+       $(Build/Prepare/Default)
+
+       # Verify dependencies are the vendored version
+       $(call EnsureVendoredVersion,../containerd/Makefile,containerd.installer)
+       $(call EnsureVendoredVersion,../libnetwork/Makefile,proxy.installer)
+       $(call EnsureVendoredVersion,../runc/Makefile,runc.installer)
+       $(call EnsureVendoredVersion,../tini/Makefile,tini.installer)
+
+       # Verify CLI is the same version
+       ( \
+               CLI_MAKEFILE="../docker/Makefile"; \
+               CLI_VERSION=$$$$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "$$$$CLI_MAKEFILE" ); \
+               if [ $$$$CLI_VERSION != $(PKG_VERSION) ]; then \
+                       echo "ERROR: Expected 'PKG_VERSION:=$(PKG_VERSION)' in '$$$$CLI_MAKEFILE', found 'PKG_VERSION:=$$$$CLI_VERSION'"; \
+                       exit 1; \
+               fi \
+       )
+endef
+
+BUILDTAGS:=
+ifeq ($(KERNEL_SECCOMP),y)
+BUILDTAGS += seccomp
+endif
+ifeq ($(CONFIG_SELINUX),y)
+BUILDTAGS += selinux
+endif
+
+define Build/Compile
+       ( \
+               cd $(PKG_BUILD_DIR); \
+               $(GO_PKG_VARS) \
+               DOCKER_GITCOMMIT=$(PKG_SOURCE_VERSION) \
+               DOCKER_BUILDTAGS='$(BUILDTAGS)' \
+               VERSION=$(PKG_VERSION) \
+               ./hack/make.sh binary; \
+       )
+endef
+
+define Package/dockerd/install
+       $(INSTALL_DIR) $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bundles/binary-daemon/dockerd $(1)/usr/bin/
+
+       $(INSTALL_DIR) $(1)/opt/docker/
+       $(INSTALL_DIR) $(1)/usr/share/docker/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/check-config.sh $(1)/usr/share/docker/
+
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/dockerd.init $(1)/etc/init.d/dockerd
+
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) ./files/etc/config/dockerd $(1)/etc/config/dockerd
+
+       # Must be after systcl 11-br-netfilter.conf from kmod-br-netfilter
+       $(INSTALL_DIR) $(1)/etc/sysctl.d
+       $(INSTALL_DATA) ./files/etc/sysctl.d/sysctl-br-netfilter-ip.conf \
+               $(1)/etc/sysctl.d/12-br-netfilter-ip.conf
+endef
+
+define Package/dockerd/postinst
+#!/bin/sh
+[ -n "$$IPKG_INSTROOT" ] || {
+       /etc/init.d/dockerd enable
+       /etc/init.d/dockerd uciadd
+       /etc/init.d/dockerd start
+}
+endef
+
+define Package/dockerd/prerm
+#!/bin/sh
+[ -n "$$IPKG_INSTROOT" ] || {
+       /etc/init.d/dockerd disable
+       /etc/init.d/dockerd stop
+       /etc/init.d/dockerd ucidel
+}
+endef
+
+$(eval $(call BuildPackage,dockerd))
diff --git a/utils/dockerd/files/dockerd.init b/utils/dockerd/files/dockerd.init
new file mode 100755 (executable)
index 0000000..2997781
--- /dev/null
@@ -0,0 +1,228 @@
+#!/bin/sh /etc/rc.common
+
+USE_PROCD=1
+START=25
+
+extra_command "uciadd" "<interface> <device> <zone> Add docker bridge configuration to network and firewall uci config"
+extra_command "ucidel" "<interface> <device> <zone> Delete docker bridge configuration from network and firewall uci config"
+
+DOCKER_CONF_DIR="/tmp/dockerd"
+DOCKERD_CONF="${DOCKER_CONF_DIR}/daemon.json"
+
+uci_quiet() {
+       uci -q "${@}" >/dev/null
+}
+
+json_add_array_string() {
+       json_add_string "" "${1}"
+}
+
+boot() {
+       uciadd
+       rc_procd start_service
+}
+
+uciadd() {
+       local iface="${1}"
+       local device="${2}"
+       local zone="${3}"
+
+       [ -z "${iface}" ] && {
+               iface="docker"
+               device="docker0"
+               zone="docker"
+       }
+
+       /etc/init.d/dockerd running && {
+               echo "Please stop dockerd service first"
+               exit 0
+       }
+
+       # Add network interface
+       if ! uci_quiet get network.${iface}; then
+               logger -t "dockerd-init" -p notice "Adding docker default interface to network uci config (${iface})"
+               uci_quiet add network interface
+               uci_quiet rename network.@interface[-1]="${iface}"
+               uci_quiet set network.@interface[-1].ifname="${device}"
+               uci_quiet set network.@interface[-1].proto="none"
+               uci_quiet set network.@interface[-1].auto="0"
+               uci_quiet commit network
+       fi
+
+       # Add docker bridge device
+       if ! uci_quiet get network.${device}; then
+               logger -t "dockerd-init" -p notice "Adding docker default bridge device to network uci config (${device})"
+               uci_quiet add network device
+               uci_quiet rename network.@device[-1]="${device}"
+               uci_quiet set network.@device[-1].type="bridge"
+               uci_quiet set network.@device[-1].name="${device}"
+               uci_quiet add_list network.@device[-1].ifname="${device}"
+               uci_quiet commit network
+       fi
+
+       # Add firewall zone
+       if ! uci_quiet get firewall.${zone}; then
+               logger -t "dockerd-init" -p notice "Adding docker default firewall zone to firewall uci config (${zone})"
+               uci_quiet add firewall zone
+               uci_quiet rename firewall.@zone[-1]="${zone}"
+               uci_quiet set firewall.@zone[-1].network="${iface}"
+               uci_quiet set firewall.@zone[-1].input="REJECT"
+               uci_quiet set firewall.@zone[-1].output="ACCEPT"
+               uci_quiet set firewall.@zone[-1].forward="REJECT"
+               uci_quiet set firewall.@zone[-1].name="${zone}"
+               uci_quiet commit firewall
+       fi
+
+       reload_config
+}
+
+ucidel() {
+       local iface="${1}"
+       local device="${2}"
+       local zone="${3}"
+
+       [ -z "${iface}" ] && {
+               iface="docker"
+               device="docker0"
+               zone="docker"
+       }
+
+       /etc/init.d/dockerd running && {
+               echo "Please stop dockerd service first"
+               exit 0
+       }
+
+       if uci_quiet get network.${device}; then
+               logger -t "dockerd-init" -p notice "Deleting docker default bridge device from network uci config (${device})"
+               uci_quiet delete network.${device}
+               uci_quiet commit network
+       fi
+
+       if uci_quiet get network.${iface}; then
+               logger -t "dockerd-init" -p notice "Deleting docker default interface from network uci config (${iface})"
+               uci_quiet delete network.${iface}
+               uci_quiet commit network
+       fi
+
+       if uci_quiet get firewall.${zone}; then
+               logger -t "dockerd-init" -p notice "Deleting docker firewall zone from firewall uci config (${zone})"
+               uci_quiet delete firewall.${zone}
+               uci_quiet commit firewall
+       fi
+
+       reload_config
+}
+
+process_config() {
+       local alt_config_file data_root log_level iptables bip
+
+       [ -f /etc/config/dockerd ] || {
+               # Use the daemon default configuration
+               DOCKERD_CONF=""
+               return 0
+       }
+
+       # reset configuration
+       rm -fr "${DOCKER_CONF_DIR}"
+       mkdir -p "${DOCKER_CONF_DIR}"
+
+       config_load 'dockerd'
+       config_get alt_config_file globals alt_config_file
+       [ -n "${alt_config_file}" ] && [ -f "${alt_config_file}" ] && {
+               ln -s "${alt_config_file}" "${DOCKERD_CONF}"
+               return 0
+       }
+
+       config_get data_root globals data_root "/opt/docker/"
+       config_get log_level globals log_level "warn"
+       config_get_bool iptables globals iptables "1"
+       config_get bip globals bip ""
+
+       . /usr/share/libubox/jshn.sh
+       json_init
+       json_add_string "data-root" "${data_root}"
+       json_add_string "log-level" "${log_level}"
+       [ -z "${bip}" ] || json_add_string "bip" "${bip}"
+       json_add_array "registry-mirrors"
+       config_list_foreach globals registry_mirrors json_add_array_string
+       json_close_array
+       json_add_array "hosts"
+       config_list_foreach globals hosts json_add_array_string
+       json_close_array
+
+       json_add_boolean iptables "${iptables}"
+       [ "${iptables}" -ne "0" ] && config_foreach iptables_add_blocking_rule firewall
+
+       json_dump > "${DOCKERD_CONF}"
+}
+
+start_service() {
+       local nofile=$(cat /proc/sys/fs/nr_open)
+
+       process_config
+
+       procd_open_instance
+       procd_set_param stderr 1
+       if [ -z "${DOCKERD_CONF}" ]; then
+               procd_set_param command /usr/bin/dockerd
+       else
+               procd_set_param command /usr/bin/dockerd --config-file="${DOCKERD_CONF}"
+       fi
+       procd_set_param limits nofile="${nofile} ${nofile}"
+       procd_close_instance
+}
+
+reload_service() {
+       process_config
+       procd_send_signal dockerd
+}
+
+service_triggers() {
+       procd_add_reload_trigger 'dockerd'
+}
+
+iptables_add_blocking_rule() {
+       local cfg="${1}"
+
+       local device=""
+       local extra_iptables_args=""
+
+       handle_iptables_rule() {
+               local interface="${1}"
+               local outbound="${2}"
+               local extra_iptables_args="${3}"
+
+               local inbound=""
+
+               . /lib/functions/network.sh
+               network_get_physdev inbound "${interface}"
+
+               [ -z "${inbound}" ] && {
+                       logger -t "dockerd-init" -p notice "Unable to get physical device for interface ${interface}"
+                       return
+               }
+
+               # Ignore errors as it might already be present
+               iptables --table filter --new DOCKER-USER 2>/dev/null
+               if ! iptables --table filter --check DOCKER-USER --in-interface "${inbound}" --out-interface "${outbound}" ${extra_iptables_args} --jump DROP 2>/dev/null; then
+                       logger -t "dockerd-init" -p notice "Drop traffic from ${inbound} to ${outbound}"
+                       iptables --table filter --insert DOCKER-USER --in-interface "${inbound}" --out-interface "${outbound}" ${extra_iptables_args} --jump DROP
+               fi
+       }
+
+       config_get device "${cfg}" device
+
+       [ -z "${device}" ] && {
+               logger -t "dockerd-init" -p notice "No device configured for ${cfg}"
+               return
+       }
+
+       config_get extra_iptables_args "${cfg}" extra_iptables_args
+       config_list_foreach "${cfg}" blocked_interfaces handle_iptables_rule "${device}" "${extra_iptables_args}"
+}
+
+stop_service() {
+       if /etc/init.d/dockerd running; then
+               service_stop "/usr/bin/dockerd"
+       fi
+}
diff --git a/utils/dockerd/files/etc/config/dockerd b/utils/dockerd/files/etc/config/dockerd
new file mode 100644 (file)
index 0000000..cfb5f8c
--- /dev/null
@@ -0,0 +1,24 @@
+# The following settings require a restart of docker to take full effect, A reload will only have partial or no effect:
+# bip
+# blocked_interfaces
+# extra_iptables_args
+# device
+
+config globals 'globals'
+#      option alt_config_file "/etc/docker/daemon.json"
+       option data_root "/opt/docker/"
+       option log_level "warn"
+       list hosts "unix:///var/run/docker.sock"
+       option bip "172.18.0.1/24"
+#      option iptables "0"
+#      list registry_mirrors "https://<my-docker-mirror-host>"
+#      list registry_mirrors "https://hub.docker.com"
+
+# Docker ignores fw3 rules and by default all external source IPs are allowed to connect to the Docker host.
+# See https://docs.docker.com/network/iptables/ for more details.
+# firewall config changes are only additive i.e firewall will need to be restarted first to clear old changes,
+# then docker restarted to load in new changes.
+config firewall 'firewall'
+       option device 'docker0'
+       list blocked_interfaces 'wan'
+#      option extra_iptables_args '--match conntrack ! --ctstate RELATED,ESTABLISHED' # allow outbound connections
diff --git a/utils/dockerd/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf b/utils/dockerd/files/etc/sysctl.d/sysctl-br-netfilter-ip.conf
new file mode 100644 (file)
index 0000000..7b48860
--- /dev/null
@@ -0,0 +1,7 @@
+# Do not edit, changes to this file will be lost on upgrades
+# /etc/sysctl.conf can be used to customize sysctl settings
+
+# enable bridge firewalling for docker
+net.bridge.bridge-nf-call-ip6tables=1
+net.bridge.bridge-nf-call-iptables=1
+
diff --git a/utils/dockerd/patches/001-libdevmapper_name_fix.patch b/utils/dockerd/patches/001-libdevmapper_name_fix.patch
new file mode 100644 (file)
index 0000000..ba6bba3
--- /dev/null
@@ -0,0 +1,13 @@
+Index: docker-ce-20.10.0/hack/make.sh
+===================================================================
+--- docker-ce-20.10.0.orig/hack/make.sh
++++ docker-ce-20.10.0/hack/make.sh
+@@ -95,7 +95,7 @@ fi
+ # with a newer libdevmapper than the one it was built with.
+ if
+       command -v gcc &> /dev/null \
+-              && ! (echo -e '#include <libdevmapper.h>\nint main() { dm_task_deferred_remove(NULL); }' | gcc -xc - -o /dev/null $(pkg-config --libs devmapper) &> /dev/null) \
++              && ! (echo -e '#include <libdevmapper.h>\nint main() { dm_task_deferred_remove(NULL); }' | gcc -xc - -o /dev/null $(pkg-config --libs libdevmapper) &> /dev/null) \
+               ;
+ then
+       add_buildtag libdm dlsym_deferred_remove
index 25c46ce27997e5bcb0635241fe54c9c5f8d26750..0a5821d90f29065e02d11d30cc77610a1907345b 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=findutils
 PKG_VERSION:=4.7.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
@@ -49,13 +49,13 @@ endef
 define Package/findutils-find
        $(call Package/findutils/Default)
        TITLE+= - find utility
-       ALTERNATIVES:=300:/usr/bin/find:/usr/libexec/findutils-find
+       ALTERNATIVES:=300:/usr/bin/find:/usr/libexec/find-findutils
 endef
 
 define Package/findutils-xargs
        $(call Package/findutils/Default)
        TITLE+= - xargs utility
-       ALTERNATIVES:=300:/usr/bin/xargs:/usr/libexec/findutils-xargs
+       ALTERNATIVES:=300:/usr/bin/xargs:/usr/libexec/xargs-findutils
 endef
 
 define Package/findutils-locate
@@ -74,12 +74,12 @@ endef
 
 define Package/findutils-find/install
        $(INSTALL_DIR) $(1)/usr/libexec
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/find $(1)/usr/libexec/findutils-find
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/find $(1)/usr/libexec/find-findutils
 endef
 
 define Package/findutils-xargs/install
        $(INSTALL_DIR) $(1)/usr/libexec
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xargs $(1)/usr/libexec/findutils-xargs
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xargs $(1)/usr/libexec/xargs-findutils
 endef
 
 define Package/findutils-locate/install
index 1a6567be95d579e79cc8527f5607e765a5f179ff..b842b837fc49c2f58ed0c3e6077d89317b2201f6 100644 (file)
@@ -8,17 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fontconfig
-PKG_VERSION:=2.11.1
+PKG_VERSION:=2.13.93
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://fontconfig.org/release/
-PKG_HASH:=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://fontconfig.org/release/
+PKG_HASH:=ea968631eadc5739bc7c8856cef5c77da812d1f67b763f5e51b57b8026c1a0a0
 
 PKG_CPE_ID:=cpe:/a:fontconfig_project:fontconfig
 
 PKG_FIXUP:=libtool
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=gperf/host
 
 include $(INCLUDE_DIR)/package.mk
 
index 267c6fed6aff27b67cea03bd4bdffb7fa8d813ce..5789a532f2a520679620b0aa8ce758bc667c2858 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnuplot
-PKG_VERSION:=5.4.0
-PKG_RELEASE:=2
+PKG_VERSION:=5.4.1
+PKG_RELEASE:=1
 PKG_MAINTAINER:=Matteo Cicuttin <datafl4sh@toxicnet.eu>
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/gnuplot-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/gnuplot
-PKG_HASH:=eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47
+PKG_HASH:=6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e
 PKG_CAT:=zcat
 PKG_FIXUP:=autoreconf
 
index c3844bdb6bf6b175cca854727f34dd4afdecd74a..90c4f5b0ce052c000bd287b4ebe713592ce176c0 100644 (file)
@@ -1,7 +1,5 @@
-Index: gnuplot-5.4.0/Makefile.am
-===================================================================
---- gnuplot-5.4.0.orig/Makefile.am
-+++ gnuplot-5.4.0/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -1,7 +1,7 @@
  ## Process this file with automake to produce Makefile.in -*-Makefile-*-
  AUTOMAKE_OPTIONS = foreign
index 53428613c0bfa1b9d0bcd4e14a378f306fa06886..083a22b4cf2746b9cadde017dd8ac5620325ecf2 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gpsd
 PKG_VERSION:=3.21
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME)
@@ -104,6 +104,7 @@ SCONS_OPTIONS += \
        implicit_link=no \
        chrpath=no \
        manbuild=no \
+       sysroot="$(STAGING_DIR)" \
        target="$(TARGET_CROSS:-=)"
 
 define Build/InstallDev
index c6afe7c7cac8d65c22c76927d4ebadb73dc11104..371bda6ad59f57afbff8c2d34a9672e97c77d86d 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haveged
-PKG_VERSION:=1.9.13
+PKG_VERSION:=1.9.14
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/jirka-h/haveged/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=d17bd22fa1745daca5ac72e014ed3b0fe5720da4c115953124b1bf2a0aa2b04b
+PKG_HASH:=938cb494bcad7e4f24e61eb50fab4aa0acbc3240c80f3ad5c6cf7e6e922618c3
 PKG_BUILD_DIR:=$(BUILD_DIR)/haveged-$(PKG_VERSION)
 PKG_LICENSE:=GPLv3
 
index 15d3bad2e5c3267e8c3befd601df83aacff2129b..d4e25ca7e4bf54f6ebaa88cf9d7218fc7f493f21 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hfsprogs
 PKG_VERSION:=332.25
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
 PKG_SOURCE_URL:=http://archive.ubuntu.com/ubuntu/pool/universe/h/$(PKG_NAME)
index 98a4ea87f479ed3887654d0386507d9c9fed026d..a00eec6dff4f5dc5e0f0b43e38da1b30e4d1e876 100644 (file)
@@ -16,9 +16,6 @@ utilities.
  create mode 100644 fsck_hfs.tproj/dfalib/Makefile.lnx
  create mode 100644 newfs_hfs.tproj/Makefile.lnx
 
-diff --git a/Makefile.lnx b/Makefile.lnx
-new file mode 100644
-index 0000000..687d1e7
 --- /dev/null
 +++ b/Makefile.lnx
 @@ -0,0 +1,8 @@
@@ -30,9 +27,6 @@ index 0000000..687d1e7
 +      for d in $(SUBDIRS); do $(MAKE) -C $$d -f Makefile.lnx $@; done
 +
 +export CC CFLAGS
-diff --git a/fsck_hfs.tproj/Makefile.lnx b/fsck_hfs.tproj/Makefile.lnx
-new file mode 100644
-index 0000000..977d7e8
 --- /dev/null
 +++ b/fsck_hfs.tproj/Makefile.lnx
 @@ -0,0 +1,16 @@
@@ -52,9 +46,6 @@ index 0000000..977d7e8
 +      $(MAKE) -C dfalib -f Makefile.lnx clean
 +
 +.PHONY : FORCE clean
-diff --git a/fsck_hfs.tproj/dfalib/Makefile.lnx b/fsck_hfs.tproj/dfalib/Makefile.lnx
-new file mode 100644
-index 0000000..8c07196
 --- /dev/null
 +++ b/fsck_hfs.tproj/dfalib/Makefile.lnx
 @@ -0,0 +1,15 @@
@@ -73,9 +64,6 @@ index 0000000..8c07196
 +
 +clean:
 +      $(RM) $(OFILES) libdfa.a
-diff --git a/newfs_hfs.tproj/Makefile.lnx b/newfs_hfs.tproj/Makefile.lnx
-new file mode 100644
-index 0000000..58e6700
 --- /dev/null
 +++ b/newfs_hfs.tproj/Makefile.lnx
 @@ -0,0 +1,12 @@
index 0046c364f4da70c0a09e61ff605d70b2367478f7..e65cb765caf10c68e771611dd8f696bc6e50b15d 100644 (file)
@@ -29,8 +29,6 @@ Apple owned frameworks in a Debian system (and possibly others).
  21 files changed, 429 insertions(+), 85 deletions(-)
  create mode 100644 include/missing.h
 
-diff --git a/fsck_hfs.tproj/cache.c b/fsck_hfs.tproj/cache.c
-index be46195..527088a 100644
 --- a/fsck_hfs.tproj/cache.c
 +++ b/fsck_hfs.tproj/cache.c
 @@ -26,7 +26,11 @@
@@ -45,11 +43,9 @@ index be46195..527088a 100644
  #include <sys/uio.h>
  #include <unistd.h>
  #include <string.h>
-diff --git a/fsck_hfs.tproj/dfalib/BTree.c b/fsck_hfs.tproj/dfalib/BTree.c
-index edd8301..7ad9fe0 100644
 --- a/fsck_hfs.tproj/dfalib/BTree.c
 +++ b/fsck_hfs.tproj/dfalib/BTree.c
-@@ -1705,7 +1705,9 @@ OSStatus BTGetInformation        (SFCB                                   *filePtr,
+@@ -1705,7 +1705,9 @@ OSStatus BTGetInformation        (SFCB                                   *fil
                                                                 UInt16                                  version,
                                                                 BTreeInfoRec                   *info )
  {
@@ -59,8 +55,6 @@ index edd8301..7ad9fe0 100644
  
        BTreeControlBlockPtr    btreePtr;
  
-diff --git a/fsck_hfs.tproj/dfalib/BlockCache.c b/fsck_hfs.tproj/dfalib/BlockCache.c
-index 1bb952f..e3a28a2 100644
 --- a/fsck_hfs.tproj/dfalib/BlockCache.c
 +++ b/fsck_hfs.tproj/dfalib/BlockCache.c
 @@ -20,6 +20,9 @@
@@ -73,8 +67,6 @@ index 1bb952f..e3a28a2 100644
  #include "SRuntime.h"
  #include "Scavenger.h"
  #include "../cache.h"
-diff --git a/fsck_hfs.tproj/dfalib/SBTree.c b/fsck_hfs.tproj/dfalib/SBTree.c
-index 2fbcd1d..cd81b13 100644
 --- a/fsck_hfs.tproj/dfalib/SBTree.c
 +++ b/fsck_hfs.tproj/dfalib/SBTree.c
 @@ -322,7 +322,9 @@ ErrorExit:
@@ -87,8 +79,6 @@ index 2fbcd1d..cd81b13 100644
  
        OSStatus        result;
        UInt32          actualSectorsAdded;
-diff --git a/fsck_hfs.tproj/dfalib/SDevice.c b/fsck_hfs.tproj/dfalib/SDevice.c
-index bf6f61c..9a46023 100644
 --- a/fsck_hfs.tproj/dfalib/SDevice.c
 +++ b/fsck_hfs.tproj/dfalib/SDevice.c
 @@ -2,7 +2,7 @@
@@ -195,7 +185,7 @@ index bf6f61c..9a46023 100644
  
        if (devBlockSize != 512) {
                *numBlocks = (devBlockCount * (UInt64)devBlockSize) / 512;
-@@ -70,24 +108,24 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -70,24 +108,24 @@ OSErr GetDeviceSize(int driveRefNum, UIn
        {
                /* return format list status code */
                kFmtLstCode = 6,
@@ -225,7 +215,7 @@ index bf6f61c..9a46023 100644
        ParamBlockRec   pb;
        FormatListRec   formatListRecords[kMaxFormatListRecs];
        DrvSts                  status;
-@@ -95,22 +133,22 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -95,22 +133,22 @@ OSErr GetDeviceSize(int driveRefNum, UIn
        OSErr                   result;
        unsigned long   blocks                  = 0;
  
@@ -253,7 +243,7 @@ index bf6f61c..9a46023 100644
                /* Get the current disk's size. */
                for( formatListRecIndex = 0;
                         formatListRecIndex < pb.cntrlParam.csParam[0];
-@@ -131,7 +169,7 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -131,7 +169,7 @@ OSErr GetDeviceSize(int driveRefNum, UIn
        else if ( driveQElementPtr->dQRefNum == (short)kSonyRefNum )
        {
                /* The drive is a non-SuperDrive floppy which only supports 400K and 800K disks */
@@ -262,7 +252,7 @@ index bf6f61c..9a46023 100644
                result = DriveStatus(driveQElementPtr->dQDrive, &status);
                if ( result == noErr )
                {
-@@ -140,11 +178,11 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -140,11 +178,11 @@ OSErr GetDeviceSize(int driveRefNum, UIn
                                case kSingleSided:
                                        blocks = kSingleSidedSize;
                                        break;
@@ -276,7 +266,7 @@ index bf6f61c..9a46023 100644
                                default:                //      This should never happen
                                        result = paramErr;
                                        break;
-@@ -155,20 +193,20 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -155,20 +193,20 @@ OSErr GetDeviceSize(int driveRefNum, UIn
        {
                /* The drive is not a floppy and it doesn't support ReturnFormatList */
                /* so use the dQDrvSz field(s) */
@@ -301,7 +291,7 @@ index bf6f61c..9a46023 100644
                        default:                //      This should never happen
                                result = paramErr;
                                break;
-@@ -177,7 +215,7 @@ OSErr GetDeviceSize(int driveRefNum, UInt64 *numBlocks, UInt32 *blockSize)
+@@ -177,7 +215,7 @@ OSErr GetDeviceSize(int driveRefNum, UIn
  
        *numBlocks = blocks;
        *blockSize = 512;
@@ -310,7 +300,7 @@ index bf6f61c..9a46023 100644
        return( result );
  #endif
  }
-@@ -188,7 +226,7 @@ OSErr DeviceRead(int device, int drive, void* buffer, SInt64 offset, UInt32 reqB
+@@ -188,7 +226,7 @@ OSErr DeviceRead(int device, int drive,
  #if BSD
        off_t seek_off;
        ssize_t nbytes;
@@ -319,11 +309,9 @@ index bf6f61c..9a46023 100644
        *actBytes = 0;
  
        seek_off = lseek(device, offset, SEEK_SET);
-diff --git a/fsck_hfs.tproj/dfalib/SKeyCompare.c b/fsck_hfs.tproj/dfalib/SKeyCompare.c
-index 46e145f..18d99c5 100644
 --- a/fsck_hfs.tproj/dfalib/SKeyCompare.c
 +++ b/fsck_hfs.tproj/dfalib/SKeyCompare.c
-@@ -454,7 +454,9 @@ SInt32 CompareExtentKeysPlus( const HFSPlusExtentKey *searchKey, const HFSPlusEx
+@@ -454,7 +454,9 @@ SInt32 CompareExtentKeysPlus( const HFSP
   * The name portion of the key is compared using a 16-bit binary comparison. 
   * This is called from the b-tree code.
   */
@@ -333,8 +321,6 @@ index 46e145f..18d99c5 100644
  SInt32
  CompareAttributeKeys(const AttributeKey *searchKey, const AttributeKey *trialKey)
  {
-diff --git a/fsck_hfs.tproj/dfalib/SRepair.c b/fsck_hfs.tproj/dfalib/SRepair.c
-index 01c1a10..8eb759c 100644
 --- a/fsck_hfs.tproj/dfalib/SRepair.c
 +++ b/fsck_hfs.tproj/dfalib/SRepair.c
 @@ -1617,7 +1617,9 @@ Output:
@@ -347,8 +333,6 @@ index 01c1a10..8eb759c 100644
  
        OSErr                                           err;
        HFSMasterDirectoryBlock         *mdb;
-diff --git a/fsck_hfs.tproj/dfalib/SRuntime.h b/fsck_hfs.tproj/dfalib/SRuntime.h
-index 646917b..770e3ef 100644
 --- a/fsck_hfs.tproj/dfalib/SRuntime.h
 +++ b/fsck_hfs.tproj/dfalib/SRuntime.h
 @@ -27,8 +27,11 @@
@@ -364,7 +348,7 @@ index 646917b..770e3ef 100644
  #include <stdlib.h>
  #include <string.h>
  #include <stdio.h>
-@@ -91,10 +94,12 @@ typedef const unsigned char *      ConstStr255Param;
+@@ -91,10 +94,12 @@ typedef const unsigned char *      ConstStr25
  
  typedef u_int32_t     HFSCatalogNodeID;
  
@@ -377,11 +361,9 @@ index 646917b..770e3ef 100644
  
  /* OS error codes */
  enum {
-diff --git a/fsck_hfs.tproj/dfalib/SUtils.c b/fsck_hfs.tproj/dfalib/SUtils.c
-index 72035f0..6e9253e 100644
 --- a/fsck_hfs.tproj/dfalib/SUtils.c
 +++ b/fsck_hfs.tproj/dfalib/SUtils.c
-@@ -380,7 +380,8 @@ void       InvalidateCalculatedVolumeBitMap( SGlobPtr GPtr )
+@@ -380,7 +380,8 @@ void       InvalidateCalculatedVolumeBitMap( S
  //                            GPtr->realVCB                   Real in-memory vcb
  //------------------------------------------------------------------------------
  
@@ -400,8 +382,6 @@ index 72035f0..6e9253e 100644
  
  
  /*-------------------------------------------------------------------------------
-diff --git a/fsck_hfs.tproj/dfalib/SVerify2.c b/fsck_hfs.tproj/dfalib/SVerify2.c
-index 6a47935..c68f3d8 100644
 --- a/fsck_hfs.tproj/dfalib/SVerify2.c
 +++ b/fsck_hfs.tproj/dfalib/SVerify2.c
 @@ -32,7 +32,9 @@
@@ -414,7 +394,7 @@ index 6a47935..c68f3d8 100644
  
  #include "BTree.h"
  #include "BTreePrivate.h"
-@@ -1354,8 +1356,13 @@ OSErr CompareVolumeHeader( SGlobPtr GPtr, HFSPlusVolumeHeader *volumeHeader )
+@@ -1354,8 +1356,13 @@ OSErr CompareVolumeHeader( SGlobPtr GPtr
         * clump size for read-only media is irrelevant we skip the clump size 
         * check to avoid non useful warnings. 
         */
@@ -428,8 +408,6 @@ index 6a47935..c68f3d8 100644
        if ( isWriteable != 0 && 
                 volumeHeader->catalogFile.clumpSize != vcb->vcbCatalogFile->fcbClumpSize ) {
                PrintError(GPtr, E_InvalidClumpSize, 0);
-diff --git a/fsck_hfs.tproj/dfalib/Scavenger.h b/fsck_hfs.tproj/dfalib/Scavenger.h
-index cf53970..edb3a80 100644
 --- a/fsck_hfs.tproj/dfalib/Scavenger.h
 +++ b/fsck_hfs.tproj/dfalib/Scavenger.h
 @@ -37,11 +37,16 @@
@@ -450,7 +428,7 @@ index cf53970..edb3a80 100644
  
  #ifdef __cplusplus
  extern        "C" {
-@@ -1465,4 +1470,8 @@ extern int       AllocateContigBitmapBits (SVCB *vcb, UInt32 numBlocks, UInt32 *actua
+@@ -1465,4 +1470,8 @@ extern int       AllocateContigBitmapBits (SV
  };
  #endif
  
@@ -459,8 +437,6 @@ index cf53970..edb3a80 100644
 +#endif */
 +
  #endif /* __SCAVENGER__ */
-diff --git a/fsck_hfs.tproj/dfalib/hfs_endian.c b/fsck_hfs.tproj/dfalib/hfs_endian.c
-index 7fa5385..69500c1 100755
 --- a/fsck_hfs.tproj/dfalib/hfs_endian.c
 +++ b/fsck_hfs.tproj/dfalib/hfs_endian.c
 @@ -31,7 +31,11 @@
@@ -475,8 +451,6 @@ index 7fa5385..69500c1 100755
  #include <hfs/hfs_format.h>
  
  #include "Scavenger.h"
-diff --git a/fsck_hfs.tproj/dfalib/hfs_endian.h b/fsck_hfs.tproj/dfalib/hfs_endian.h
-index 52d0c3a..0763d9d 100755
 --- a/fsck_hfs.tproj/dfalib/hfs_endian.h
 +++ b/fsck_hfs.tproj/dfalib/hfs_endian.h
 @@ -27,9 +27,14 @@
@@ -495,8 +469,6 @@ index 52d0c3a..0763d9d 100755
  #include "SRuntime.h"
  
  /*********************/
-diff --git a/fsck_hfs.tproj/fsck_hfs.c b/fsck_hfs.tproj/fsck_hfs.c
-index 90532fd..f1a18bd 100644
 --- a/fsck_hfs.tproj/fsck_hfs.c
 +++ b/fsck_hfs.tproj/fsck_hfs.c
 @@ -24,10 +24,14 @@
@@ -644,7 +616,7 @@ index 90532fd..f1a18bd 100644
  ExitThisRoutine:
        if (lflag) {
            fcntl(fs_fd, F_THAW_FS, NULL);
-@@ -401,16 +423,18 @@ setup( char *dev, int *blockDevice_fdPtr, int *canWritePtr )
+@@ -401,16 +423,18 @@ setup( char *dev, int *blockDevice_fdPtr
        fswritefd = -1;
        *blockDevice_fdPtr = -1;
        *canWritePtr = 0;
@@ -664,7 +636,7 @@ index 90532fd..f1a18bd 100644
        if ((fsreadfd = open(dev, O_RDONLY)) < 0) {
                printf("Can't open %s: %s\n", dev, strerror(errno));
                return (0);
-@@ -419,7 +443,7 @@ setup( char *dev, int *blockDevice_fdPtr, int *canWritePtr )
+@@ -419,7 +443,7 @@ setup( char *dev, int *blockDevice_fdPtr
        /* attempt to get write access to the block device and if not check if volume is */
        /* mounted read-only.  */
        getWriteAccess( dev, blockDevice_fdPtr, canWritePtr );
@@ -673,7 +645,7 @@ index 90532fd..f1a18bd 100644
        if (preen == 0 && !guiControl)
                printf("** %s", dev);
        if (nflag || (fswritefd = open(dev, O_WRONLY)) < 0) {
-@@ -433,10 +457,14 @@ setup( char *dev, int *blockDevice_fdPtr, int *canWritePtr )
+@@ -433,10 +457,14 @@ setup( char *dev, int *blockDevice_fdPtr
                printf("\n");
  
        /* Get device block size to initialize cache */
@@ -688,7 +660,7 @@ index 90532fd..f1a18bd 100644
  
         /* calculate the cache block size and total blocks */
        if (CalculateCacheSize(userCacheSize, &cacheBlockSize, &cacheTotalBlocks, debug) != 0) {
-@@ -463,11 +491,15 @@ setup( char *dev, int *blockDevice_fdPtr, int *canWritePtr )
+@@ -463,11 +491,15 @@ setup( char *dev, int *blockDevice_fdPtr
  
  static void getWriteAccess( char *dev, int *blockDevice_fdPtr, int *canWritePtr )
  {
@@ -704,7 +676,7 @@ index 90532fd..f1a18bd 100644
        void *                          myNamePtr;
  
        myPtr = NULL;
-@@ -490,6 +522,9 @@ static void getWriteAccess( char *dev, int *blockDevice_fdPtr, int *canWritePtr
+@@ -490,6 +522,9 @@ static void getWriteAccess( char *dev, i
        }
        
        // get count of mounts then get the info for each 
@@ -714,7 +686,7 @@ index 90532fd..f1a18bd 100644
        myMountsCount = getfsstat( NULL, 0, MNT_NOWAIT );
        if ( myMountsCount < 0 )
                goto ExitThisRoutine;
-@@ -513,8 +548,8 @@ static void getWriteAccess( char *dev, int *blockDevice_fdPtr, int *canWritePtr
+@@ -513,8 +548,8 @@ static void getWriteAccess( char *dev, i
                }
                myBufPtr++;
        }
@@ -725,8 +697,6 @@ index 90532fd..f1a18bd 100644
  ExitThisRoutine:
        if ( myPtr != NULL )
                free( myPtr );
-diff --git a/fsck_hfs.tproj/utilities.c b/fsck_hfs.tproj/utilities.c
-index ee41bef..8e1cd77 100644
 --- a/fsck_hfs.tproj/utilities.c
 +++ b/fsck_hfs.tproj/utilities.c
 @@ -183,12 +183,14 @@ retry:
@@ -757,9 +727,6 @@ index ee41bef..8e1cd77 100644
        (void)strcat(rawbuf, &dp[1]);
  
        return (rawbuf);
-diff --git a/include/missing.h b/include/missing.h
-new file mode 100644
-index 0000000..0a859c4
 --- /dev/null
 +++ b/include/missing.h
 @@ -0,0 +1,114 @@
@@ -877,8 +844,6 @@ index 0000000..0a859c4
 +#define KAUTH_FILESEC_XATTR "com.apple.system.Security"
 +
 +#endif
-diff --git a/newfs_hfs.tproj/hfs_endian.c b/newfs_hfs.tproj/hfs_endian.c
-index 117b7f8..fdf7353 100644
 --- a/newfs_hfs.tproj/hfs_endian.c
 +++ b/newfs_hfs.tproj/hfs_endian.c
 @@ -30,7 +30,12 @@
@@ -894,8 +859,6 @@ index 117b7f8..fdf7353 100644
  #include <hfs/hfs_format.h>
  
  #include "hfs_endian.h"
-diff --git a/newfs_hfs.tproj/hfs_endian.h b/newfs_hfs.tproj/hfs_endian.h
-index 8d9d01d..5c7ff57 100644
 --- a/newfs_hfs.tproj/hfs_endian.h
 +++ b/newfs_hfs.tproj/hfs_endian.h
 @@ -29,7 +29,12 @@
@@ -911,8 +874,6 @@ index 8d9d01d..5c7ff57 100644
  
  /*********************/
  /* BIG ENDIAN Macros */
-diff --git a/newfs_hfs.tproj/makehfs.c b/newfs_hfs.tproj/makehfs.c
-index 085222f..7609779 100644
 --- a/newfs_hfs.tproj/makehfs.c
 +++ b/newfs_hfs.tproj/makehfs.c
 @@ -31,10 +31,16 @@
@@ -948,7 +909,7 @@ index 085222f..7609779 100644
  
  #include <hfs/hfs_format.h>
  #include <hfs/hfs_mount.h>
-@@ -129,7 +136,9 @@ static UInt32 Largest __P((UInt32 a, UInt32 b, UInt32 c, UInt32 d ));
+@@ -129,7 +136,9 @@ static UInt32 Largest __P((UInt32 a, UIn
  static void MarkBitInAllocationBuffer __P((HFSPlusVolumeHeader *header,
                UInt32 allocationBlock, void* sectorBuffer, UInt32 *sector));
  
@@ -958,7 +919,7 @@ index 085222f..7609779 100644
  
  static UInt32 UTCToLocal __P((UInt32 utcTime));
  
-@@ -158,11 +167,14 @@ void SETOFFSET (void *buffer, UInt16 btNodeSize, SInt16 recOffset, SInt16 vecOff
+@@ -158,11 +167,14 @@ void SETOFFSET (void *buffer, UInt16 btN
  
  #define ROUNDUP(x, u) (((x) % (u) == 0) ? (x) : ((x)/(u) + 1) * (u))
  
@@ -975,7 +936,7 @@ index 085222f..7609779 100644
  /*
   * make_hfs
   *    
-@@ -528,6 +540,7 @@ InitMDB(hfsparams_t *defaults, UInt32 driveBlocks, HFS_MDB *mdbp)
+@@ -528,6 +540,7 @@ InitMDB(hfsparams_t *defaults, UInt32 dr
         * Map UTF-8 input into a Mac encoding.
         * On conversion errors "untitled" is used as a fallback.
         */
@@ -983,7 +944,7 @@ index 085222f..7609779 100644
        {
                UniChar unibuf[kHFSMaxVolumeNameChars];
                CFStringRef cfstr;
-@@ -553,7 +566,11 @@ InitMDB(hfsparams_t *defaults, UInt32 driveBlocks, HFS_MDB *mdbp)
+@@ -553,7 +566,11 @@ InitMDB(hfsparams_t *defaults, UInt32 dr
                bcopy(&mdbp->drVN[1], defaults->volumeName, mdbp->drVN[0]);
                defaults->volumeName[mdbp->drVN[0]] = '\0';
        }
@@ -995,7 +956,7 @@ index 085222f..7609779 100644
        mdbp->drFndrInfo[4] = SET_HFS_TEXT_ENCODING(defaults->encodingHint);
  
        mdbp->drWrCnt = kWriteSeqNum;
-@@ -1100,9 +1117,11 @@ InitCatalogRoot_HFSPlus(const hfsparams_t *dp, const HFSPlusVolumeHeader *header
+@@ -1100,9 +1117,11 @@ InitCatalogRoot_HFSPlus(const hfsparams_
        UInt16                                  nodeSize;
        SInt16                                  offset;
        UInt32                                  unicodeBytes;
@@ -1007,7 +968,7 @@ index 085222f..7609779 100644
        int index = 0;
  
        nodeSize = dp->catalogNodeSize;
-@@ -1122,7 +1141,9 @@ InitCatalogRoot_HFSPlus(const hfsparams_t *dp, const HFSPlusVolumeHeader *header
+@@ -1122,7 +1141,9 @@ InitCatalogRoot_HFSPlus(const hfsparams_
         * First record is always the root directory...
         */
        ckp = (HFSPlusCatalogKey *)((UInt8 *)buffer + offset);
@@ -1018,7 +979,7 @@ index 085222f..7609779 100644
        /* Use CFString functions to get a HFSPlus Canonical name */
        cfstr = CFStringCreateWithCString(kCFAllocatorDefault, (char *)dp->volumeName, kCFStringEncodingUTF8);
        cfOK = _CFStringGetFileSystemRepresentation(cfstr, canonicalName, sizeof(canonicalName));
-@@ -1139,6 +1160,7 @@ InitCatalogRoot_HFSPlus(const hfsparams_t *dp, const HFSPlusVolumeHeader *header
+@@ -1139,6 +1160,7 @@ InitCatalogRoot_HFSPlus(const hfsparams_
                      dp->volumeName, kDefaultVolumeNameStr);
        }
        CFRelease(cfstr);
@@ -1026,7 +987,7 @@ index 085222f..7609779 100644
        ckp->nodeName.length = SWAP_BE16 (ckp->nodeName.length);
  
        unicodeBytes = sizeof(UniChar) * SWAP_BE16 (ckp->nodeName.length);
-@@ -1821,15 +1843,15 @@ WriteBuffer(const DriveInfo *driveInfo, UInt64 startingSector, UInt32 byteCount,
+@@ -1821,15 +1843,15 @@ WriteBuffer(const DriveInfo *driveInfo,
        off_t sector;
  
        if ((byteCount % driveInfo->sectorSize) != 0)
@@ -1045,7 +1006,7 @@ index 085222f..7609779 100644
  }
  
  
-@@ -1913,7 +1935,7 @@ DivideAndRoundUp(UInt32 numerator, UInt32 denominator)
+@@ -1913,7 +1935,7 @@ DivideAndRoundUp(UInt32 numerator, UInt3
        return quotient;
  }
  
@@ -1063,7 +1024,7 @@ index 085222f..7609779 100644
  
  static int
  ConvertUTF8toUnicode(const UInt8* source, UInt32 bufsize, UniChar* unibuf,
-@@ -2006,6 +2028,9 @@ ConvertUTF8toUnicode(const UInt8* source, UInt32 bufsize, UniChar* unibuf,
+@@ -2006,6 +2028,9 @@ ConvertUTF8toUnicode(const UInt8* source
  static int
  getencodinghint(unsigned char *name)
  {
@@ -1083,7 +1044,7 @@ index 085222f..7609779 100644
  }
  
  
-@@ -2034,12 +2060,14 @@ void GenerateVolumeUUID(VolumeUUID *newVolumeID) {
+@@ -2034,12 +2060,14 @@ void GenerateVolumeUUID(VolumeUUID *newV
        unsigned char digest[20];
        time_t now;
        clock_t uptime;
@@ -1101,7 +1062,7 @@ index 085222f..7609779 100644
        
        do {
                /* Initialize the SHA-1 context for processing: */
-@@ -2052,52 +2080,58 @@ void GenerateVolumeUUID(VolumeUUID *newVolumeID) {
+@@ -2052,52 +2080,58 @@ void GenerateVolumeUUID(VolumeUUID *newV
                SHA1_Update(&context, &uptime, sizeof(uptime));
                
                /* The kernel's boot time: */
@@ -1166,8 +1127,6 @@ index 085222f..7609779 100644
                /* The current GMT (26 ASCII characters): */
                time(&now);
                strncpy(randomInputBuffer, asctime(gmtime(&now)), 26);  /* "Mon Mar 27 13:46:26 2000" */
-diff --git a/newfs_hfs.tproj/newfs_hfs.c b/newfs_hfs.tproj/newfs_hfs.c
-index c4176a9..bf2ed21 100644
 --- a/newfs_hfs.tproj/newfs_hfs.c
 +++ b/newfs_hfs.tproj/newfs_hfs.c
 @@ -38,8 +38,13 @@
@@ -1273,7 +1232,7 @@ index c4176a9..bf2ed21 100644
        }
  
        exit(0);
-@@ -506,7 +527,9 @@ hfs_newfs(char *device, int forceHFS, int isRaw)
+@@ -506,7 +527,9 @@ hfs_newfs(char *device, int forceHFS, in
        int fso = 0;
        int retval = 0;
        hfsparams_t defaults = {0};
@@ -1283,7 +1242,7 @@ index c4176a9..bf2ed21 100644
  
        if (gPartitionSize) {
                        dip.sectorSize = kBytesPerSector;
-@@ -526,6 +549,34 @@ hfs_newfs(char *device, int forceHFS, int isRaw)
+@@ -526,6 +549,34 @@ hfs_newfs(char *device, int forceHFS, in
        
                if (fstat( fso, &stbuf) < 0)
                        fatal("%s: %s", device, strerror(errno));
@@ -1318,7 +1277,7 @@ index c4176a9..bf2ed21 100644
        
                if (ioctl(fso, DKIOCGETBLOCKCOUNT, &dip.totalSectors) < 0)
                        fatal("%s: %s", device, strerror(errno));
-@@ -537,11 +588,14 @@ hfs_newfs(char *device, int forceHFS, int isRaw)
+@@ -537,11 +588,14 @@ hfs_newfs(char *device, int forceHFS, in
                        dip.sectorsPerIO = (128 * 1024) / dip.sectorSize;  /* use 128K as default */
                else
                        dip.sectorsPerIO = MIN(maxSectorsPerIO, (1024 * 1024) / dip.sectorSize);
@@ -1333,7 +1292,7 @@ index c4176a9..bf2ed21 100644
                if (dip.sectorSize != kBytesPerSector) {
                        if (isRaw) {
                                close(fso);
-@@ -556,7 +610,9 @@ hfs_newfs(char *device, int forceHFS, int isRaw)
+@@ -556,7 +610,9 @@ hfs_newfs(char *device, int forceHFS, in
                                dip.sectorSize = kBytesPerSector;
                        }
                }
@@ -1343,8 +1302,6 @@ index c4176a9..bf2ed21 100644
        dip.sectorOffset = 0;
        time(&createtime);
  
-diff --git a/newfs_hfs.tproj/newfs_hfs.h b/newfs_hfs.tproj/newfs_hfs.h
-index 968ff10..5680a34 100644
 --- a/newfs_hfs.tproj/newfs_hfs.h
 +++ b/newfs_hfs.tproj/newfs_hfs.h
 @@ -19,8 +19,12 @@
index 36b94175ea28c84837f60380e689b8672f191e6d..02b4a6c2c5b2af030c8cc0d0dab26ca599b55e68 100644 (file)
@@ -15,9 +15,6 @@ the data structures used by the programs that manipulate the filesystems.
  create mode 100644 include/hfs/hfs_mount.h
  create mode 100644 include/sys/appleapiopts.h
 
-diff --git a/include/bitstring.h b/include/bitstring.h
-new file mode 100644
-index 0000000..fbecfbe
 --- /dev/null
 +++ b/include/bitstring.h
 @@ -0,0 +1,164 @@
@@ -185,9 +182,6 @@ index 0000000..fbecfbe
 +}
 +
 +#endif /* !_BITSTRING_H_ */
-diff --git a/include/hfs/hfs_format.h b/include/hfs/hfs_format.h
-new file mode 100644
-index 0000000..d820329
 --- /dev/null
 +++ b/include/hfs/hfs_format.h
 @@ -0,0 +1,689 @@
@@ -880,9 +874,6 @@ index 0000000..d820329
 +#endif
 +
 +#endif /* __HFS_FORMAT__ */
-diff --git a/include/hfs/hfs_mount.h b/include/hfs/hfs_mount.h
-new file mode 100644
-index 0000000..ad729f2
 --- /dev/null
 +++ b/include/hfs/hfs_mount.h
 @@ -0,0 +1,78 @@
@@ -964,9 +955,6 @@ index 0000000..ad729f2
 +#endif /* __APPLE_API_UNSTABLE */
 +
 +#endif /* ! _HFS_MOUNT_H_ */
-diff --git a/include/sys/appleapiopts.h b/include/sys/appleapiopts.h
-new file mode 100644
-index 0000000..4d2061f
 --- /dev/null
 +++ b/include/sys/appleapiopts.h
 @@ -0,0 +1,52 @@
index 57f6011084addcf572658861a3e1dcab227557d4..27912ef1739270c9787db5a8091152621d0a4057 100644 (file)
@@ -9,8 +9,6 @@ Subject: Fix compilation on 64-bit arches
  fsck_hfs.tproj/dfalib/hfs_endian.c   |  2 +-
  4 files changed, 16 insertions(+), 13 deletions(-)
 
-diff --git a/fsck_hfs.tproj/dfalib/BTreePrivate.h b/fsck_hfs.tproj/dfalib/BTreePrivate.h
-index 058c75b..2fc2f28 100644
 --- a/fsck_hfs.tproj/dfalib/BTreePrivate.h
 +++ b/fsck_hfs.tproj/dfalib/BTreePrivate.h
 @@ -104,6 +104,9 @@ typedef enum {
@@ -23,7 +21,7 @@ index 058c75b..2fc2f28 100644
  typedef struct BTreeControlBlock {                                    // fields specific to BTree CBs
  
        UInt8           keyCompareType;   /* Key string Comparison Type */
-@@ -144,7 +147,7 @@ typedef struct BTreeControlBlock {                                 // fields specific to BTree CBs
+@@ -144,7 +147,7 @@ typedef struct BTreeControlBlock {                                 /
        UInt32                                           numPossibleHints;      // Looks like a formated hint
        UInt32                                           numValidHints;         // Hint used to find correct record.
        
@@ -32,8 +30,6 @@ index 058c75b..2fc2f28 100644
        SFCB                                            *fcbPtr;                // fcb of btree file
        
  } BTreeControlBlock, *BTreeControlBlockPtr;
-diff --git a/fsck_hfs.tproj/dfalib/SControl.c b/fsck_hfs.tproj/dfalib/SControl.c
-index 37eb242..4ce9e16 100644
 --- a/fsck_hfs.tproj/dfalib/SControl.c
 +++ b/fsck_hfs.tproj/dfalib/SControl.c
 @@ -1034,7 +1034,7 @@ static int ScavTerm( SGlobPtr GPtr )
@@ -70,11 +66,9 @@ index 37eb242..4ce9e16 100644
                        }
                }
        }
-diff --git a/fsck_hfs.tproj/dfalib/SVerify1.c b/fsck_hfs.tproj/dfalib/SVerify1.c
-index c272d4d..a273bf3 100644
 --- a/fsck_hfs.tproj/dfalib/SVerify1.c
 +++ b/fsck_hfs.tproj/dfalib/SVerify1.c
-@@ -789,8 +789,8 @@ OSErr      CreateExtentsBTreeControlBlock( SGlobPtr GPtr )
+@@ -789,8 +789,8 @@ OSErr      CreateExtentsBTreeControlBlock( SG
        //
        //      set up our DFA extended BTCB area.  Will we have enough memory on all HFS+ volumes.
        //
@@ -85,7 +79,7 @@ index c272d4d..a273bf3 100644
                err = R_NoMem;
                goto exit;
        }
-@@ -1144,8 +1144,8 @@ OSErr    CreateCatalogBTreeControlBlock( SGlobPtr GPtr )
+@@ -1144,8 +1144,8 @@ OSErr    CreateCatalogBTreeControlBlock( SG
        //      set up our DFA extended BTCB area.  Will we have enough memory on all HFS+ volumes.
        //
  
@@ -96,7 +90,7 @@ index c272d4d..a273bf3 100644
                err = R_NoMem;
                goto exit;
        }
-@@ -1779,8 +1779,8 @@ OSErr    CreateAttributesBTreeControlBlock( SGlobPtr GPtr )
+@@ -1779,8 +1779,8 @@ OSErr    CreateAttributesBTreeControlBlock(
        //
        //      set up our DFA extended BTCB area.  Will we have enough memory on all HFS+ volumes.
        //
@@ -107,7 +101,7 @@ index c272d4d..a273bf3 100644
                err = R_NoMem;
                goto exit;
        }
-@@ -1793,7 +1793,7 @@ OSErr    CreateAttributesBTreeControlBlock( SGlobPtr GPtr )
+@@ -1793,7 +1793,7 @@ OSErr    CreateAttributesBTreeControlBlock(
        }
        else
        {
@@ -116,8 +110,6 @@ index c272d4d..a273bf3 100644
                        err = R_NoMem;
                        goto exit;
                }
-diff --git a/fsck_hfs.tproj/dfalib/hfs_endian.c b/fsck_hfs.tproj/dfalib/hfs_endian.c
-index 69500c1..3cc9eb4 100755
 --- a/fsck_hfs.tproj/dfalib/hfs_endian.c
 +++ b/fsck_hfs.tproj/dfalib/hfs_endian.c
 @@ -437,7 +437,7 @@ hfs_swap_HFSPlusBTInternalNode (
index 318fd603a20c766d70c26213356e7605114015c6..81714e9dc56aa0ddad0cabe40794ea9afe2cd59f 100644 (file)
@@ -9,11 +9,9 @@ character of them.
  fsck_hfs.tproj/dfalib/SBTree.c       | 14 +++++------
  2 files changed, 31 insertions(+), 31 deletions(-)
 
-diff --git a/fsck_hfs.tproj/dfalib/BTreeTreeOps.c b/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
-index b812b14..37fb170 100644
 --- a/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
 +++ b/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
-@@ -223,7 +223,7 @@ OSStatus   SearchTree      (BTreeControlBlockPtr    btreePtr,
+@@ -223,7 +223,7 @@ OSStatus   SearchTree      (BTreeControlBlockPt
          //
          if (curNodeNum == 0)
          {
@@ -22,7 +20,7 @@ index b812b14..37fb170 100644
              err = fsBTInvalidNodeErr;
              goto ErrorExit;
          }
-@@ -433,7 +433,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -433,7 +433,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
                M_ExitOnError (err);
                
                if ( DEBUG_BUILD && updateParent && newRoot )
@@ -31,7 +29,7 @@ index b812b14..37fb170 100644
        }
  
        //////////////////////// Update Parent(s) ///////////////////////////////
-@@ -448,7 +448,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -448,7 +448,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
                
                secondaryKey = nil;
                
@@ -40,7 +38,7 @@ index b812b14..37fb170 100644
  
                ++level;
  
-@@ -456,7 +456,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -456,7 +456,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
                index = treePathTable [level].index;
                parentNodeNum = treePathTable [level].node;
  
@@ -49,7 +47,7 @@ index b812b14..37fb170 100644
  
                err = GetNode (btreePtr, parentNodeNum, &parentNode);   // released as target node in next level up
                M_ExitOnError (err);
-@@ -470,7 +470,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -470,7 +470,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
                {
                        //¥¥Êdebug: check if ptr == targetNodeNum
                        GetRecordByIndex (btreePtr, parentNode.buffer, index, &keyPtr, &recPtr, &recSize);
@@ -67,7 +65,7 @@ index b812b14..37fb170 100644
  
        return  err;
  
-@@ -566,7 +566,7 @@ static OSErr       InsertNode      (BTreeControlBlockPtr    btreePtr,
+@@ -566,7 +566,7 @@ static OSErr       InsertNode      (BTreeControlBlo
  
        *rootSplit = false;
        
@@ -76,7 +74,7 @@ index b812b14..37fb170 100644
        
        leftNodeNum = ((NodeDescPtr) targetNode->buffer)->bLink;
        rightNodeNum = ((NodeDescPtr) targetNode->buffer)->fLink;
-@@ -606,7 +606,7 @@ static OSErr       InsertNode      (BTreeControlBlockPtr    btreePtr,
+@@ -606,7 +606,7 @@ static OSErr       InsertNode      (BTreeControlBlo
        
        if ( leftNodeNum > 0 )
        {
@@ -85,7 +83,7 @@ index b812b14..37fb170 100644
  
                if ( siblingNode->buffer == nil )
                {
-@@ -614,7 +614,7 @@ static OSErr       InsertNode      (BTreeControlBlockPtr    btreePtr,
+@@ -614,7 +614,7 @@ static OSErr       InsertNode      (BTreeControlBlo
                        M_ExitOnError (err);
                }
  
@@ -94,7 +92,7 @@ index b812b14..37fb170 100644
  
                if ( !key->skipRotate )         // are rotates allowed?
                {
-@@ -703,7 +703,7 @@ OSStatus   DeleteTree                      (BTreeControlBlockPtr            btreePtr,
+@@ -703,7 +703,7 @@ OSStatus   DeleteTree                      (BTreeControlBlock
  
        targetNodeNum = treePathTable[level].node;
        targetNodePtr = targetNode->buffer;
@@ -103,7 +101,7 @@ index b812b14..37fb170 100644
  
        DeleteRecord (btreePtr, targetNodePtr, index);
                
-@@ -797,7 +797,7 @@ OSStatus   DeleteTree                      (BTreeControlBlockPtr            btreePtr,
+@@ -797,7 +797,7 @@ OSStatus   DeleteTree                      (BTreeControlBlock
                         
                        //¥¥Êdebug: check if ptr == targetNodeNum
                        GetRecordByIndex (btreePtr, parentNode.buffer, index, &keyPtr, &recPtr, &recSize);
@@ -112,7 +110,7 @@ index b812b14..37fb170 100644
                        
                        // need to delete and re-insert this parent key/ptr
                        DeleteRecord (btreePtr, parentNode.buffer, index);
-@@ -1018,7 +1018,7 @@ static OSStatus  RotateLeft              (BTreeControlBlockPtr            btreePtr,
+@@ -1018,7 +1018,7 @@ static OSStatus  RotateLeft              (BTreeContro
                                                                                keyPtr, keyLength, recPtr, recSize);
                        if ( !didItFit )
                        {
@@ -121,7 +119,7 @@ index b812b14..37fb170 100644
                                err = fsBTBadRotateErr;
                                goto ErrorExit;
                        }
-@@ -1031,7 +1031,7 @@ static OSStatus  RotateLeft              (BTreeControlBlockPtr            btreePtr,
+@@ -1031,7 +1031,7 @@ static OSStatus  RotateLeft              (BTreeContro
                        didItFit = RotateRecordLeft (btreePtr, leftNode, rightNode);
                        if ( !didItFit )
                        {
@@ -130,7 +128,7 @@ index b812b14..37fb170 100644
                                err = fsBTBadRotateErr;
                                goto ErrorExit;
                        }
-@@ -1048,7 +1048,7 @@ static OSStatus  RotateLeft              (BTreeControlBlockPtr            btreePtr,
+@@ -1048,7 +1048,7 @@ static OSStatus  RotateLeft              (BTreeContro
                                                                        keyPtr, keyLength, recPtr, recSize);
                if ( !didItFit )
                {
@@ -139,7 +137,7 @@ index b812b14..37fb170 100644
                        err = fsBTBadRotateErr;
                        goto ErrorExit;
                }
-@@ -1117,7 +1117,7 @@ static OSStatus  SplitLeft               (BTreeControlBlockPtr            btreePtr,
+@@ -1117,7 +1117,7 @@ static OSStatus  SplitLeft               (BTreeControl
        right = rightNode->buffer;
        left  = leftNode->buffer;
        
@@ -148,7 +146,7 @@ index b812b14..37fb170 100644
        
        //¥¥ type should be kLeafNode or kIndexNode
        
-@@ -1240,8 +1240,8 @@ static OSStatus  AddNewRootNode  (BTreeControlBlockPtr    btreePtr,
+@@ -1240,8 +1240,8 @@ static OSStatus  AddNewRootNode  (BTreeCon
        Boolean                         didItFit;
        UInt16                          keyLength;      
        
@@ -159,7 +157,7 @@ index b812b14..37fb170 100644
        
        
        /////////////////////// Initialize New Root Node ////////////////////////////
-@@ -1264,7 +1264,7 @@ static OSStatus  AddNewRootNode  (BTreeControlBlockPtr    btreePtr,
+@@ -1264,7 +1264,7 @@ static OSStatus  AddNewRootNode  (BTreeCon
        didItFit = InsertKeyRecord ( btreePtr, rootNode.buffer, 0, keyPtr, keyLength,
                                                                 (UInt8 *) &rightNode->bLink, 4 );
  
@@ -168,7 +166,7 @@ index b812b14..37fb170 100644
  
  
        //////////////////// Insert Right Node Index Record /////////////////////////
-@@ -1275,7 +1275,7 @@ static OSStatus  AddNewRootNode  (BTreeControlBlockPtr    btreePtr,
+@@ -1275,7 +1275,7 @@ static OSStatus  AddNewRootNode  (BTreeCon
        didItFit = InsertKeyRecord ( btreePtr, rootNode.buffer, 1, keyPtr, keyLength,
                                                                 (UInt8 *) &leftNode->fLink, 4 );
  
@@ -177,7 +175,7 @@ index b812b14..37fb170 100644
  
  
  #if DEBUG_TREEOPS
-@@ -1355,7 +1355,7 @@ static OSStatus  SplitRight              (BTreeControlBlockPtr            btreePtr,
+@@ -1355,7 +1355,7 @@ static OSStatus  SplitRight              (BTreeContro
        }
        rightPtr = rightNodePtr->buffer;
        
@@ -186,7 +184,7 @@ index b812b14..37fb170 100644
        
        //¥¥ type should be kLeafNode or kIndexNode
        
-@@ -1557,7 +1557,7 @@ static OSStatus  RotateRight             (BTreeControlBlockPtr            btreePtr,
+@@ -1557,7 +1557,7 @@ static OSStatus  RotateRight             (BTreeContr
                                                                        keyPtr, keyLength, recPtr, recSize);
                if ( !didItFit )
                {
@@ -195,7 +193,7 @@ index b812b14..37fb170 100644
                        err = fsBTBadRotateErr;
                        goto ErrorExit;
                }
-@@ -1572,7 +1572,7 @@ static OSStatus  RotateRight             (BTreeControlBlockPtr            btreePtr,
+@@ -1572,7 +1572,7 @@ static OSStatus  RotateRight             (BTreeContr
                didItFit = RotateRecordRight( btreePtr, leftNodePtr, rightNodePtr );
                if ( !didItFit )
                {
@@ -204,7 +202,7 @@ index b812b14..37fb170 100644
                        err = fsBTBadRotateErr;
                        goto ErrorExit;
                }
-@@ -1583,7 +1583,7 @@ static OSStatus  RotateRight             (BTreeControlBlockPtr            btreePtr,
+@@ -1583,7 +1583,7 @@ static OSStatus  RotateRight             (BTreeContr
                                                                                keyPtr, keyLength, recPtr, recSize);
                        if ( !didItFit )
                        {
@@ -213,7 +211,7 @@ index b812b14..37fb170 100644
                                err = fsBTBadRotateErr;
                                goto ErrorExit;
                        }
-@@ -1607,7 +1607,7 @@ static OSStatus  RotateRight             (BTreeControlBlockPtr            btreePtr,
+@@ -1607,7 +1607,7 @@ static OSStatus  RotateRight             (BTreeContr
                                                                        keyPtr, keyLength, recPtr, recSize);
                if ( !didItFit )
                {
@@ -222,11 +220,9 @@ index b812b14..37fb170 100644
                        err = fsBTBadRotateErr;
                        goto ErrorExit;
                }
-diff --git a/fsck_hfs.tproj/dfalib/SBTree.c b/fsck_hfs.tproj/dfalib/SBTree.c
-index cd81b13..eeb4e8c 100644
 --- a/fsck_hfs.tproj/dfalib/SBTree.c
 +++ b/fsck_hfs.tproj/dfalib/SBTree.c
-@@ -103,7 +103,7 @@ OSErr SearchBTreeRecord(SFCB *fcb, const void* key, UInt32 hint, void* foundKey,
+@@ -103,7 +103,7 @@ OSErr SearchBTreeRecord(SFCB *fcb, const
                        CopyMemory(&resultIterator->key, foundKey, CalcKeySize(btcb, &resultIterator->key));    //¥¥ warning, this could overflow user's buffer!!!
  
                if ( DEBUG_BUILD && !ValidHFSRecord(data, btcb, *dataSize) )
@@ -235,7 +231,7 @@ index cd81b13..eeb4e8c 100644
        }
  
  ErrorExit:
-@@ -211,7 +211,7 @@ OSErr GetBTreeRecord(SFCB *fcb, SInt16 selectionIndex, void* key, void* data, UI
+@@ -211,7 +211,7 @@ OSErr GetBTreeRecord(SFCB *fcb, SInt16 s
                CopyMemory(&iterator->key, key, CalcKeySize(btcb, &iterator->key));     //¥¥ warning, this could overflow user's buffer!!!
                
                if ( DEBUG_BUILD && !ValidHFSRecord(data, btcb, *dataSize) )
@@ -244,7 +240,7 @@ index cd81b13..eeb4e8c 100644
  
        }
        
-@@ -243,7 +243,7 @@ OSErr InsertBTreeRecord(SFCB *fcb, const void* key, const void* data, UInt16 dat
+@@ -243,7 +243,7 @@ OSErr InsertBTreeRecord(SFCB *fcb, const
        CopyMemory(key, &iterator.key, CalcKeySize(btcb, (BTreeKey *) key));    //¥¥ should we range check against maxkeylen?
  
        if ( DEBUG_BUILD && !ValidHFSRecord(data, btcb, dataSize) )
@@ -253,7 +249,7 @@ index cd81b13..eeb4e8c 100644
  
        result = BTInsertRecord( fcb, &iterator, &btRecord, dataSize );
  
-@@ -305,7 +305,7 @@ OSErr ReplaceBTreeRecord(SFCB *fcb, const void* key, UInt32 hint, void *newData,
+@@ -305,7 +305,7 @@ OSErr ReplaceBTreeRecord(SFCB *fcb, cons
        CopyMemory(key, &iterator.key, CalcKeySize(btcb, (BTreeKey *) key));            //¥¥ should we range check against maxkeylen?
  
        if ( DEBUG_BUILD && !ValidHFSRecord(newData, btcb, dataSize) )
@@ -262,7 +258,7 @@ index cd81b13..eeb4e8c 100644
  
        result = BTReplaceRecord( fcb, &iterator, &btRecord, dataSize );
  
-@@ -344,7 +344,7 @@ SetEndOfForkProc ( SFCB *filePtr, FSSize minEOF, FSSize maxEOF )
+@@ -344,7 +344,7 @@ SetEndOfForkProc ( SFCB *filePtr, FSSize
        else
        {
                if ( DEBUG_BUILD )
@@ -271,7 +267,7 @@ index cd81b13..eeb4e8c 100644
                return -1;
        }
  
-@@ -370,7 +370,7 @@ SetEndOfForkProc ( SFCB *filePtr, FSSize minEOF, FSSize maxEOF )
+@@ -370,7 +370,7 @@ SetEndOfForkProc ( SFCB *filePtr, FSSize
        //      Make sure we got at least as much space as we needed
        //
        if (filePtr->fcbLogicalSize < minEOF) {
@@ -280,7 +276,7 @@ index cd81b13..eeb4e8c 100644
                return dskFulErr;
        }
        
-@@ -442,7 +442,7 @@ static OSErr CheckBTreeKey(const BTreeKey *key, const BTreeControlBlock *btcb)
+@@ -442,7 +442,7 @@ static OSErr CheckBTreeKey(const BTreeKe
        if ( (keyLen < 6) || (keyLen > btcb->maxKeyLength) )
        {
                if ( DEBUG_BUILD )
index 09efbb6ef79c58235427a8bd0414571ee0c34ed4..d4bb88bd62cfc3e92717b1a44bb948df4dea442a 100644 (file)
@@ -9,8 +9,6 @@ in 32 and 64-bit architectures.
  fsck_hfs.tproj/dfalib/hfs_endian.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/fsck_hfs.tproj/dfalib/SControl.c b/fsck_hfs.tproj/dfalib/SControl.c
-index 4ce9e16..8b03ece 100644
 --- a/fsck_hfs.tproj/dfalib/SControl.c
 +++ b/fsck_hfs.tproj/dfalib/SControl.c
 @@ -776,7 +776,7 @@ static int ScavSetUp( SGlob *GPtr)
@@ -22,8 +20,6 @@ index 4ce9e16..8b03ece 100644
                                        R_NoMem, sizeof(ScavStaticStructures) );
                        }
                        return( R_NoMem );
-diff --git a/fsck_hfs.tproj/dfalib/hfs_endian.c b/fsck_hfs.tproj/dfalib/hfs_endian.c
-index 3cc9eb4..6ca2ac1 100755
 --- a/fsck_hfs.tproj/dfalib/hfs_endian.c
 +++ b/fsck_hfs.tproj/dfalib/hfs_endian.c
 @@ -563,7 +563,7 @@ hfs_swap_HFSPlusBTInternalNode (
index f92bb228a97da2810b1126f0f63ebda42161c707..4cfab48b35665c8c027e994c5c070517a3d22c81 100644 (file)
@@ -8,11 +8,9 @@ systems (since it is arch independent).
  newfs_hfs.tproj/makehfs.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/newfs_hfs.tproj/makehfs.c b/newfs_hfs.tproj/makehfs.c
-index 7609779..2233ef7 100644
 --- a/newfs_hfs.tproj/makehfs.c
 +++ b/newfs_hfs.tproj/makehfs.c
-@@ -70,7 +70,7 @@ extern Boolean _CFStringGetFileSystemRepresentation(CFStringRef string, UInt8 *b
+@@ -70,7 +70,7 @@ extern Boolean _CFStringGetFileSystemRep
  #include "readme.h"
  
  
index 366dbbc0dacc97b3c778395cce4ddec16291adbd..26b94ab4a19b19ee9d98c428c0be230deb110dfd 100644 (file)
@@ -8,8 +8,6 @@ behavior that the -p option has, for greater compatibility with other tools.
  fsck_hfs.tproj/fsck_hfs.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
 
-diff --git a/fsck_hfs.tproj/fsck_hfs.c b/fsck_hfs.tproj/fsck_hfs.c
-index f1a18bd..6117698 100644
 --- a/fsck_hfs.tproj/fsck_hfs.c
 +++ b/fsck_hfs.tproj/fsck_hfs.c
 @@ -104,7 +104,7 @@ main(argc, argv)
index 23f85183cd0db5f5c22cb087786e0ad4264edaed..a1a2b2417f15ef0fe680bb10dae71b9b05bd7f28 100644 (file)
@@ -9,11 +9,9 @@ Subject: Rename dprintf to dbg_printf
  fsck_hfs.tproj/fsck_debug.h      | 10 +++++-----
  4 files changed, 22 insertions(+), 22 deletions(-)
 
-diff --git a/fsck_hfs.tproj/dfalib/SRepair.c b/fsck_hfs.tproj/dfalib/SRepair.c
-index 8eb759c..89c12d6 100644
 --- a/fsck_hfs.tproj/dfalib/SRepair.c
 +++ b/fsck_hfs.tproj/dfalib/SRepair.c
-@@ -1825,13 +1825,13 @@ static OSErr FixAttrSize(SGlobPtr GPtr, RepairOrderPtr p)
+@@ -1825,13 +1825,13 @@ static OSErr FixAttrSize(SGlobPtr GPtr,
        result = BTSearchRecord(GPtr->calculatedAttributesFCB, &iterator, 
                                kInvalidMRUCacheKey, &btRecord, &recSize, &iterator);
        if (result) {
@@ -29,7 +27,7 @@ index 8eb759c..89c12d6 100644
                result = btNotFound;
                goto out;
        }
-@@ -1862,7 +1862,7 @@ static OSErr FixAttrSize(SGlobPtr GPtr, RepairOrderPtr p)
+@@ -1862,7 +1862,7 @@ static OSErr FixAttrSize(SGlobPtr GPtr,
                result = BTReplaceRecord(GPtr->calculatedAttributesFCB, &iterator,
                                        &btRecord, recSize);
                if (result) {
@@ -47,7 +45,7 @@ index 8eb759c..89c12d6 100644
                if (err) {
                        goto create_symlink;
                }
-@@ -3227,12 +3227,12 @@ static OSErr MoveExtent(SGlobPtr GPtr, ExtentInfo *extentInfo)
+@@ -3227,12 +3227,12 @@ static OSErr MoveExtent(SGlobPtr GPtr, E
                                                                                          &extentData, &recordSize, &foundExtentIndex);
                                foundLocation = extentsBTree;
                                if (err != noErr) {
@@ -62,7 +60,7 @@ index 8eb759c..89c12d6 100644
                                goto out;
                        }
                }
-@@ -3241,7 +3241,7 @@ static OSErr MoveExtent(SGlobPtr GPtr, ExtentInfo *extentInfo)
+@@ -3241,7 +3241,7 @@ static OSErr MoveExtent(SGlobPtr GPtr, E
        err = CopyDiskBlocks(GPtr, extentInfo->startBlock, extentInfo->blockCount, 
                                                 extentInfo->newStartBlock);
        if (err != noErr) {
@@ -71,7 +69,7 @@ index 8eb759c..89c12d6 100644
                goto out;
        }
        
-@@ -3260,7 +3260,7 @@ static OSErr MoveExtent(SGlobPtr GPtr, ExtentInfo *extentInfo)
+@@ -3260,7 +3260,7 @@ static OSErr MoveExtent(SGlobPtr GPtr, E
  
        }
        if (err != noErr) {
@@ -80,7 +78,7 @@ index 8eb759c..89c12d6 100644
                goto out;
        }
  
-@@ -3491,7 +3491,7 @@ static OSErr SearchExtentInAttributeBT(SGlobPtr GPtr, ExtentInfo *extentInfo,
+@@ -3491,7 +3491,7 @@ static OSErr SearchExtentInAttributeBT(S
        result = BTSearchRecord(GPtr->calculatedAttributesFCB, &iterator, 
                                kInvalidMRUCacheKey, &btRecord, recordSize, &iterator);
        if (result) {
@@ -89,11 +87,9 @@ index 8eb759c..89c12d6 100644
                goto out;       
        }
        
-diff --git a/fsck_hfs.tproj/dfalib/SVerify1.c b/fsck_hfs.tproj/dfalib/SVerify1.c
-index a273bf3..39bda5c 100644
 --- a/fsck_hfs.tproj/dfalib/SVerify1.c
 +++ b/fsck_hfs.tproj/dfalib/SVerify1.c
-@@ -2157,9 +2157,9 @@ CheckAttributeRecord(SGlobPtr GPtr, const HFSPlusAttrKey *key, const HFSPlusAttr
+@@ -2157,9 +2157,9 @@ CheckAttributeRecord(SGlobPtr GPtr, cons
        
        if (doDelete == true) {
                result = DeleteBTreeRecord(GPtr->calculatedAttributesFCB, key);
@@ -105,7 +101,7 @@ index a273bf3..39bda5c 100644
                }
                
                /* Set flags to mark header and map dirty */
-@@ -3034,7 +3034,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, UInt32 fileNumber, UInt8 forkType,
+@@ -3034,7 +3034,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, U
                //      checkout the extent record first
                err = ChkExtRec( GPtr, extents, &lastExtentIndex );
                if (err != noErr) {
@@ -114,8 +110,6 @@ index a273bf3..39bda5c 100644
  
                        /* Stop verification if bad extent is found for system file or EA */
                        if ((fileNumber < kHFSFirstUserCatalogNodeID) ||
-diff --git a/fsck_hfs.tproj/fsck_debug.c b/fsck_hfs.tproj/fsck_debug.c
-index 1be3fc5..77e8e51 100644
 --- a/fsck_hfs.tproj/fsck_debug.c
 +++ b/fsck_hfs.tproj/fsck_debug.c
 @@ -25,18 +25,18 @@
@@ -150,8 +144,6 @@ index 1be3fc5..77e8e51 100644
  {
        if (cur_debug_level & type) {
                va_list ap;
-diff --git a/fsck_hfs.tproj/fsck_debug.h b/fsck_hfs.tproj/fsck_debug.h
-index 81e3932..cb1b9be 100644
 --- a/fsck_hfs.tproj/fsck_debug.h
 +++ b/fsck_hfs.tproj/fsck_debug.h
 @@ -36,18 +36,18 @@ enum debug_message_type {
index 354b4ffc042e0178dad1b675c7008209d1258454..13ac4ed7ad5d246f8f0830bfb88d85b54483d501 100644 (file)
@@ -15,11 +15,9 @@ Subject: Rename custom macro nil with NULL
  fsck_hfs.tproj/dfalib/SVerify2.c      |   4 +-
  10 files changed, 177 insertions(+), 177 deletions(-)
 
-diff --git a/fsck_hfs.tproj/dfalib/BTree.c b/fsck_hfs.tproj/dfalib/BTree.c
-index 7ad9fe0..c0c8744 100644
 --- a/fsck_hfs.tproj/dfalib/BTree.c
 +++ b/fsck_hfs.tproj/dfalib/BTree.c
-@@ -163,21 +163,21 @@ OSStatus BTInitialize            (FCB                                    *filePtr,
+@@ -163,21 +163,21 @@ OSStatus BTInitialize            (FCB                                    *filePtr
  
        ////////////////////// Preliminary Error Checking ///////////////////////////
  
@@ -48,7 +46,7 @@ index 7ad9fe0..c0c8744 100644
  
        if ((maxKeyLength == 0) ||
                (maxKeyLength >  kMaxKeyLength))                                        return  fsBTInvalidKeyLengthErr;
-@@ -209,7 +209,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr,
+@@ -209,7 +209,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr
        //////////////////////// Allocate Control Block /////////////////////////////
  
        M_RESIDENT_ALLOCATE_FIXED_CLEAR( &btreePtr, sizeof( BTreeControlBlock ), kFSBTreeControlBlockType );
@@ -57,7 +55,7 @@ index 7ad9fe0..c0c8744 100644
        {
                err = memFullErr;
                goto ErrorExit;
-@@ -220,7 +220,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr,
+@@ -220,7 +220,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr
        btreePtr->flags                         = 0;
        btreePtr->attributes            = 0;
        btreePtr->forkPtr                       = forkPtr;
@@ -66,7 +64,7 @@ index 7ad9fe0..c0c8744 100644
        btreePtr->keyDescPtr            = keyDescPtr;
        btreePtr->btreeType                     = btreeType;
        btreePtr->treeDepth                     = 0;
-@@ -282,7 +282,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr,
+@@ -282,7 +282,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr
  
        ///////////////////// Copy Key Descriptor To Header /////////////////////////
  #if SupportsKeyDescriptors
@@ -75,7 +73,7 @@ index 7ad9fe0..c0c8744 100644
        {
                err = CheckKeyDescriptor (keyDescPtr, maxKeyLength);
                M_ExitOnError (err);
-@@ -309,7 +309,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr,
+@@ -309,7 +309,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr
        err = UpdateHeader (btreePtr);
        M_ExitOnError (err);
  
@@ -84,7 +82,7 @@ index 7ad9fe0..c0c8744 100644
        M_RESIDENT_DEALLOCATE_FIXED( btreePtr, sizeof( BTreeControlBlock ), kFSBTreeControlBlockType );
  
        return  noErr;
-@@ -320,7 +320,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr,
+@@ -320,7 +320,7 @@ OSStatus   BTInitialize            (FCB                                    *filePtr
  ErrorExit:
  
        (void) ReleaseNode (btreePtr, &headerNode);
@@ -93,7 +91,7 @@ index 7ad9fe0..c0c8744 100644
                M_RESIDENT_DEALLOCATE_FIXED( btreePtr, sizeof( BTreeControlBlock ), kFSBTreeControlBlockType );
  
        return  err;
-@@ -342,7 +342,7 @@ Input:             filePtr                         - pointer to file to open as a B-tree
+@@ -342,7 +342,7 @@ Input:             filePtr                         - pointer to file to
                        setEndOfForkProc        - pointer to client's SetEOF function
  
  Result:               noErr                           - success
@@ -102,7 +100,7 @@ index 7ad9fe0..c0c8744 100644
                        fsBTInvalidFileErr                              -
                        memFullErr                      -
                        != noErr                        - failure
-@@ -364,16 +364,16 @@ OSStatus BTOpenPath                      (SFCB                                   *filePtr,
+@@ -364,16 +364,16 @@ OSStatus BTOpenPath                      (SFCB                                   *filePtr
  
        ////////////////////// Preliminary Error Checking ///////////////////////////
  
@@ -125,7 +123,7 @@ index 7ad9fe0..c0c8744 100644
                return noErr;
  
                                                                                                // is file large enough to contain header node?
-@@ -384,7 +384,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr,
+@@ -384,7 +384,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr
        //////////////////////// Allocate Control Block /////////////////////////////
  
        btreePtr = (BTreeControlBlock*) AllocateClearMemory( sizeof( BTreeControlBlock ) );
@@ -134,7 +132,7 @@ index 7ad9fe0..c0c8744 100644
        {
                Panic ("\pBTOpen: no memory for btreePtr.");
                return  memFullErr;
-@@ -397,7 +397,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr,
+@@ -397,7 +397,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr
  
        /////////////////////////// Read Header Node ////////////////////////////////
  
@@ -143,7 +141,7 @@ index 7ad9fe0..c0c8744 100644
        
        btreePtr->fcbPtr                        = filePtr;
        filePtr->fcbBtree                       = (void *) btreePtr;    // attach btree cb to file
-@@ -487,7 +487,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr,
+@@ -487,7 +487,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr
  
        ////////////////////////// Get Key Descriptor ///////////////////////////////
  #if SupportsKeyDescriptors
@@ -152,7 +150,7 @@ index 7ad9fe0..c0c8744 100644
        {
                err = GetKeyDescriptor (btreePtr, nodeRec.buffer);      //¥¥ it should check amount of memory allocated...
                M_ExitOnError (err);
-@@ -499,7 +499,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr,
+@@ -499,7 +499,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr
        else
  #endif
        {
@@ -161,7 +159,7 @@ index 7ad9fe0..c0c8744 100644
        }
  
        err = ReleaseNode (btreePtr, &nodeRec);
-@@ -528,7 +528,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr,
+@@ -528,7 +528,7 @@ OSStatus   BTOpenPath                      (SFCB                                   *filePtr
  
  ErrorExit:
  
@@ -170,7 +168,7 @@ index 7ad9fe0..c0c8744 100644
        (void) ReleaseNode (btreePtr, &nodeRec);
        DisposeMemory( btreePtr );
  
-@@ -567,7 +567,7 @@ OSStatus   BTClosePath                     (SFCB                                   *filePtr)
+@@ -567,7 +567,7 @@ OSStatus   BTClosePath                     (SFCB                                   *filePt
  
        btreePtr = (BTreeControlBlockPtr) filePtr->fcbBtree;
  
@@ -179,7 +177,7 @@ index 7ad9fe0..c0c8744 100644
                return fsBTInvalidFileErr;
  
        ////////////////////// Check for other BTree Paths //////////////////////////
-@@ -603,14 +603,14 @@ OSStatus BTClosePath                     (SFCB                                   *filePtr)
+@@ -603,14 +603,14 @@ OSStatus BTClosePath                     (SFCB                                   *filePt
        M_ExitOnError (err);
  
  #if SupportsKeyDescriptors
@@ -196,7 +194,7 @@ index 7ad9fe0..c0c8744 100644
  
  //    LogEndTime(kTraceCloseBTree, noErr);
  
-@@ -643,7 +643,7 @@ Function:  Search for position in B*Tree indicated by searchKey. If a valid node
+@@ -643,7 +643,7 @@ Function:  Search for position in B*Tree
  
  Input:                pathPtr                 - pointer to path for BTree file.
                        searchKey               - pointer to search key to match.
@@ -205,7 +203,7 @@ index 7ad9fe0..c0c8744 100644
  
  Output:               record                  - pointer to BufferDescriptor containing record
                        recordLen               - length of data at recordPtr
-@@ -678,14 +678,14 @@ OSStatus BTSearchRecord          (SFCB                                           *filePtr,
+@@ -678,14 +678,14 @@ OSStatus BTSearchRecord          (SFCB                                           *fil
  
  //    LogStartTime(kTraceSearchBTree);
  
@@ -224,7 +222,7 @@ index 7ad9fe0..c0c8744 100644
        {
                err = CheckKey (&searchIterator->key, btreePtr->keyDescPtr, btreePtr->maxKeyLength);
                M_ExitOnError (err);
-@@ -775,9 +775,9 @@ OSStatus   BTSearchRecord          (SFCB                                           *filePtr,
+@@ -775,9 +775,9 @@ OSStatus   BTSearchRecord          (SFCB                                           *fil
                //¥¥ Should check for errors! Or BlockMove could choke on recordPtr!!!
                GetRecordByIndex (btreePtr, node.buffer, index, &keyPtr, &recordPtr, &len);
  
@@ -236,7 +234,7 @@ index 7ad9fe0..c0c8744 100644
                {
                        ByteCount recordSize;
  
-@@ -794,7 +794,7 @@ OSStatus   BTSearchRecord          (SFCB                                           *filePtr,
+@@ -794,7 +794,7 @@ OSStatus   BTSearchRecord          (SFCB                                           *fil
  
        /////////////////////// Success - Update Iterator ///////////////////////////
  
@@ -245,7 +243,7 @@ index 7ad9fe0..c0c8744 100644
        {
                resultIterator->hint.writeCount = btreePtr->writeCount;
                resultIterator->hint.nodeNum    = nodeNum;
-@@ -825,10 +825,10 @@ OSStatus BTSearchRecord          (SFCB                                           *filePtr,
+@@ -825,10 +825,10 @@ OSStatus BTSearchRecord          (SFCB                                           *fil
  
  ErrorExit:
  
@@ -258,7 +256,7 @@ index 7ad9fe0..c0c8744 100644
        {
                resultIterator->hint.writeCount = 0;
                resultIterator->hint.nodeNum    = 0;
-@@ -892,18 +892,18 @@ OSStatus BTIterateRecord         (SFCB                                           *filePtr,
+@@ -892,18 +892,18 @@ OSStatus BTIterateRecord         (SFCB                                           *fi
  
        ////////////////////////// Priliminary Checks ///////////////////////////////
  
@@ -282,7 +280,7 @@ index 7ad9fe0..c0c8744 100644
        {
                return  fsBTInvalidFileErr;                     //¥¥ handle properly
        }
-@@ -968,7 +968,7 @@ OSStatus   BTIterateRecord         (SFCB                                           *filePtr,
+@@ -968,7 +968,7 @@ OSStatus   BTIterateRecord         (SFCB                                           *fi
                }
                else
                {
@@ -291,7 +289,7 @@ index 7ad9fe0..c0c8744 100644
                        {
                                nodeNum = ((NodeDescPtr) node.buffer)->bLink;
                                if ( nodeNum > 0)
-@@ -981,13 +981,13 @@ OSStatus BTIterateRecord         (SFCB                                           *filePtr,
+@@ -981,13 +981,13 @@ OSStatus BTIterateRecord         (SFCB                                           *fi
                                }
                        }
                        //      Before we stomp on "right", we'd better release it if needed
@@ -307,7 +305,7 @@ index 7ad9fe0..c0c8744 100644
                        index           = ((NodeDescPtr) node.buffer)->numRecords -1;
                }
        }
-@@ -1012,7 +1012,7 @@ OSStatus BTIterateRecord         (SFCB                                           *filePtr,
+@@ -1012,7 +1012,7 @@ OSStatus BTIterateRecord         (SFCB                                           *fi
                }
                else
                {
@@ -316,7 +314,7 @@ index 7ad9fe0..c0c8744 100644
                        {
                                nodeNum = ((NodeDescPtr) node.buffer)->fLink;
                                if ( nodeNum > 0)
-@@ -1025,13 +1025,13 @@ OSStatus       BTIterateRecord         (SFCB                                           *filePtr,
+@@ -1025,13 +1025,13 @@ OSStatus       BTIterateRecord         (SFCB                                           *fi
                                }
                        }
                        //      Before we stomp on "left", we'd better release it if needed
@@ -382,7 +380,7 @@ index 7ad9fe0..c0c8744 100644
        {
                iterator->hint.writeCount       = 0;
                iterator->hint.nodeNum          = 0;
-@@ -1157,7 +1157,7 @@ OSStatus BTInsertRecord          (SFCB                                           *filePtr,
+@@ -1157,7 +1157,7 @@ OSStatus BTInsertRecord          (SFCB                                           *fil
  
        ////////////////////////// Priliminary Checks ///////////////////////////////
  
@@ -391,7 +389,7 @@ index 7ad9fe0..c0c8744 100644
  
        err = CheckInsertParams (filePtr, iterator, record, recordLen);
        if (err != noErr)
-@@ -1317,7 +1317,7 @@ OSStatus BTSetRecord                     (SFCB                                           *filePtr,
+@@ -1317,7 +1317,7 @@ OSStatus BTSetRecord                     (SFCB                                           *fileP
  
        ////////////////////////// Priliminary Checks ///////////////////////////////
  
@@ -400,7 +398,7 @@ index 7ad9fe0..c0c8744 100644
  
        err = CheckInsertParams (filePtr, iterator, record, recordLen);
        if (err != noErr)
-@@ -1506,7 +1506,7 @@ OSStatus BTReplaceRecord         (SFCB                                           *filePtr,
+@@ -1506,7 +1506,7 @@ OSStatus BTReplaceRecord         (SFCB                                           *fi
  
        ////////////////////////// Priliminary Checks ///////////////////////////////
  
@@ -409,7 +407,7 @@ index 7ad9fe0..c0c8744 100644
  
        err = CheckInsertParams (filePtr, iterator, record, recordLen);
        if (err != noErr)
-@@ -1645,20 +1645,20 @@ OSStatus       BTDeleteRecord          (SFCB                                           *filePtr,
+@@ -1645,20 +1645,20 @@ OSStatus       BTDeleteRecord          (SFCB                                           *fil
  
        ////////////////////////// Priliminary Checks ///////////////////////////////
  
@@ -435,7 +433,7 @@ index 7ad9fe0..c0c8744 100644
        {
                err = CheckKey (&iterator->key, btreePtr->keyDescPtr, btreePtr->maxKeyLength);
                M_ExitOnError (err);
-@@ -1712,12 +1712,12 @@ OSStatus       BTGetInformation        (SFCB                                   *filePtr,
+@@ -1712,12 +1712,12 @@ OSStatus       BTGetInformation        (SFCB                                   *fil
        BTreeControlBlockPtr    btreePtr;
  
  
@@ -451,7 +449,7 @@ index 7ad9fe0..c0c8744 100644
  
        //¥¥ check version?
  
-@@ -1730,7 +1730,7 @@ OSStatus BTGetInformation        (SFCB                                   *filePtr,
+@@ -1730,7 +1730,7 @@ OSStatus BTGetInformation        (SFCB                                   *fil
        info->keyDescriptor     = btreePtr->keyDescPtr; //¥¥ this won't do at all...
        info->reserved          = 0;
  
@@ -460,7 +458,7 @@ index 7ad9fe0..c0c8744 100644
                info->keyDescLength     = 0;
        else
                info->keyDescLength     = (UInt32) btreePtr->keyDescPtr->length;
-@@ -1762,11 +1762,11 @@ OSStatus       BTFlushPath                             (SFCB                                   *filePtr)
+@@ -1762,11 +1762,11 @@ OSStatus       BTFlushPath                             (SFCB                                   *fileP
  
  //    LogStartTime(kTraceFlushBTree);
  
@@ -474,7 +472,7 @@ index 7ad9fe0..c0c8744 100644
  
        err = UpdateHeader (btreePtr);
  
-@@ -1788,13 +1788,13 @@ Input:         iterator        - pointer to BTreeIterator
+@@ -1788,13 +1788,13 @@ Input:         iterator        - pointer to BTreeItera
  Output:               iterator        - iterator with the hint.nodeNum cleared
  
  Result:               noErr                   - success
@@ -490,11 +488,9 @@ index 7ad9fe0..c0c8744 100644
                return  paramErr;
  
        iterator->hint.nodeNum = 0;
-diff --git a/fsck_hfs.tproj/dfalib/BTreeAllocate.c b/fsck_hfs.tproj/dfalib/BTreeAllocate.c
-index 485d867..02bdd8d 100644
 --- a/fsck_hfs.tproj/dfalib/BTreeAllocate.c
 +++ b/fsck_hfs.tproj/dfalib/BTreeAllocate.c
-@@ -83,7 +83,7 @@ OSStatus     AllocateNode (BTreeControlBlockPtr              btreePtr, UInt32        *nodeNum)
+@@ -83,7 +83,7 @@ OSStatus     AllocateNode (BTreeControlBlock
        
        
        nodeNumber              = 0;                            // first node number of header map record
@@ -503,7 +499,7 @@ index 485d867..02bdd8d 100644
                                                                                //      - and for ErrorExit
        
        while (true)
-@@ -192,7 +192,7 @@ OSStatus   FreeNode (BTreeControlBlockPtr          btreePtr, UInt32        nodeNum)
+@@ -192,7 +192,7 @@ OSStatus   FreeNode (BTreeControlBlockPtr
  
        //////////////////////////// Find Map Record ////////////////////////////////
        nodeIndex                       = 0;                            // first node number of header map record
@@ -512,7 +508,7 @@ index 485d867..02bdd8d 100644
        
        while (nodeNum >= nodeIndex)
        {
-@@ -278,8 +278,8 @@ OSStatus   ExtendBTree     (BTreeControlBlockPtr   btreePtr,
+@@ -278,8 +278,8 @@ OSStatus   ExtendBTree     (BTreeControlBlockP
        nodeSize                        = btreePtr->nodeSize;
        filePtr                         = btreePtr->fcbPtr;
        
@@ -532,7 +528,7 @@ index 485d867..02bdd8d 100644
                        node is retrieved.
  
  
-@@ -474,7 +474,7 @@ OSStatus   GetMapNode (BTreeControlBlockPtr          btreePtr,
+@@ -474,7 +474,7 @@ OSStatus   GetMapNode (BTreeControlBlockPt
        UInt16          mapIndex;
        UInt32          nextNodeNum;
        
@@ -550,11 +546,9 @@ index 485d867..02bdd8d 100644
        *mapSize        = 0;
        
        return  err;
-diff --git a/fsck_hfs.tproj/dfalib/BTreeMiscOps.c b/fsck_hfs.tproj/dfalib/BTreeMiscOps.c
-index 7c9edca..997f34b 100644
 --- a/fsck_hfs.tproj/dfalib/BTreeMiscOps.c
 +++ b/fsck_hfs.tproj/dfalib/BTreeMiscOps.c
-@@ -236,13 +236,13 @@ OSStatus FindIteratorPosition    (BTreeControlBlockPtr    btreePtr,
+@@ -236,13 +236,13 @@ OSStatus FindIteratorPosition    (BTreeCont
        // assume index points to UInt16
        // assume foundRecord points to Boolean
        
@@ -572,7 +566,7 @@ index 7c9edca..997f34b 100644
        {
                err = fsBTInvalidIteratorErr;
                goto ErrorExit;
-@@ -250,7 +250,7 @@ OSStatus   FindIteratorPosition    (BTreeControlBlockPtr    btreePtr,
+@@ -250,7 +250,7 @@ OSStatus   FindIteratorPosition    (BTreeCont
  
  #if SupportsKeyDescriptors
        //¥¥ verify iterator key (change CheckKey to take btreePtr instead of keyDescPtr?)
@@ -581,7 +575,7 @@ index 7c9edca..997f34b 100644
        {
                err = CheckKey (&iterator->key, btreePtr->keyDescPtr, btreePtr->maxKeyLength );
                M_ExitOnError (err);
-@@ -309,7 +309,7 @@ OSStatus   FindIteratorPosition    (BTreeControlBlockPtr    btreePtr,
+@@ -309,7 +309,7 @@ OSStatus   FindIteratorPosition    (BTreeCont
                {
                        *right                  = *middle;
                        *middle                 = *left;
@@ -590,7 +584,7 @@ index 7c9edca..997f34b 100644
                        index                   = leftIndex;
                        
                        goto SuccessfulExit;
-@@ -330,7 +330,7 @@ OSStatus   FindIteratorPosition    (BTreeControlBlockPtr    btreePtr,
+@@ -330,7 +330,7 @@ OSStatus   FindIteratorPosition    (BTreeCont
                {
                        *right                  = *middle;
                        *middle                 = *left;
@@ -599,7 +593,7 @@ index 7c9edca..997f34b 100644
                        index                   = leftIndex;
                        
                        goto SuccessfulExit;
-@@ -363,7 +363,7 @@ OSStatus   FindIteratorPosition    (BTreeControlBlockPtr    btreePtr,
+@@ -363,7 +363,7 @@ OSStatus   FindIteratorPosition    (BTreeCont
                {
                        *left                   = *middle;
                        *middle                 = *right;
@@ -608,7 +602,7 @@ index 7c9edca..997f34b 100644
                        index                   = rightIndex;
                        
                        goto SuccessfulExit;
-@@ -427,15 +427,15 @@ OSStatus CheckInsertParams               (SFCB                                           *filePtr,
+@@ -427,15 +427,15 @@ OSStatus CheckInsertParams               (SFCB                                           *
  {
        BTreeControlBlockPtr    btreePtr;
        
@@ -629,11 +623,9 @@ index 7c9edca..997f34b 100644
        {
                OSStatus        err;
  
-diff --git a/fsck_hfs.tproj/dfalib/BTreeNodeOps.c b/fsck_hfs.tproj/dfalib/BTreeNodeOps.c
-index da07cc7..ef2bd7b 100644
 --- a/fsck_hfs.tproj/dfalib/BTreeNodeOps.c
 +++ b/fsck_hfs.tproj/dfalib/BTreeNodeOps.c
-@@ -105,7 +105,7 @@ Function:  Gets an existing BTree node from FS Agent and verifies it.
+@@ -105,7 +105,7 @@ Function:  Gets an existing BTree node fr
  Input:                btreePtr        - pointer to BTree control block
                        nodeNum         - number of node to request
                        
@@ -642,7 +634,7 @@ index da07cc7..ef2bd7b 100644
                        
  Result:
                        noErr           - success
-@@ -139,7 +139,7 @@ OSStatus   GetNode         (BTreeControlBlockPtr    btreePtr,
+@@ -139,7 +139,7 @@ OSStatus   GetNode         (BTreeControlBlockPtr
        if (err != noErr)
        {
                Panic ("\pGetNode: getNodeProc returned error.");
@@ -651,7 +643,7 @@ index da07cc7..ef2bd7b 100644
                goto ErrorExit;
        }
        ++btreePtr->numGetNodes;
-@@ -156,8 +156,8 @@ OSStatus   GetNode         (BTreeControlBlockPtr    btreePtr,
+@@ -156,8 +156,8 @@ OSStatus   GetNode         (BTreeControlBlockPtr
        return noErr;
  
  ErrorExit:
@@ -662,7 +654,7 @@ index da07cc7..ef2bd7b 100644
        
  //    LogEndTime(kTraceGetNode, err);
  
-@@ -176,7 +176,7 @@ Function:  Gets a new BTree node from FS Agent and initializes it to an empty
+@@ -176,7 +176,7 @@ Function:  Gets a new BTree node from FS
  Input:                btreePtr                - pointer to BTree control block
                        nodeNum                 - number of node to request
                        
@@ -671,7 +663,7 @@ index da07cc7..ef2bd7b 100644
                        
  Result:               noErr           - success
                        != noErr        - failure
-@@ -203,7 +203,7 @@ OSStatus   GetNewNode      (BTreeControlBlockPtr    btreePtr,
+@@ -203,7 +203,7 @@ OSStatus   GetNewNode      (BTreeControlBlockPt
        if (err != noErr)
        {
                Panic ("\pGetNewNode: getNodeProc returned error.");
@@ -680,7 +672,7 @@ index da07cc7..ef2bd7b 100644
                return err;
        }
        ++btreePtr->numGetNewNodes;
-@@ -248,7 +248,7 @@ OSStatus   ReleaseNode     (BTreeControlBlockPtr    btreePtr,
+@@ -248,7 +248,7 @@ OSStatus   ReleaseNode     (BTreeControlBlockP
  
        err = noErr;
        
@@ -689,7 +681,7 @@ index da07cc7..ef2bd7b 100644
        {
                /*
                 * The nodes must remain in the cache as big endian!
-@@ -267,8 +267,8 @@ OSStatus   ReleaseNode     (BTreeControlBlockPtr    btreePtr,
+@@ -267,8 +267,8 @@ OSStatus   ReleaseNode     (BTreeControlBlockP
                ++btreePtr->numReleaseNodes;
        }
        
@@ -700,7 +692,7 @@ index da07cc7..ef2bd7b 100644
        
  //    LogEndTime(kTraceReleaseNode, err);
  
-@@ -299,7 +299,7 @@ OSStatus   TrashNode       (BTreeControlBlockPtr    btreePtr,
+@@ -299,7 +299,7 @@ OSStatus   TrashNode       (BTreeControlBlockPtr
  
        err = noErr;
        
@@ -709,7 +701,7 @@ index da07cc7..ef2bd7b 100644
        {
                releaseNodeProc = btreePtr->releaseBlockProc;
                err = releaseNodeProc (btreePtr->fcbPtr,
-@@ -309,8 +309,8 @@ OSStatus   TrashNode       (BTreeControlBlockPtr    btreePtr,
+@@ -309,8 +309,8 @@ OSStatus   TrashNode       (BTreeControlBlockPtr
                ++btreePtr->numReleaseNodes;
        }
  
@@ -720,7 +712,7 @@ index da07cc7..ef2bd7b 100644
        
        return err;
  }
-@@ -338,7 +338,7 @@ OSStatus   UpdateNode      (BTreeControlBlockPtr    btreePtr,
+@@ -338,7 +338,7 @@ OSStatus   UpdateNode      (BTreeControlBlockPt
        
        err = noErr;
                
@@ -729,7 +721,7 @@ index da07cc7..ef2bd7b 100644
        {
        //      LogStartTime(kTraceReleaseNode);
                err = hfs_swap_BTNode(nodePtr, btreePtr->fcbPtr, kSwapBTNodeHostToBig);
-@@ -358,8 +358,8 @@ OSStatus   UpdateNode      (BTreeControlBlockPtr    btreePtr,
+@@ -358,8 +358,8 @@ OSStatus   UpdateNode      (BTreeControlBlockPt
                ++btreePtr->numUpdateNodes;
        }
        
@@ -740,11 +732,9 @@ index da07cc7..ef2bd7b 100644
  
        return  noErr;
  
-diff --git a/fsck_hfs.tproj/dfalib/BTreeTreeOps.c b/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
-index 37fb170..73e1fda 100644
 --- a/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
 +++ b/fsck_hfs.tproj/dfalib/BTreeTreeOps.c
-@@ -177,7 +177,7 @@ Output:            nodeNum                 - number of the node containing the key position
+@@ -177,7 +177,7 @@ Output:            nodeNum                 - number of the node
                        
  Result:               noErr                   - key found, index is record index
                        fsBTRecordNotFoundErr   - key not found, index is insert index
@@ -764,7 +754,7 @@ index 37fb170..73e1fda 100644
        *returnIndex                            = 0;
  
        return  err;
-@@ -354,7 +354,7 @@ OSStatus   InsertTree ( BTreeControlBlockPtr                btreePtr,
+@@ -354,7 +354,7 @@ OSStatus   InsertTree ( BTreeControlBlockP
        primaryKey.replacingKey = replacingKey;
        primaryKey.skipRotate   = false;
  
@@ -773,7 +763,7 @@ index 37fb170..73e1fda 100644
                                           targetNode, index, level, insertNode );
                                                
        return err;
-@@ -385,7 +385,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -385,7 +385,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
  #if defined(applec) && !defined(__SC__)
        PanicIf ((level == 1) && (((NodeDescPtr)targetNode->buffer)->kind != kBTLeafNode), "\P InsertLevel: non-leaf at level 1! ");
  #endif
@@ -782,7 +772,7 @@ index 37fb170..73e1fda 100644
        targetNodeNum = treePathTable [level].node;
  
        insertParent = false;
-@@ -420,7 +420,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -420,7 +420,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
        
        ////// process second insert (if any) //////
  
@@ -791,7 +781,7 @@ index 37fb170..73e1fda 100644
        {
                Boolean                         temp;
  
-@@ -446,7 +446,7 @@ OSStatus   InsertLevel (BTreeControlBlockPtr                btreePtr,
+@@ -446,7 +446,7 @@ OSStatus   InsertLevel (BTreeControlBlockP
                UInt8 *                         recPtr;
                UInt16                          recSize;
                
@@ -800,7 +790,7 @@ index 37fb170..73e1fda 100644
                
                PanicIf ( (level == btreePtr->treeDepth), "InsertLevel: unfinished insert!?");
  
-@@ -606,9 +606,9 @@ static OSErr       InsertNode      (BTreeControlBlockPtr    btreePtr,
+@@ -606,9 +606,9 @@ static OSErr       InsertNode      (BTreeControlBlo
        
        if ( leftNodeNum > 0 )
        {
@@ -812,7 +802,7 @@ index 37fb170..73e1fda 100644
                {
                        err = GetNode (btreePtr, leftNodeNum, siblingNode);     // will be released by caller or a split below
                        M_ExitOnError (err);
-@@ -703,7 +703,7 @@ OSStatus   DeleteTree                      (BTreeControlBlockPtr            btreePtr,
+@@ -703,7 +703,7 @@ OSStatus   DeleteTree                      (BTreeControlBlock
  
        targetNodeNum = treePathTable[level].node;
        targetNodePtr = targetNode->buffer;
@@ -821,7 +811,7 @@ index 37fb170..73e1fda 100644
  
        DeleteRecord (btreePtr, targetNodePtr, index);
                
-@@ -766,7 +766,7 @@ OSStatus   DeleteTree                      (BTreeControlBlockPtr            btreePtr,
+@@ -766,7 +766,7 @@ OSStatus   DeleteTree                      (BTreeControlBlock
                deleteRequired = false;
                updateRequired = false;
                
@@ -830,7 +820,7 @@ index 37fb170..73e1fda 100644
                {
                        btreePtr->rootNode  = 0;
                        btreePtr->treeDepth = 0;
-@@ -1124,7 +1124,7 @@ static OSStatus  SplitLeft               (BTreeControlBlockPtr            btreePtr,
+@@ -1124,7 +1124,7 @@ static OSStatus  SplitLeft               (BTreeControl
        if ( (right->height == 1) && (right->kind != kBTLeafNode) )
                return  fsBTInvalidNodeErr;
        
@@ -839,7 +829,7 @@ index 37fb170..73e1fda 100644
        {
                if ( left->fLink != rightNodeNum )
                        return fsBTInvalidNodeErr;                                                                              //¥¥ E_BadSibling ?
-@@ -1145,7 +1145,7 @@ static OSStatus  SplitLeft               (BTreeControlBlockPtr            btreePtr,
+@@ -1145,7 +1145,7 @@ static OSStatus  SplitLeft               (BTreeControl
  
        /////////////// Update Forward Link In Original Left Node ///////////////////
  
@@ -848,7 +838,7 @@ index 37fb170..73e1fda 100644
        {
                left->fLink     = newNodeNum;
                err = UpdateNode (btreePtr, leftNode);
-@@ -1240,8 +1240,8 @@ static OSStatus  AddNewRootNode  (BTreeControlBlockPtr    btreePtr,
+@@ -1240,8 +1240,8 @@ static OSStatus  AddNewRootNode  (BTreeCon
        Boolean                         didItFit;
        UInt16                          keyLength;      
        
@@ -859,7 +849,7 @@ index 37fb170..73e1fda 100644
        
        
        /////////////////////// Initialize New Root Node ////////////////////////////
-@@ -1362,7 +1362,7 @@ static OSStatus  SplitRight              (BTreeControlBlockPtr            btreePtr,
+@@ -1362,7 +1362,7 @@ static OSStatus  SplitRight              (BTreeContro
        if ( (leftPtr->height == 1) && (leftPtr->kind != kBTLeafNode) )
                return  fsBTInvalidNodeErr;
        
@@ -868,7 +858,7 @@ index 37fb170..73e1fda 100644
        {
                if ( rightPtr->bLink != nodeNum )
                        return fsBTInvalidNodeErr;                                                                              //¥¥ E_BadSibling ?
-@@ -1382,7 +1382,7 @@ static OSStatus  SplitRight              (BTreeControlBlockPtr            btreePtr,
+@@ -1382,7 +1382,7 @@ static OSStatus  SplitRight              (BTreeContro
  
        /////////////// Update backward Link In Original Right Node ///////////////////
  
@@ -877,7 +867,7 @@ index 37fb170..73e1fda 100644
        {
                rightPtr->bLink = newNodeNum;
                err = UpdateNode (btreePtr, rightNodePtr);
-@@ -1739,7 +1739,7 @@ static int DoKeyCheck( NodeDescPtr nodeP, BTreeControlBlock *btcb )
+@@ -1739,7 +1739,7 @@ static int DoKeyCheck( NodeDescPtr nodeP
        UInt16                          keyLength;
        KeyPtr                          keyPtr;
        UInt8                           *dataPtr;
@@ -886,7 +876,7 @@ index 37fb170..73e1fda 100644
  
  
        if ( nodeP->numRecords == 0 )
-@@ -1766,7 +1766,7 @@ static int DoKeyCheck( NodeDescPtr nodeP, BTreeControlBlock *btcb )
+@@ -1766,7 +1766,7 @@ static int DoKeyCheck( NodeDescPtr nodeP
                                return( -1 );
                        }
        
@@ -895,11 +885,9 @@ index 37fb170..73e1fda 100644
                        {
                                if ( CompareKeys( (BTreeControlBlockPtr)btcb, prevkeyP, keyPtr ) >= 0 )
                                {
-diff --git a/fsck_hfs.tproj/dfalib/SControl.c b/fsck_hfs.tproj/dfalib/SControl.c
-index 8b03ece..d3145e0 100644
 --- a/fsck_hfs.tproj/dfalib/SControl.c
 +++ b/fsck_hfs.tproj/dfalib/SControl.c
-@@ -82,7 +82,7 @@ CheckHFS(    int fsReadRef, int fsWriteRef, int checkLevel, int repairLevel,
+@@ -82,7 +82,7 @@ CheckHFS(    int fsReadRef, int fsWriteRef
  {
        SGlob                           dataArea;       // Allocate the scav globals
        short                           temp;   
@@ -1056,7 +1044,7 @@ index 8b03ece..d3145e0 100644
  
        return( noErr );
  }
-@@ -1113,7 +1113,7 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr dqPtr )
+@@ -1113,7 +1113,7 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr
        // Now look at the name of the Driver name. If it is .BlueBoxShared keep it out of the list of available disks.
        driverDCtlHandle = GetDCtlEntry(dqPtr->dQRefNum);
        driverDCtlPtr = *driverDCtlHandle;
@@ -1065,7 +1053,7 @@ index 8b03ece..d3145e0 100644
        {
                if (((driverDCtlPtr->dCtlFlags) & Is_Ram_Based_Mask) == 0)
                {
-@@ -1127,19 +1127,19 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr dqPtr )
+@@ -1127,19 +1127,19 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr
                        
                }
                driverName = (StringPtr)&(drvrHeaderPtr->drvrName);
@@ -1089,7 +1077,7 @@ index 8b03ece..d3145e0 100644
                        paramBlock.ioVRefNum    = dqPtr->dQDrive;
                        paramBlock.ioCRefNum    = dqPtr->dQRefNum;
                        paramBlock.csCode               = kDriveIcon;                                           // return physical icon
-@@ -1152,7 +1152,7 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr dqPtr )
+@@ -1152,7 +1152,7 @@ Boolean IsBlueBoxSharedDrive ( DrvQElPtr
                                
                                iconAndStringRecPtr = * (IconAndStringRecPtr*) & paramBlock.csParam;
                                whereStringPtr = (StringPtr) & iconAndStringRecPtr->string;
@@ -1098,11 +1086,9 @@ index 8b03ece..d3145e0 100644
                                {
                                        return( true );
                                }
-diff --git a/fsck_hfs.tproj/dfalib/SRepair.c b/fsck_hfs.tproj/dfalib/SRepair.c
-index 89c12d6..b261c37 100644
 --- a/fsck_hfs.tproj/dfalib/SRepair.c
 +++ b/fsck_hfs.tproj/dfalib/SRepair.c
-@@ -844,7 +844,7 @@ static     int     DelFThd( SGlobPtr GPtr, UInt32 fid )                            //      the file ID
+@@ -844,7 +844,7 @@ static     int     DelFThd( SGlobPtr GPtr, UInt3
  
        isHFSPlus = VolumeObjectIsHFSPlus( );
        
@@ -1111,7 +1097,7 @@ index 89c12d6..b261c37 100644
        result = SearchBTreeRecord( GPtr->calculatedCatalogFCB, &key, kNoHint, &foundKey, &record, &recSize, &hint );
        
        if ( result )   return ( IntError( GPtr, result ) );
-@@ -910,7 +910,7 @@ static     OSErr   FixDirThread( SGlobPtr GPtr, UInt32 did )       //      the dir ID
+@@ -910,7 +910,7 @@ static     OSErr   FixDirThread( SGlobPtr GPtr
  
        isHFSPlus = VolumeObjectIsHFSPlus( );
  
@@ -1120,7 +1106,7 @@ index 89c12d6..b261c37 100644
        result = SearchBTreeRecord( GPtr->calculatedCatalogFCB, &key, kNoHint, &foundKey, &record, &recSize, &hint );
        
        if ( result )
-@@ -2171,7 +2171,7 @@ static   OSErr   FixOrphanedFiles ( SGlobPtr GPtr )
+@@ -2171,7 +2171,7 @@ static   OSErr   FixOrphanedFiles ( SGlobPtr
                                }
  
                                //-- Build the key for the file thread
@@ -1129,8 +1115,6 @@ index 89c12d6..b261c37 100644
  
                                err = SearchBTreeRecord( GPtr->calculatedCatalogFCB, &key, kNoHint, 
                                                                                 &tempKey, &threadRecord, &recordSize, &hint2 );
-diff --git a/fsck_hfs.tproj/dfalib/SUtils.c b/fsck_hfs.tproj/dfalib/SUtils.c
-index 6e9253e..491afbf 100644
 --- a/fsck_hfs.tproj/dfalib/SUtils.c
 +++ b/fsck_hfs.tproj/dfalib/SUtils.c
 @@ -395,11 +395,11 @@ OSErr GetVolumeFeatures( SGlobPtr GPtr )
@@ -1147,7 +1131,7 @@ index 6e9253e..491afbf 100644
                pb.ioParam.ioVRefNum    = GPtr->realVCB->vcbVRefNum;
                pb.ioParam.ioBuffer             = (Ptr) &buffer;
                pb.ioParam.ioReqCount   = sizeof( buffer );
-@@ -2282,7 +2282,7 @@ void print_prime_buckets(PrimeBuckets *cur);
+@@ -2282,7 +2282,7 @@ void print_prime_buckets(PrimeBuckets *c
   *                    4. btreetye - can be kHFSPlusCatalogRecord or kHFSPlusAttributeRecord
   *                            indicates which btree prime number bucket should be incremented
   *
@@ -1156,11 +1140,9 @@ index 6e9253e..491afbf 100644
   */
  void RecordXAttrBits(SGlobPtr GPtr, UInt16 flags, HFSCatalogNodeID fileid, UInt16 btreetype) 
  {
-diff --git a/fsck_hfs.tproj/dfalib/SVerify1.c b/fsck_hfs.tproj/dfalib/SVerify1.c
-index 39bda5c..c33155f 100644
 --- a/fsck_hfs.tproj/dfalib/SVerify1.c
 +++ b/fsck_hfs.tproj/dfalib/SVerify1.c
-@@ -790,13 +790,13 @@ OSErr    CreateExtentsBTreeControlBlock( SGlobPtr GPtr )
+@@ -790,13 +790,13 @@ OSErr    CreateExtentsBTreeControlBlock( SG
        //      set up our DFA extended BTCB area.  Will we have enough memory on all HFS+ volumes.
        //
        btcb->refCon = AllocateClearMemory( sizeof(BTreeExtensionsRec) );                       // allocate space for our BTCB extensions
@@ -1176,7 +1158,7 @@ index 39bda5c..c33155f 100644
        {
                err = R_NoMem;
                goto exit;
-@@ -1145,13 +1145,13 @@ OSErr  CreateCatalogBTreeControlBlock( SGlobPtr GPtr )
+@@ -1145,13 +1145,13 @@ OSErr  CreateCatalogBTreeControlBlock( SG
        //
  
        btcb->refCon = AllocateClearMemory( sizeof(BTreeExtensionsRec) );                       // allocate space for our BTCB extensions
@@ -1210,7 +1192,7 @@ index 39bda5c..c33155f 100644
                                result = SearchBTreeRecord( GPtr->calculatedCatalogFCB, &key, kNoHint, &foundKey, &threadRecord, &recSize, &hint );
                                if ( result != noErr ) {
                                        char idStr[16];
-@@ -1780,26 +1780,26 @@ OSErr  CreateAttributesBTreeControlBlock( SGlobPtr GPtr )
+@@ -1780,26 +1780,26 @@ OSErr  CreateAttributesBTreeControlBlock(
        //      set up our DFA extended BTCB area.  Will we have enough memory on all HFS+ volumes.
        //
        btcb->refCon = AllocateClearMemory( sizeof(BTreeExtensionsRec) );                       // allocate space for our BTCB extensions
@@ -1241,7 +1223,7 @@ index 39bda5c..c33155f 100644
                {
                        err = R_NoMem;
                        goto exit;
-@@ -2358,7 +2358,7 @@ static   OSErr   RcdMDBEmbededVolDescriptionErr( SGlobPtr GPtr, OSErr type, HFSMaste
+@@ -2358,7 +2358,7 @@ static   OSErr   RcdMDBEmbededVolDescription
        RcdError( GPtr, type );                                                                                         //      first, record the error
        
        p = AllocMinorRepairOrder( GPtr, sizeof(EmbededVolDescription) );       //      get the node
@@ -1250,7 +1232,7 @@ index 39bda5c..c33155f 100644
        
        p->type                                                 =  type;                                                        //      save error info
        desc                                                    =  (EmbededVolDescription *) &(p->name);
-@@ -2397,7 +2397,7 @@ static   OSErr   RcdInvalidWrapperExtents( SGlobPtr GPtr, OSErr type )
+@@ -2397,7 +2397,7 @@ static   OSErr   RcdInvalidWrapperExtents( S
        RcdError( GPtr, type );                                                                                         //      first, record the error
        
        p = AllocMinorRepairOrder( GPtr, 0 );   //      get the node
@@ -1259,7 +1241,7 @@ index 39bda5c..c33155f 100644
        
        p->type                                                 =  type;                                                        //      save error info
        
-@@ -3029,7 +3029,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, UInt32 fileNumber, UInt8 forkType,
+@@ -3029,7 +3029,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, U
        foundBadExtent = false;
        lastExtentIndex = GPtr->numExtents;
        
@@ -1268,7 +1250,7 @@ index 39bda5c..c33155f 100644
        {       
                //      checkout the extent record first
                err = ChkExtRec( GPtr, extents, &lastExtentIndex );
-@@ -3105,7 +3105,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, UInt32 fileNumber, UInt8 forkType,
+@@ -3105,7 +3105,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, U
                        if ( err == btNotFound )
                        {
                                err = noErr;                                                            //       no more extent records
@@ -1277,7 +1259,7 @@ index 39bda5c..c33155f 100644
                                break;
                        }
                        else if ( err != noErr )
-@@ -3121,7 +3121,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, UInt32 fileNumber, UInt8 forkType,
+@@ -3121,7 +3121,7 @@ OSErr    CheckFileExtents( SGlobPtr GPtr, U
                        if ( err == btNotFound )
                        {
                                err = noErr;                                                            //       no more extent records
@@ -1286,7 +1268,7 @@ index 39bda5c..c33155f 100644
                                break;
                        }
                        else if ( err != noErr )
-@@ -3205,7 +3205,7 @@ static OSErr     AddExtentToOverlapList( SGlobPtr GPtr, HFSCatalogNodeID fileNumber,
+@@ -3205,7 +3205,7 @@ static OSErr     AddExtentToOverlapList( SGl
        }
        
        //      If it's uninitialized
@@ -1295,11 +1277,9 @@ index 39bda5c..c33155f 100644
        {
                GPtr->overlappedExtents = (ExtentsTable **) NewHandleClear( sizeof(ExtentsTable) );
                extentsTableH   = GPtr->overlappedExtents;
-diff --git a/fsck_hfs.tproj/dfalib/SVerify2.c b/fsck_hfs.tproj/dfalib/SVerify2.c
-index c68f3d8..da1a982 100644
 --- a/fsck_hfs.tproj/dfalib/SVerify2.c
 +++ b/fsck_hfs.tproj/dfalib/SVerify2.c
-@@ -1013,7 +1013,7 @@ static int BTKeyChk( SGlobPtr GPtr, NodeDescPtr nodeP, BTreeControlBlock *btcb )
+@@ -1013,7 +1013,7 @@ static int BTKeyChk( SGlobPtr GPtr, Node
        UInt16                          keyLength;
        KeyPtr                          keyPtr;
        UInt8                           *dataPtr;
@@ -1308,7 +1288,7 @@ index c68f3d8..da1a982 100644
  
  
        if ( nodeP->numRecords == 0 )
-@@ -1044,7 +1044,7 @@ static int BTKeyChk( SGlobPtr GPtr, NodeDescPtr nodeP, BTreeControlBlock *btcb )
+@@ -1044,7 +1044,7 @@ static int BTKeyChk( SGlobPtr GPtr, Node
                                return( E_KeyLen );
                        }
        
index 88c049fcd1f5ff711b2510619b76c1ab03aa7a26..0bcfe25eb2da003eedbe937bda41c1a8faee2cf2 100644 (file)
@@ -6,11 +6,9 @@ Subject: Fix types
  fsck_hfs.tproj/cache.c | 30 ++++++++++++++++--------------
  1 file changed, 16 insertions(+), 14 deletions(-)
 
-diff --git a/fsck_hfs.tproj/cache.c b/fsck_hfs.tproj/cache.c
-index 527088a..540fa0b 100644
 --- a/fsck_hfs.tproj/cache.c
 +++ b/fsck_hfs.tproj/cache.c
-@@ -961,20 +961,21 @@ int CacheLookup (Cache_t *cache, uint64_t off, Tag_t **tag)
+@@ -961,20 +961,21 @@ int CacheLookup (Cache_t *cache, uint64_
   */
  int CacheRawRead (Cache_t *cache, uint64_t off, uint32_t len, void *buf)
  {
@@ -39,7 +37,7 @@ index 527088a..540fa0b 100644
  
        /* Update counters */
        cache->DiskRead++;
-@@ -989,21 +990,22 @@ int CacheRawRead (Cache_t *cache, uint64_t off, uint32_t len, void *buf)
+@@ -989,21 +990,22 @@ int CacheRawRead (Cache_t *cache, uint64
   */
  int CacheRawWrite (Cache_t *cache, uint64_t off, uint32_t len, void *buf)
  {
index 883a7b74fceaf5f8dbdbf1342e8f2b5c98442a03..0645fa7fa1a5228d4bad8742f04ec48b4fbb5233 100644 (file)
@@ -15,11 +15,9 @@ This closes LP: #737002.
  include/missing.h | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)
 
-diff --git a/include/missing.h b/include/missing.h
-index 0a859c4..f50e8fb 100644
 --- a/include/missing.h
 +++ b/include/missing.h
-@@ -72,7 +72,7 @@
+@@ -71,7 +71,7 @@
  #define NAME_MAX      255
  
  /* Byteswap stuff */
@@ -28,7 +26,7 @@ index 0a859c4..f50e8fb 100644
  #define NXSwapBigShortToHost(x)       be16_to_cpu(x)
  #define OSSwapBigToHostInt16(x)               be16_to_cpu(x)
  #define NXSwapBigLongToHost(x)                be32_to_cpu(x)
-@@ -88,6 +88,9 @@
+@@ -87,6 +87,9 @@
  #ifndef be32_to_cpu
  #define be32_to_cpu(x) bswap_32(x)
  #endif
@@ -38,7 +36,7 @@ index 0a859c4..f50e8fb 100644
  #ifndef be64_to_cpu
  #define be64_to_cpu(x) bswap_64(x)
  #endif
-@@ -102,6 +105,9 @@
+@@ -101,6 +104,9 @@
  #ifndef be32_to_cpu
  #define be32_to_cpu(x)        (x)
  #endif
index d78083bd05b7add909a389fb13971a3647bbf008..736841fbb14dec778cb7683fbb0ec991c5a9284f 100644 (file)
@@ -20,8 +20,6 @@ Reviewed-by: Rogério Theodoro de Brito <rbrito@ime.usp.br>
  newfs_hfs.tproj/newfs_hfs.8 | 23 ++++++++---------------
  2 files changed, 15 insertions(+), 26 deletions(-)
 
-diff --git a/fsck_hfs.tproj/fsck_hfs.8 b/fsck_hfs.tproj/fsck_hfs.8
-index aec9949..0bc804d 100644
 --- a/fsck_hfs.tproj/fsck_hfs.8
 +++ b/fsck_hfs.tproj/fsck_hfs.8
 @@ -19,18 +19,18 @@
@@ -58,7 +56,7 @@ index aec9949..0bc804d 100644
  When preening file systems,
  .Nm
  will fix common inconsistencies for file systems that were not
-@@ -105,9 +103,9 @@ to check and repair journaled HFS+ file systems.
+@@ -105,9 +103,9 @@ to check and repair journaled HFS+ file
  .It Fl g
  Causes
  .Nm
@@ -70,7 +68,7 @@ index aec9949..0bc804d 100644
  .Nm
  tool.
  .It Fl l
-@@ -144,8 +142,6 @@ specified file system for a new catalog file and if there is no damage
+@@ -144,8 +142,6 @@ specified file system for a new catalog
  to the leaf nodes in the existing catalog file.
  .El
  .Pp
@@ -79,8 +77,6 @@ index aec9949..0bc804d 100644
  .Sh SEE ALSO
  .Xr fsck 8
  .Sh BUGS
-diff --git a/newfs_hfs.tproj/newfs_hfs.8 b/newfs_hfs.tproj/newfs_hfs.8
-index d002cc9..fe91962 100644
 --- a/newfs_hfs.tproj/newfs_hfs.8
 +++ b/newfs_hfs.tproj/newfs_hfs.8
 @@ -19,10 +19,10 @@
@@ -118,7 +114,7 @@ index d002cc9..fe91962 100644
  has several options to allow the defaults to be selectively overridden.
  The options are as follows:
  .Bl -tag -width Fl
-@@ -66,7 +60,7 @@ Set the group of the file system's root directory to
+@@ -66,7 +60,7 @@ Set the group of the file system's root
  Specify the access permissions mask for the file system's root directory.
  .It Fl h
  Creates a legacy HFS format filesystem. This option
@@ -145,7 +141,7 @@ index d002cc9..fe91962 100644
  .Bl -tag -width Fl
  .It Em a=bytes
  Set the attribute b-tree node size.
-@@ -139,8 +133,7 @@ Set the extent overflow b-tree node size.
+@@ -139,8 +133,7 @@ Set the extent overflow b-tree node size
  Volume name (file system name) in ascii or UTF-8 format.
  .El
  .Sh SEE ALSO
index 48649ba594a019ddcb7fe515b8a882dbe1af5148..7d5e97563fc324b4da9cc7157efd92f85144902c 100644 (file)
@@ -1,6 +1,6 @@
---- diskdev_cmds-332.25/newfs_hfs.tproj/makehfs.c      2015-03-27 21:58:04.163171675 -0700
-+++ hfsprogs-332.25/newfs_hfs.tproj/makehfs.c  2015-03-27 21:56:03.687175020 -0700
-@@ -2119,10 +2119,12 @@
+--- a/newfs_hfs.tproj/makehfs.c
++++ b/newfs_hfs.tproj/makehfs.c
+@@ -2119,10 +2119,12 @@ void GenerateVolumeUUID(VolumeUUID *newV
                sysctl(mib, 2, sysctlstring, &datalen, NULL, 0);
                SHA1_Update(&context, sysctlstring, datalen);
  #endif
index b71290f5caa74dd9a64922d71ea9b4cadfe3dbd3..257bbca4cc002aa665d037726b07c334998ad919 100644 (file)
@@ -4,7 +4,7 @@
  #endif
  #include <sys/errno.h>
  #include <sys/stat.h>
-+#ifdef __GLIBC__
++#if 0
  #include <sys/sysctl.h>
 +#endif
  #if !LINUX
index 5846cc6588926ea364a793fe90cf36231f31780e..3d4c404a098e08b31829ac3136c3dc141820cf0a 100644 (file)
@@ -1,7 +1,5 @@
-Index: diskdev_cmds-332.25/fsck_hfs.tproj/dfalib/SVerify1.c
-===================================================================
---- diskdev_cmds-332.25.orig/fsck_hfs.tproj/dfalib/SVerify1.c
-+++ diskdev_cmds-332.25/fsck_hfs.tproj/dfalib/SVerify1.c
+--- a/fsck_hfs.tproj/dfalib/SVerify1.c
++++ b/fsck_hfs.tproj/dfalib/SVerify1.c
 @@ -2848,7 +2848,7 @@ OSErr    VLockedChk( SGlobPtr GPtr )
        }
        else            //      Because we don't have the unicode converters, just fill it with a dummy name.
index c391e1dd5757b4da7849e0704c951d1714f6797c..9cc9a6d6d95bcbb09887143ec591f729f5329cd8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/newfs_hfs.tproj/makehfs.c
 +++ b/newfs_hfs.tproj/makehfs.c
-@@ -376,7 +376,7 @@ make_hfsplus(const DriveInfo *driveInfo, hfsparams_t *defaults)
+@@ -376,7 +376,7 @@ make_hfsplus(const DriveInfo *driveInfo,
        if ( (temp & 0x01FF) != 0 )
                temp = (temp + kBytesPerSector) & 0xFFFFFE00;
        
@@ -9,7 +9,7 @@
        if (nodeBuffer == NULL)
                err(1, NULL);
  
-@@ -1814,7 +1814,7 @@ ClearDisk(const DriveInfo *driveInfo, UInt64 startingSector, UInt32 numberOfSect
+@@ -1814,7 +1814,7 @@ ClearDisk(const DriveInfo *driveInfo, UI
  
        bufferSize = bufferSizeInSectors << kLog2SectorSize;
  
index 2469e1371d1d8ef5665e1bb846cc5e87c70eac48..4783d696e686d56e416e57d8c2c7512f9fa294fe 100644 (file)
@@ -1,6 +1,6 @@
 --- a/disklib/dump.h
 +++ b/disklib/dump.h
-@@ -110,9 +110,7 @@ extern long        dev_bsize;      /* block size of underlying disk device */
+@@ -110,9 +110,7 @@ extern long        dev_bsize;      /* block size of
  extern int    dev_bshift;     /* log2(dev_bsize) */
  extern int    tp_bshift;      /* log2(TP_BSIZE) */
  
  #include <sys/param.h>
  #include <sys/types.h>
  #include <sys/time.h>
-@@ -80,6 +79,7 @@ extern Boolean _CFStringGetFileSystemRepresentation(CFStringRef string, UInt8 *b
+@@ -80,6 +79,7 @@ extern Boolean _CFStringGetFileSystemRep
  
  #define kJournalFileType      0x6a726e6c      /* 'jrnl' */
  
index 3fd36f0f520a7b0a25cb378754701d9b643880f6..131a75d7e8dc060629d5f3c86b78fb1c8232341d 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hplip
 PKG_VERSION:=3.20.9
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/hplip
index 3862aec976ea2fdfc47993d1b35f59528f127810..924c12773db622d151f437d1496432c5c5575bd9 100644 (file)
@@ -1,3 +1,23 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -110,7 +110,7 @@ libhpmud_la_SOURCES += io/hpmud/musb_lib
+ libhpmud_la_LDFLAGS += -lusb
+ else
+ libhpmud_la_SOURCES += io/hpmud/musb.c 
+-libhpmud_la_CFLAGS  += -I/usr/include/libusb-1.0
++libhpmud_la_CFLAGS  += ${LIBUSB_1_0_CFLAGS}
+ libhpmud_la_LDFLAGS += -lusb-1.0
+ endif
+@@ -363,7 +363,7 @@ hpmudext_la_CFLAGS += -Iprotocol/discove
+ endif
+ if !LIBUSB01_BUILD
+-hpmudext_la_CFLAGS +=-I/usr/include/libusb-1.0 
++hpmudext_la_CFLAGS += ${LIBUSB_1_0_CFLAGS}
+ endif
+ endif #!HPLIP_CLASS_DRIVER
+ # ui (qt3)
 --- a/configure.in
 +++ b/configure.in
 @@ -601,6 +601,10 @@ if test "$class_driver" = "no" && test "
index e055656c8d107c577f77ceff312fbf6564a5b96a..81af3b836cf120cf2fc6e12a908c8b7e8d36ae62 100644 (file)
@@ -1,7 +1,5 @@
-Index: hplip-3.20.9/Makefile.am
-===================================================================
---- hplip-3.20.9.orig/Makefile.am
-+++ hplip-3.20.9/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -71,7 +71,7 @@ else
  libsane_hpaio_la_LDFLAGS = -version-info 1:0:0
  endif
@@ -11,10 +9,8 @@ Index: hplip-3.20.9/Makefile.am
  #libsane_hpaio_la_CFLAGS = -DWITH_NONAMESPACES -DSOAP_DEBUG
  libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS) -Iprotocol
  
-Index: hplip-3.20.9/scan/sane/hpaio.c
-===================================================================
---- hplip-3.20.9.orig/scan/sane/hpaio.c
-+++ hplip-3.20.9/scan/sane/hpaio.c
+--- a/scan/sane/hpaio.c
++++ b/scan/sane/hpaio.c
 @@ -34,9 +34,7 @@
  #include <stdio.h>
  #include <stdlib.h>
index 5a71180da826073263fa39c787ec22c289ac141b..2babb2b67a85b9768e2d7ea9538086c1865e5045 100644 (file)
@@ -4,7 +4,7 @@ memcpy should never be used with overlapping memory regions
 
 --- a/io/hpmud/musb.c
 +++ b/io/hpmud/musb.c
-@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned char *buffer, int size)
+@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned ch
          len = size-1;   /* leave byte for zero termination */
      if (len > 2)
          len -= 2;
index e020bd4642e9bb23983d6d9ad29563eafac6df3d..82bb382dfc0eab56f5500d73f1ed9fedc2bf9edf 100644 (file)
@@ -1,5 +1,3 @@
-diff --git a/scan/sane/OrbliteScan/LinuxCommon.h b/scan/sane/OrbliteScan/LinuxCommon.h
-index 6605dd9..55c7110 100644
 --- a/scan/sane/OrbliteScan/LinuxCommon.h
 +++ b/scan/sane/OrbliteScan/LinuxCommon.h
 @@ -18,10 +18,8 @@ typedef u_int32_t                   UInt32;
diff --git a/utils/hwdata/Makefile b/utils/hwdata/Makefile
new file mode 100644 (file)
index 0000000..1524fae
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=hwdata
+PKG_VERSION:=0.342
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/vcrhonek/hwdata/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=f1e79131c870dce4a3b4b75edeefc5c9aef416d488a131c66cb6893be743be63
+
+PKG_MAINTAINER:=
+PKG_LICENSE:=GPL-2.0-or-later  XFree86-1.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pciids
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=USB ID list
+  URL:=https://github.com/vcrhonek/hwdata
+endef
+
+define Package/usbids
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=PCI ID list
+  URL:=https://github.com/vcrhonek/hwdata
+endef
+
+define Package/pciids/install
+       $(INSTALL_DIR) $(1)/usr/share/hwdata
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/hwdata/pci.ids $(1)/usr/share/hwdata
+endef
+
+define Package/usbids/install
+       $(INSTALL_DIR) $(1)/usr/share/hwdata
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/hwdata/usb.ids $(1)/usr/share/hwdata
+endef
+
+$(eval $(call BuildPackage,pciids))
+$(eval $(call BuildPackage,usbids))
index ffa668b0528151217a0449c95a37555101170d7a..4443ad586c19a832d4522c5e0c26d57c21b6caab 100644 (file)
@@ -2,13 +2,14 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hwinfo
 PKG_VERSION:=21.71
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/openSUSE/hwinfo/tar.gz/$(PKG_VERSION)?
 PKG_HASH:=c4c573eb15cbc10103f5044b485d7e4ff941500ed559743a1c98e6a6deb0ebda
 
 PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
 PKG_MAINTAINER:=Alberto Bursi <bobafetthotmail@gmail.com>
 
 PKG_BUILD_DEPENDS:= hwinfo/host
index cf98939f9306736216c06bcd12d821668080f4bd..6986f67961d041a7c46f469a5a0a0b5cefdcce98 100644 (file)
@@ -13,7 +13,7 @@ with hwinfo version changes when updating the package
 -VERSION := $(shell $(GIT2LOG) --version VERSION ; cat VERSION)
 -endif
 +BRANCH  := master
-+VERSION := $(shell echo 21.7 > VERSION; cat VERSION)
++VERSION := $(shell echo 21.71 > VERSION; cat VERSION)
  PREFIX  := hwinfo-$(VERSION)
  
  include Makefile.common
index b7c4eb4bc09a8f64ce8341f8ac69de193ac3aca7..579dc6b276f158c485adbbb3a85f4b0812a18506 100644 (file)
@@ -5,9 +5,9 @@ to compile this package with this dependency in OpenWrt due to
 host builds and whatnot, we simply remove it and disable this 
 functionality in hwinfo.
 This also saves some space.
---- a/Makefile 
-+++ b/Makefile 
-@@ -25,13 +25,14 @@
+--- a/Makefile
++++ b/Makefile
+@@ -25,13 +25,14 @@ LIBDIR             ?= /usr/lib
  endif
  ULIBDIR               = $(LIBDIR)
  
@@ -28,10 +28,9 @@ This also saves some space.
  
  SHARED_FLAGS  =
  OBJS_NO_TINY  = names.o parallel.o modem.o
-
 --- a/src/hd/bios.c
 +++ b/src/hd/bios.c
-@@ -447,9 +447,10 @@
+@@ -447,9 +447,10 @@ void hd_scan_bios(hd_data_t *hd_data)
        }
      }
  
@@ -45,7 +44,6 @@ This also saves some space.
  
      if(vbe->ok) {
        bt->vbe_ver = vbe->version;
-
 --- a/src/hd/bios.h
 +++ b/src/hd/bios.h
 @@ -5,4 +5,5 @@
@@ -55,7 +53,6 @@ This also saves some space.
 -void get_vbe_info(hd_data_t *hd_data, vbe_info_t *vbe);
 +//disabled as we removed the lib needed by this function
 +//void get_vbe_info(hd_data_t *hd_data, vbe_info_t *vbe);
-
 --- a/src/hd/mdt.c
 +++ b/src/hd/mdt.c
 @@ -1,4 +1,6 @@
index 3eb8df952844a8fcde03519a945a225a293e96fc..6aa9c806cfe1d96c6c144a011a6e1668dd0b00a9 100644 (file)
@@ -6,7 +6,7 @@ on my OpenSUSE system, so I guess that it is just legacy stuff that bitrotted.
 
 --- a/src/ids/Makefile
 +++ b/src/ids/Makefile
-@@ -17,47 +17,47 @@
+@@ -17,47 +17,47 @@ IDFILES    += src/bus src/class src/extra s
          src/usb src/usb2 src/isapnp src/monitor src/camera src/tv2 src/tv src/dvb2 src/dvb \
          src/chipcard src/modem src/pcmcia src/s390 src/sdio
  
index 711c40bede6c3a5091bcc6ca10b32ba1453f1bd0..03bc4a6693a6b249b4caa57457f3cf69ab34a03a 100644 (file)
@@ -4,8 +4,8 @@ Some makefile modifications to:
 >>disable the install functionality as we take the files we need with OpenWrt build system
 >>changes to all makefiles to respect the compile flags
 
---- a/Makefile 
-+++ b/Makefile 
+--- a/Makefile
++++ b/Makefile
 @@ -1,6 +1,6 @@
  TOPDIR                = $(CURDIR)
  SUBDIRS               = src
@@ -14,7 +14,7 @@ Some makefile modifications to:
  CLEANFILES    = hwinfo hwinfo.pc hwinfo.static hwscan hwscan.static hwscand hwscanqueue doc/libhd doc/*~
  LIBS          = -lhd
  SLIBS         = -lhd -luuid
-@@ -18,11 +18,11 @@
+@@ -18,11 +18,11 @@ PREFIX  := hwinfo-$(VERSION)
  
  include Makefile.common
  
@@ -30,7 +30,7 @@ Some makefile modifications to:
  ULIBDIR               = $(LIBDIR)
  
  # this library has been removed from the code, disabling it here too
-@@ -39,13 +39,13 @@
+@@ -39,13 +39,13 @@ OBJS_NO_TINY       = names.o parallel.o modem.
  
  .PHONY:       fullstatic static shared tiny doc diet tinydiet uc tinyuc
  
@@ -49,7 +49,7 @@ Some makefile modifications to:
  
  hwscan: hwscan.o $(LIBHD)
        $(CC) hwscan.o $(LDFLAGS) $(CFLAGS) $(LIBS) -o $@
-@@ -99,28 +99,29 @@
+@@ -99,28 +99,29 @@ doc:
        @cd doc ; doxygen libhd.doxy
  
  install:
@@ -101,7 +101,6 @@ Some makefile modifications to:
  
  archive: changelog
        @if [ ! -d .git ] ; then echo no git repo ; false ; fi
-
 --- a/Makefile.common
 +++ b/Makefile.common
 @@ -1,28 +1,26 @@
@@ -147,7 +146,7 @@ Some makefile modifications to:
  SHARED_FLAGS  = -fPIC
  
  LDFLAGS       += -Lsrc
-@@ -36,7 +34,7 @@
+@@ -36,7 +34,7 @@ LIBHD_NAME   = $(LIBHD_BASE).so.$(LIBHD_VE
  LIBHD_SO      = $(TOPDIR)/src/$(LIBHD_NAME)
  LIBHD_D               = $(TOPDIR)/src/.lib
  
@@ -156,10 +155,9 @@ Some makefile modifications to:
  
  .PHONY: all distclean clean install subdirs
  
-
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -12,7 +12,7 @@
+@@ -12,7 +12,7 @@ include $(TOPDIR)/Makefile.common
  #endif
  
  $(LIBHD): $(OBJS)
@@ -170,16 +168,15 @@ Some makefile modifications to:
  ifdef SHARED_FLAGS
 --- a/src/hd/Makefile
 +++ b/src/hd/Makefile
-@@ -12,4 +12,4 @@
-       @perl -pi -e "s/define\s+HD_MINOR_VERSION\s+\d+/define HD_MINOR_VERSION\t$(LIBHD_MINOR_VERSION)/" $@
+@@ -8,4 +8,4 @@ version.h: $(TOPDIR)/VERSION
+       @echo "#define HD_VERSION_STRING \"`cat $(TOPDIR)/VERSION`\"" >$@
  
  $(LIBHD_D): $(OBJS)
 -      ar r $(LIBHD) $?
 +      $(AR) r $(LIBHD) $?
 --- a/src/isdn/Makefile
 +++ b/src/isdn/Makefile
-@@ -5,5 +5,5 @@
+@@ -5,5 +5,5 @@ SUBDIRS = cdb
  include $(TOPDIR)/Makefile.common
  
  $(LIBHD_D): $(OBJS)
@@ -188,10 +185,9 @@ Some makefile modifications to:
  
 --- a/src/smp/Makefile
 +++ b/src/smp/Makefile
-@@ -4,4 +4,4 @@
+@@ -4,4 +4,4 @@ TARGETS        = $(LIBHD_D)
  include $(TOPDIR)/Makefile.common
  
  $(LIBHD_D): $(OBJS)
 -      ar r $(LIBHD) $?
 +      $(AR) r $(LIBHD) $?
-
index 15b27cb0eb5b01dd1a930f547dcd5d7707b11015..d7108dffffb65a442a7b1dfa12c8982fb592522e 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=jupp
-PKG_VERSION:=3.1.39
+PKG_VERSION:=3.1.40
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-1.0
 PKG_LICENSE_FILES:=COPYING
@@ -17,7 +17,7 @@ PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_libncurses
 PKG_SOURCE:=joe-$(basename ${PKG_VERSION})jupp$(subst .,,$(suffix ${PKG_VERSION})).tgz
 PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/jupp/ \
                http://pub.allbsd.org/MirOS/dist/jupp/
-PKG_HASH:=0d5d5b3c8e3db7b64410779fd4ccf962174ebac0c7e717674c780edf44d2fe91
+PKG_HASH:=4bed439cde7f2be294e96e49ef3e913ea90fbe5e914db888403e3a27e8035b1a
 
 include $(INCLUDE_DIR)/package.mk
 
index b8e91a9ee18056b707cdc852513611ca06576ac8..916839656fea2ded88097738ea1de1a78dc14026 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kmod
 PKG_VERSION:=27
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kmod
@@ -82,6 +82,8 @@ define Build/InstallDev
 
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libkmod.pc $(1)/usr/lib/pkgconfig/
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libkmod.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libkmod.pc
 endef
 
 
index 165958ea1afaafaaa59f5aaca97b219d7568023d..20eac0748af9db77f5fe429ec6d32cc96b3a3253 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lcd4linux
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/feckert/lcd4linux
index 25033f382bf92cee8f66d52aede99bf3bbd89be9..a5e6a9db45340bcaa82fc90ae437fc02f27c5722 100644 (file)
@@ -2,14 +2,19 @@
 # Copyright (C) 2007-2015 OpenWrt.org
 
 START=98
+USE_PROCD=1
 
-SERVICE_USE_PID=1
+PROG="/usr/bin/lcd4linux"
+CONFIGFILE="/etc/lcd4linux.conf"
 
-start() {
-       service_start /usr/bin/lcd4linux -o /tmp/lcd4linux.png -q
+start_service() {
+       [ -f /etc/lcd4linux.conf ] || return 1
+       procd_open_instance
+       procd_set_param command "$PROG"
+       procd_append_param command -F
+       procd_append_param command -q
+       procd_append_param command -o /tmp/lcd4linux.png
+       procd_append_param command -f "$CONFIGFILE"
+       procd_set_param file "$CONFIGFILE"
+       procd_close_instance
 }
-
-stop() {
-       service_stop /usr/bin/lcd4linux
-}
-
index ef0cfa916035e1ec6cc039b96d45c1acad7a1a68..b67a2433a7013bd2177938d8fff7494da418bdf9 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=less
-PKG_VERSION:=562
-PKG_RELEASE:=2
+PKG_VERSION:=563
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.greenwoodsoftware.com/less
-PKG_HASH:=eab470c7c928132441541aa49b1352c0fc699c30f762dfaeb3bf88e6f0fd701b
+PKG_HASH:=ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a
 
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
@@ -30,7 +30,7 @@ define Package/less/Default
   CATEGORY:=Utilities
   TITLE:=Pager program similar to more
   URL:=http://www.greenwoodsoftware.com/less/
-  ALTERNATIVES:=200:/usr/bin/less:/usr/bin/gnu-less
+  ALTERNATIVES:=200:/usr/bin/less:/usr/libexec/less-gnu
 endef
 
 define Package/less/Default/description
@@ -70,8 +70,8 @@ ifeq ($(BUILD_VARIANT),wide)
 endif
 
 define Package/less/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/less $(1)/usr/bin/gnu-less
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/less $(1)/usr/libexec/less-gnu
 endef
 
 Package/less-wide/install = $(Package/less/install)
index 484340178e1643b23110e9074ab4b15a6b1eaa9e..471723593bcfd60e5a8b6b890731bf28369543f3 100644 (file)
@@ -1,26 +1,26 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libnetwork
-PKG_RELEASE:=2
+PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
+GO_PKG:=github.com/docker/libnetwork
+GO_PKG_BUILD_PKG:= \
+  $(GO_PKG)/cmd/proxy \
+  $(GO_PKG)/cmd/dnet
+
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://$(GO_PKG)
-PKG_SOURCE_VERSION:=026aabaa659832804b01754aaadd2c0f420c68b6
-PKG_SOURCE_DATE:=2020-06-17
-PKG_MIRROR_HASH:=4ec8d3a7a99478dae9aef9f8337c14b91750164351963f9a6ed2288588d080e3
+PKG_SOURCE_VERSION:=5c6a95bfb20c61571a00f913c6b91959ede84e8d
+PKG_SOURCE_DATE:=2020-12-12
+PKG_MIRROR_HASH:=6bf27f5f09d49b34b8c4c9208808fab6383e5187683f064e09d106886babf25a
 
 PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
 
 PKG_BUILD_DEPENDS:=golang/host
 PKG_BUILD_PARALLEL:=1
 
-GO_PKG:=github.com/docker/libnetwork
-GO_PKG_BUILD_PKG:= \
-  $(GO_PKG)/cmd/proxy \
-  $(GO_PKG)/cmd/dnet
-
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/golang/golang-package.mk
 
index 453be82cddf42f60d5709b756f455df503727e1c..926cb32d603160318ddd16890b684f9cd183e743 100644 (file)
@@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=LVM2
 PKG_VERSION:=2.03.10
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2
 PKG_HASH:=5ad1645a480440892e35f31616682acba0dc204ed049635d2df3e5a5929d0ed0
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME).$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/lvm2-$(BUILD_VARIANT)/$(PKG_NAME).$(PKG_VERSION)
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPL-2.0 LGPL-2.1
@@ -26,40 +26,82 @@ PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/libdevmapper
+define Package/libdevmapper/Default
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=The Linux Kernel Device Mapper userspace library
   URL:=https://sourceware.org/dm/
-  DEPENDS:=+kmod-dm +libpthread +libuuid +librt +libblkid +libselinux
+  DEPENDS:=+kmod-dm +libpthread +libuuid +librt +libblkid
 endef
 
-define Package/libdevmapper/description
+
+define Package/libdevmapper-normal
+  $(call Package/libdevmapper/Default)
+  VARIANT := normal
+  PROVIDES := libdevmapper
+endef
+
+define Package/libdevmapper-selinux
+  $(call Package/libdevmapper/Default)
+  VARIANT := selinux
+  DEPENDS += +libselinux
+  PROVIDES := libdevmapper
+endef
+
+define Package/libdevmapper-normal/description
  The device-mapper is a component of the 2.6 linux kernel that supports logical
  volume management. It is required by LVM2 and EVMS.
 endef
 
-define Package/lvm2
+define Package/libdevmapper-selinux/description
+$(call Package/libdevmapper-normal/description)
+ This variant supports SELinux
+
+endef
+
+define Package/lvm2/default
   SECTION:=utils
   CATEGORY:=Utilities
   SUBMENU:=Disc
   TITLE:=The Linux Logical Volume Manager
   URL:=https://sourceware.org/lvm2/
-  DEPENDS:=+libdevmapper +libreadline +libncurses +libaio
+  DEPENDS:=+libreadline +libncurses +libaio
+endef
+
+define Package/lvm2-normal
+  $(call Package/lvm2/default)
+  VARIANT := normal
+  DEPENDS += +libdevmapper-normal
+  PROVIDES := lvm2
 endef
 
-define Package/lvm2/description
+define Package/lvm2-selinux
+  $(call Package/lvm2/default)
+  VARIANT := selinux
+  DEPENDS += +libdevmapper-selinux
+  PROVIDES := lvm2
+endef
+
+define Package/lvm2-normal/description
  LVM2 refers to a new userspace toolset that provide logical volume management
  facilities on linux. It is reasonably backwards-compatible with the original
  LVM toolset.
 endef
 
+define Package/lvm2-selinux/description
+$(call Package/lvm2-normal/description)
+ This variant supports SELinux
+
+endef
+
+
 CONFIGURE_ARGS += \
        --disable-o_direct \
        --with-default-pid-dir=/var/run \
        --with-default-dm-run-dir=/var/run \
        --with-default-run-dir=/var/run/lvm \
-       --with-default-locking-dir=/var/lock/lvm
+       --with-default-locking-dir=/var/lock/lvm \
+       --$(if $(findstring selinux,$(BUILD_VARIANT)),en,dis)able-selinux
 
 ifneq ($(shell /bin/sh -c "echo -n 'X'"),X)
 MAKE_SHELL = SHELL=/bin/bash
@@ -67,6 +109,7 @@ endif
 
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
+               CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
                DESTDIR="$(PKG_INSTALL_DIR)" \
                $(MAKE_SHELL) \
@@ -82,12 +125,14 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig
 endef
 
-define Package/libdevmapper/install
+define Package/libdevmapper-normal/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so.* $(1)/usr/lib
 endef
 
-define Package/lvm2/install
+Package/libdevmapper-selinux/install = $(Package/libdevmapper-normal/install)
+
+define Package/lvm2-normal/install
        $(INSTALL_DIR) $(1)/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lvm $(1)/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dmsetup $(1)/sbin
@@ -104,9 +149,15 @@ define Package/lvm2/install
        $(FIND) $(PKG_INSTALL_DIR)/usr/sbin/ -type l -exec $(CP) -a {} $(1)/sbin/ \;
 endef
 
-define Package/lvm2/conffiles
+Package/lvm2-selinux/install = $(Package/lvm2-normal/install)
+
+define Package/lvm2-normal/conffiles
 /etc/lvm/lvm.conf
 endef
 
-$(eval $(call BuildPackage,libdevmapper))
-$(eval $(call BuildPackage,lvm2))
+Package/lvm2-selinux/conffiles = $(Package/lvm2/conffiles)
+
+$(eval $(call BuildPackage,libdevmapper-normal))
+$(eval $(call BuildPackage,libdevmapper-selinux))
+$(eval $(call BuildPackage,lvm2-normal))
+$(eval $(call BuildPackage,lvm2-selinux))
index 1cc2b8f86ca9a523c6c16c5de7346006cb225e61..3b5b524243fce05e7f4bf38cc338661f975725dc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/commands/toolcontext.c
 +++ b/lib/commands/toolcontext.c
-@@ -1599,7 +1599,7 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd,
+@@ -1605,7 +1605,7 @@ struct cmd_context *create_toolcontext(u
        /* FIXME Make this configurable? */
        reset_lvm_errno(1);
  
@@ -9,7 +9,7 @@
        /* Set in/out stream buffering before glibc */
        if (set_buffering
  #ifdef SYS_gettid
-@@ -1980,7 +1980,7 @@ void destroy_toolcontext(struct cmd_context *cmd)
+@@ -1986,7 +1986,7 @@ void destroy_toolcontext(struct cmd_cont
  
        if (cmd->pending_delete_mem)
                dm_pool_destroy(cmd->pending_delete_mem);
@@ -20,7 +20,7 @@
                if (is_valid_fd(STDIN_FILENO) &&
 --- a/tools/lvmcmdline.c
 +++ b/tools/lvmcmdline.c
-@@ -3230,6 +3230,7 @@ int lvm_split(char *str, int *argc, char **argv, int max)
+@@ -3241,6 +3241,7 @@ int lvm_split(char *str, int *argc, char
  /* Make sure we have always valid filedescriptors 0,1,2 */
  static int _check_standard_fds(void)
  {
@@ -28,7 +28,7 @@
        int err = is_valid_fd(STDERR_FILENO);
  
        if (!is_valid_fd(STDIN_FILENO) &&
-@@ -3256,6 +3257,12 @@ static int _check_standard_fds(void)
+@@ -3267,6 +3268,12 @@ static int _check_standard_fds(void)
                       strerror(errno));
                return 0;
        }
index 5ecc61a3671d5b8686308542367ddfe5204d7d09..8f7f25d1d35c1d92188771e7492b06b3dc72e887 100644 (file)
@@ -29,7 +29,7 @@
  
                if (area == max_areas && missing > 0) {
                        /* Too bad. Warn the user and proceed, as things are
-@@ -521,8 +527,13 @@ static void _lock_mem(struct cmd_context *cmd)
+@@ -521,8 +527,13 @@ static void _lock_mem(struct cmd_context
         * will not block memory locked thread
         * Note: assuming _memlock_count_daemon is updated before _memlock_count
         */
index 2993a5a4600515208153c41087ba7dcddf19ed49..a45f5bda2b0aa4c1b03ac73a90684c1833f931cf 100644 (file)
@@ -15,7 +15,7 @@ on standard C libraries without O_DIRECT_SUPPORT.
 
 --- a/lib/device/dev-io.c
 +++ b/lib/device/dev-io.c
-@@ -374,7 +374,7 @@ int dev_open_flags(struct device *dev, int flags, int direct, int quiet)
+@@ -379,7 +379,7 @@ int dev_open_flags(struct device *dev, i
                return 0;
        }
  
index 4841d4bbc5fdd5a4c1af1abc5e3617afb95d13b6..b9172dc014447e0ae639964864a5bf4ff69c412a 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mg
-PKG_VERSION:=6.7
+PKG_VERSION:=6.8.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ibara/mg/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
-PKG_HASH:=899681ddd93525e0341b8e9239911c1a93c1185f61372625463c116ff43e920b
+PKG_HASH:=d14c6f3a945d9f5241f20aea8553914ec28d93218e0b091161c122937c56d3e4
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
index 3a75a15bdc6cf600f04e2ef3e57b9b467358b497..3789bef29aea63d1eb6b7b4f599ef0dc0774b2f1 100644 (file)
@@ -1,7 +1,6 @@
-diff -urN a/configure b/configure
---- a/configure        2019-03-03 22:17:03.000000000 +0900
-+++ b/configure        2019-06-04 13:08:41.418919319 +0900
-@@ -3,52 +3,7 @@
+--- a/configure
++++ b/configure
+@@ -3,66 +3,7 @@
  # This configure script written by Brian Callahan <bcallah@openbsd.org>
  # and released into the Public Domain.
  
@@ -51,39 +50,46 @@ diff -urN a/configure b/configure
 -  done
 -  return 1
 -}
+-
+-defaultcflagscheck() {
+-  cat << EOF > conftest.c
+-int main(void){return 0;}
+-EOF
+-  $cc $cflags -g -O2 -o conftest.o -c conftest.c > /dev/null 2>&1
+-  if [ $? -eq 0 ] ; then
+-    rm -f conftest conftest.o conftest.c
+-    return 1
+-  else
+-    rm -f conftest conftest.o conftest.c
+-    return 0
+-  fi
+-}
 +cc="$CC"
  
  fparselncheck() {
    cat << EOF > conftest.c
-@@ -214,18 +184,19 @@
+@@ -229,20 +170,6 @@
    fi
  }
  
 -wflagcheck() {
-+futimenscheck() {
-   cat << EOF > conftest.c
+-  cat << EOF > conftest.c
 -int main(void){return 0;}
-+#include <sys/stat.h>
-+#include <stddef.h>
-+int main(void){futimens(0, NULL);return 0;}
- EOF
--  $cc -w -o conftest conftest.c > /dev/null 2> conftest.err
--  grep ':' conftest.err > /dev/null 2>&1
-+  $cc $tflags -o conftest conftest.c > /dev/null 2>&1
-   if [ $? -eq 0 ] ; then
--    rm -f conftest conftest.err conftest.c
+-EOF
+-  $cc $cflags -w -o conftest conftest.c > /dev/null 2>&1
+-  if [ $? -eq 0 ] ; then
+-    rm -f conftest conftest.o conftest.c
 -    return 1
 -  else
--    rm -f conftest conftest.err conftest.c
-+    rm -f conftest conftest.c
-     return 0
-+  else
-+    rm -f conftest conftest.c
-+    return 1
-   fi
- }
-@@ -303,54 +274,9 @@
+-    rm -f conftest conftest.o conftest.c
+-    return 0
+-  fi
+-}
+-
+ # Option variables
+ if [ ! -z "$PREFIX" ] ; then
+   prefix="$PREFIX"
+@@ -327,79 +254,9 @@
    ldflags="${ldflags}-static"
  fi
  
@@ -97,9 +103,20 @@ diff -urN a/configure b/configure
 -  echo "$cc"
 -fi
 -
+-if [ "x$cflags" = "x-DREGEX" ] ; then
+-  printf "checking if the compiler accepts -g -O2... "
+-  defaultcflagscheck
+-  if [ $? -eq 0 ] ; then
+-    echo "no"
+-  else
+-    cflags="-g -O2 $cflags"
+-    echo "yes"
+-  fi
+-fi
+-
 -printf "checking for -w compiler flag... "
 -wflagcheck
--if [ $? -ne 0 ] ; then
+-if [ $? -eq 0 ] ; then
 -  echo "no"
 -else
 -  cflags="$cflags -w"
@@ -107,7 +124,13 @@ diff -urN a/configure b/configure
 -fi
 -
 -printf "checking for OS... "
--libs='-lncursesw'
+-
+-if [ $terminfo -eq 0 ] ; then
+-  libs="-lncursesw"
+-else
+-  libs=""
+-fi
+-
 -os=`uname -s`
 -echo "$os"
 -
@@ -117,7 +140,11 @@ diff -urN a/configure b/configure
 -    ;;
 -  "xDarwin")
 -    cflags="$cflags -DMSG_NOSIGNAL=SO_NOSIGPIPE -DLOGIN_NAME_MAX=MAXLOGNAME"
--    libs="-lncurses -lutil"
+-    if [ $terminfo -eq 0 ] ; then
+-      libs="-lncurses -lutil"
+-    else
+-      libs="-lutil"
+-    fi
 -    ;;
 -  "xFreeBSD")
 -    cflags="$cflags -D__dead=__dead2 -DLOGIN_NAME_MAX=MAXLOGNAME"
@@ -128,7 +155,11 @@ diff -urN a/configure b/configure
 -    ;;
 -  "xNetBSD")
 -    cflags="$cflags -D_OPENBSD_SOURCE"
--    libs="-lcurses -lutil"
+-    if [ $terminfo -eq 0 ] ; then
+-      libs="-lcurses -lutil"
+-    else
+-      libs="-lutil"
+-    fi
 -    ;;
 -  "xDragonFly")
 -    cflags="$cflags -D__dead=__dead2 -DLOGIN_NAME_MAX=MAXLOGNAME"
@@ -141,13 +172,3 @@ diff -urN a/configure b/configure
  
  cat << EOF > config.h
  /* This file generated automatically by configure.  */
---- a/linux.h  2019-03-03 22:17:03.000000000 +0900
-+++ b/linux.h  2019-06-04 13:45:21.787063324 +0900
-@@ -7,6 +7,7 @@
- #endif
- #include <sys/types.h>
-+#include <sys/stat.h>
- #include <stdio.h>
- /* Defines */
index 1ea2ad5b5a591ff913110a0f4d04c28c1a7baebb..ad665ac5d06f5035afed53a5c3ae6f24ef85cab8 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mksh
-PKG_VERSION:=56c
+PKG_VERSION:=59c
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Thorsten Glaser <tg@mirbsd.org>, \
@@ -19,7 +19,7 @@ PKG_LICENSE:=MirOS
 PKG_SOURCE:=$(PKG_NAME)-R$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh \
                http://pub.allbsd.org/MirOS/dist/mir/mksh
-PKG_HASH:=dd86ebc421215a7b44095dc13b056921ba81e61b9f6f4cdab08ca135d02afb77
+PKG_HASH:=77ae1665a337f1c48c61d6b961db3e52119b38e58884d1c89684af31f87bc506
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
@@ -42,7 +42,7 @@ derivate currently being actively developed.  It includes bug
 fixes and feature improvements, in order to produce a modern,
 robust shell good for interactive and especially script use.
 mksh has UTF-8 support (in substring operations and the Emacs
-editing mode) and - while R50 corresponds to OpenBSD 5.5-cur-
+editing mode) and - while R59 corresponds to OpenBSD 5.7-cur-
 rent ksh (without GNU bash-like PS1 and fancy character clas-
 ses) - adheres to SUSv4 and is much more robust. The code has
 been cleaned up and simplified, bugs fixed, standards compli-
@@ -65,11 +65,11 @@ define Build/Compile
                CC="$(TARGET_CC)" \
                TARGET_OS="$(shell uname -s)" \
                CFLAGS="$(TARGET_CFLAGS)" \
-               CPPFLAGS="-DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0 -DMKSH_BINSHPOSIX -DMKSHRC_PATH=\\\"/etc/mkshrc\\\"" \
+               CPPFLAGS="$(TARGET_CPPFLAGS) -DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0 -DMKSH_BINSHPOSIX -DMKSHRC_PATH=\\\"/etc/mkshrc\\\"" \
                HAVE_CAN_FSTACKPROTECTORALL=0 \
                HAVE_CAN_FSTACKPROTECTORSTRONG=0 \
                LDFLAGS="$(TARGET_LDFLAGS)" \
-                       $(BASH) Build.sh -Q -r -c lto
+                       $(BASH) Build.sh -Q -r
 endef
 
 define Package/mksh/postinst
index 21069fc533d8bd0b135658f13adda361b1f09d77..45c6cbd4d5d6a805d7596655ac155d19dbf396dd 100644 (file)
@@ -32,17 +32,16 @@ Signed-off-by: Alif M. A. <alive4ever at live.com>
 
 --- a/dot.mkshrc
 +++ b/dot.mkshrc
-@@ -63,10 +63,9 @@
+@@ -64,9 +64,9 @@
        EDITOR=
  done
  
 -\\builtin alias ls=ls l='ls -F' la='l -a' ll='l -l' lo='l -alo'
--\: "${HOSTNAME:=$(\\builtin ulimit -c 0; \\builtin print -r -- $(hostname \
--    2>/dev/null))}${EDITOR:=/bin/ed}${TERM:=vt100}${USER:=$(\\builtin ulimit \
--    -c 0; id -un 2>/dev/null)}${USER:=?}"
+-\: "${EDITOR:=/bin/ed}${TERM:=vt100}${USER:=$(\\builtin ulimit -c 0; id -un \
+-    2>/dev/null)}${HOSTNAME:=$(\\builtin ulimit -c 0; hostname 2>/dev/null)}"
 +\\builtin alias ls=ls l='ls -F' la='l -a' ll='l -l' lo='l -al'
-+\: "${HOSTNAME:=$(</proc/sys/kernel/hostname)}${EDITOR:=/bin/vi}${TERM:=vt100}\
-+      ${USER:=$(\\builtin ulimit -c 0; id -un 2>/dev/null)}${USER:=?}"
++\: "${EDITOR:=/bin/vi}${TERM:=vt100}${USER:=$(\\builtin ulimit -c 0; id -un \
++    2>/dev/null)}${HOSTNAME:=$(</proc/sys/kernel/hostname)}"
  [[ $HOSTNAME = ?(?(ip6-)localhost?(6)) ]] && HOSTNAME=nil; \\builtin unalias ls
- \\builtin export EDITOR HOSTNAME TERM USER
+ \\builtin export EDITOR HOSTNAME TERM USER="${USER:-?}"
  
index 81dda89e2350194a75b5ed8d0fef6be00aba5e10..6f3f48b08618c3caaa82e77fd1c0e458a6242ed8 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nano
-PKG_VERSION:=5.3
+PKG_VERSION:=5.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=c5c1cbcf622d9a96b6030d66409ed12b204e8bc01ef5e6554ebbe6fb1d734352
+PKG_HASH:=fe993408b22286355809ce48ebecc4444d19af8203ed4959d269969112ed86e9
 
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
index 0c60ea184e6e1b75d37c2f371ef981eacd5bc86e..40d38e80e0ab9a3b9480f04a9014cdbd0c2c43cc 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ntfs-3g
 PKG_VERSION:=2017.3.23
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)_ntfsprogs-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://www.tuxera.com/opensource/
@@ -160,7 +160,7 @@ define Package/ntfs-3g/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libntfs-3g.so.* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/sbin
-       $(CP) $(PKG_INSTALL_DIR)/sbin/mount.ntfs-3g $(1)/sbin/
+       $(LN) ../usr/bin/ntfs-3g $(1)/sbin/mount.ntfs-3g
 endef
 
 define Package/ntfs-3g/postinst
@@ -184,7 +184,7 @@ define Package/ntfs-3g-low/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lowntfs-3g $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/sbin
-       $(CP) $(PKG_INSTALL_DIR)/sbin/mount.lowntfs-3g $(1)/sbin/
+       $(LN) ../usr/bin/lowntfs-3g $(1)/sbin/mount.lowntfs-3g
 endef
 
 define Package/ntfs-3g-low/postinst
@@ -206,7 +206,7 @@ endef
 
 define Package/ntfs-3g-utils/install
        $(INSTALL_DIR) $(1)/sbin
-       $(CP) $(PKG_INSTALL_DIR)/sbin/mkfs.ntfs $(1)/sbin/
+       $(LN) ../usr/sbin/mkntfs $(1)/sbin/mkfs.ntfs
        $(INSTALL_DIR) $(1)/usr/bin
        $(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f ! -regex '.*[^/]*ntfs-3g[^/]*' -exec $(INSTALL_BIN) {} $(1)/usr/bin/ \;
        $(INSTALL_DIR) $(1)/usr/sbin
index 80d8eab9175ea8980ca1e66dcfca87ac6a06da51..b7f7aaeed6e8f041dc88c7cb77077a89a1d7d24b 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=open-vm-tools
-PKG_VERSION:=11.1.5
+PKG_VERSION:=11.2.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-16724464.tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-16938113.tar.gz
 PKG_SOURCE_URL:=https://github.com/vmware/open-vm-tools/releases/download/stable-$(PKG_VERSION)
-PKG_HASH:=cb33171b22872d66632b4151feafd4da480aee0c6bd5dcc188651984c1e9c511
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-16724464
+PKG_HASH:=df16b78bb919e85fe2b9190148f4987ea4942f9f9667836bf1311dfc2eb839db
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-16938113
 
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=LICENSE
index 959fa6f4c09e8edd58c0eee7048f8d2f5f8d2ec1..ef742dcf4f120cd36dd865d59375e35fc41ebc90 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1184,6 +1184,7 @@
+@@ -1195,6 +1195,7 @@ AC_TYPE_OFF_T
  AC_TYPE_PID_T
  AC_TYPE_SIZE_T
  AC_CHECK_MEMBERS([struct stat.st_rdev])
index 472d3433499c865aae7abbb7052b0cdde1c44434..dcd7c1e5213d5c48207e38c2b9b212ae8cb94ef6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/hgfsServer/hgfsServerLinux.c
 +++ b/lib/hgfsServer/hgfsServerLinux.c
-@@ -105,11 +105,13 @@
+@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
  #endif
  
  /*
@@ -28,5 +28,3 @@
  #define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
  #endif
  #ifdef __ANDROID__
index 36a9018b4b12fa6d389528ab57fb3623f83b9142..bec5d34bce931383272e6c22d025a0b2e296f88b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -912,6 +912,7 @@
+@@ -923,6 +923,7 @@ AC_CHECK_FUNCS(
  
  AC_CHECK_FUNCS([ecvt])
  AC_CHECK_FUNCS([fcvt])
@@ -8,7 +8,7 @@
  
  AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
  
-@@ -1121,10 +1122,13 @@
+@@ -1132,10 +1133,13 @@ fi
  ###
  
  AC_CHECK_HEADERS([crypt.h])
@@ -38,7 +38,7 @@
  #ifdef __APPLE__
  #include <sys/socket.h>
  #include <TargetConditionals.h>
-@@ -1025,31 +1022,32 @@
+@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid)  // IN:
  static Bool
  IdIsSetUGid(void)
  {
index 1bd1e56a7a124ad2d759a3f9b74c801f884b1e7d..b4d4a46229b001565b054d9611c244e5e375933b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/asyncsocket/asyncsocket.c
 +++ b/lib/asyncsocket/asyncsocket.c
-@@ -69,8 +69,8 @@
+@@ -70,8 +70,8 @@
  #else
  #include <stddef.h>
  #include <ctype.h>
index 861b0e93dc86e7485518633bb696f11139f0ab59..f527b0ea6a09013cadf3005b04fd437a0a83fbad 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/asyncsocket/asyncsocket.c
 +++ b/lib/asyncsocket/asyncsocket.c
-@@ -86,7 +86,7 @@
+@@ -87,7 +87,7 @@
  #include "random.h"
  #include "asyncsocket.h"
  #include "asyncSocketBase.h"
@@ -11,7 +11,7 @@
  #include "hostinfo.h"
 --- a/lib/hgfsServer/hgfsServer.c
 +++ b/lib/hgfsServer/hgfsServer.c
-@@ -49,7 +49,7 @@
+@@ -51,7 +51,7 @@
  #include "hgfsDirNotify.h"
  #include "hgfsThreadpool.h"
  #include "userlock.h"
@@ -22,7 +22,7 @@
  #include "unicodeOperations.h"
 --- a/lib/include/asyncsocket.h
 +++ b/lib/include/asyncsocket.h
-@@ -169,7 +169,7 @@ typedef struct AsyncSocket AsyncSocket;
+@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket;
   * Or the client can specify its favorite poll class and locking behavior.
   * Use of IVmdbPoll is only supported for regular sockets and for Attach.
   */
index 996708ad41b659fbe16b6d665f49213d00e80cb5..93ef93f19270bbbbd41f48c35819ad16755fbd34 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/err/errPosix.c
 +++ b/lib/err/errPosix.c
-@@ -61,13 +61,7 @@ ErrErrno2String(Err_Number errorNumber, // IN
+@@ -61,13 +61,7 @@ ErrErrno2String(Err_Number errorNumber,
                  char *buf,            // OUT: return buffer
                size_t bufSize)         // IN: size of buffer
  {
index d2407ad7d4aed359fb59f9faf0b67ca45a233cb8..ec48aa342696c4dad3bbeff1ee430b6fd7749e75 100644 (file)
@@ -10,7 +10,7 @@
  
  #ifdef __linux__
  #   include <net/if.h>
---- a/lib/nicInfo/resolv_compat.h
+--- /dev/null
 +++ b/lib/nicInfo/resolv_compat.h
 @@ -0,0 +1,29 @@
 +#if !defined(__GLIBC__)
index f6ca485436b444482f27e11e65ba4b0be3012d77..b0537c0e8ae32bf280acd510b4e35e10709a9297 100644 (file)
@@ -9,7 +9,7 @@
     uint32 sec;
     uint32 nsec;
  
-@@ -134,7 +134,7 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
+@@ -134,7 +134,7 @@ HgfsConvertFromNtTimeNsec(struct timespe
        return -1;
     }
  
@@ -20,7 +20,7 @@
     unixTime->tv_nsec = nsec * 100;
 --- a/lib/hgfsServer/hgfsServerLinux.c
 +++ b/lib/hgfsServer/hgfsServerLinux.c
-@@ -2569,7 +2569,11 @@ HgfsStatToFileAttr(struct stat *stats,       // IN: stat information
+@@ -2573,8 +2573,12 @@ HgfsStatToFileAttr(struct stat *stats,
  #      define FMTTIMET "l"
  #   endif
  #else
@@ -28,7 +28,8 @@
 +#   define FMTTIMET __PRI64
 +#else
  #   define FMTTIMET "l"
-+#endif
  #endif
++#endif
     LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
         "attr: %"FMTTIMET"d/%"FMT64"u\n",
+        stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
index 1f0cfe70df4a5bcfcf3aa68ba67fd175aa882911..be3fbbde0fb4d61011c11e7c46f4d31aa97f5e04 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1199,7 +1199,6 @@ AC_C_VOLATILE
+@@ -1210,7 +1210,6 @@ AC_C_VOLATILE
  
  ### General flags / actions
  CFLAGS="$CFLAGS -Wall"
index 41da7bab05f9e6f2b6028368f0d348f8b972423f..fcbf5d8e0c50da12a922cace1a782ed4a23679f5 100644 (file)
@@ -12,7 +12,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=open2300
 PKG_SOURCE_DATE:=2014-03-04
 PKG_SOURCE_VERSION:=1af8ae609da66f8e1b745533c19095c9758bfb0b
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/wezm/open2300
@@ -55,8 +55,8 @@ define Package/open2300/install
        $(INSTALL_DATA) ./files/open2300.conf $(1)/etc/
 
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib2300.so.1.11 $(1)/usr/lib/
-       ln -sf /usr/lib/lib2300.so.1.11 $(1)/usr/lib/lib2300.so
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib2300.so.1.11 $(1)/usr/lib/
+       $(LN) lib2300.so.1.11 $(1)/usr/lib/lib2300.so
 endef
 
 $(eval $(call BuildPackage,open2300))
index 30c2e836855ac6bd4a2bd449681ebacc5cb7c434..2581fe6b5461d68f72005609899db6be3d4fd5b6 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openocd
-PKG_SOURCE_VERSION:=v0.10.0-1000-gdb23c13d
+PKG_SOURCE_VERSION:=v0.11.0-rc1
 PKG_VERSION:=$(PKG_SOURCE_VERSION)
-PKG_RELEASE:=2
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_URL:=git://git.code.sf.net/p/openocd/code
-PKG_MIRROR_HASH:=6f8c0ecf240427654ad5e911b44f78996da931209280f4a19c1215802ff14638
+PKG_MIRROR_HASH:=c4a0a6cad821946608c843f557b993e7cfeb0f193e4c0f149ebfbfbfd57054a6
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -37,18 +37,11 @@ define Package/openocd
   CATEGORY:=Utilities
   TITLE:=OpenOCD Utility
   URL:=http://openocd.sf.net/
-  DEPENDS:=+PACKAGE_openocd_with_usb:libusb-1.0 \
-       +PACKAGE_openocd_with_usb:libusb-compat \
-       +PACKAGE_openocd_with_usb:libftdi1 \
-       +PACKAGE_openocd_with_usb:hidapi
-endef
-
-define Package/openocd/config
-  if PACKAGE_openocd
-       config PACKAGE_openocd_with_usb
-               bool "Build with support for USB adapters."
-               default y
-  endif
+  DEPENDS:=+libusb-1.0 \
+       +libusb-compat \
+       +libftdi1 \
+       +hidapi \
+       +libgpiod
 endef
 
 define Package/openocd/description
@@ -78,9 +71,9 @@ CONFIGURE_ARGS += \
        --prefix="/usr" \
        --disable-werror \
        MAKEINFO=true \
-       $(if $(CONFIG_PACKAGE_openocd_with_usb),,PKG_CONFIG=false) \
        --enable-dummy \
-       --enable-sysfsgpio
+       --enable-sysfsgpio \
+       --enable-linuxgpiod
 
 TARGET_CFLAGS += -DRELSTR=\\\"-$(PKG_VERSION)-$(PKG_RELEASE)-OpenWrt\\\"
 
diff --git a/utils/openocd/patches/010-gcc10.patch b/utils/openocd/patches/010-gcc10.patch
deleted file mode 100644 (file)
index 9bfb610..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From c60252ac2b636c4d99b766a574b9df0966151696 Mon Sep 17 00:00:00 2001
-From: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-Date: Fri, 17 Apr 2020 13:49:28 +0200
-Subject: [PATCH] bitbang: Fix FTBFS with GCC 10
-
-GCC 10 defaults to -fno-common which breaks the sharing of bitbang_swd
-struct between bitbang drivers due to a missing extern.
-
-Change-Id: I2b4122f7939cec91a72284006748f99a23548324
-Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-Reviewed-on: http://openocd.zylin.com/5592
-Tested-by: jenkins
-Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-Reviewed-by: Jonathan McDowell <noodles-openocd@earth.li>
----
- src/jtag/drivers/bitbang.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h
-index edb779c..bbbc693 100644
---- a/src/jtag/drivers/bitbang.h
-+++ b/src/jtag/drivers/bitbang.h
-@@ -57,7 +57,7 @@ struct bitbang_interface {
-       void (*swdio_drive)(bool on);
- };
--const struct swd_driver bitbang_swd;
-+extern const struct swd_driver bitbang_swd;
- extern bool swd_mode;
index 25aa105c512615809da9d77153ac423638f614e0..84b8998fa09463a4b78837cd6f210e146b070579 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pciutils
 PKG_VERSION:=3.7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/utils/pciutils
@@ -29,7 +29,7 @@ define Package/pciutils
   CATEGORY:=Utilities
   TITLE:=Linux PCI Utilities
   URL:=http://mj.ucw.cz/pciutils.shtml
-  DEPENDS:=+libkmod +libpci
+  DEPENDS:=+libkmod +libpci +pciids
 endef
 
 define Package/pciutils/description
@@ -44,23 +44,6 @@ define Package/libpci
   URL:=http://mj.ucw.cz/pciutils.shtml
 endef
 
-
-PCI_IDS_VER:=0.336
-PCI_IDS_FILE:=pci.ids.$(PCI_IDS_VER)
-define Download/pci_ids
-  FILE:=$(PCI_IDS_FILE)
-  URL_FILE:=pci.ids
-  URL:=@GITHUB/vcrhonek/hwdata/v$(PCI_IDS_VER)
-  HASH:=94053616c1f9b93540861931fb7891b1b30d6fd21b3e2c1647467527ea38f557
-endef
-$(eval $(call Download,pci_ids))
-
-define Build/Prepare
-       $(call Build/Prepare/Default)
-       $(RM) $(PKG_BUILD_DIR)/pci.ids
-       $(CP) $(DL_DIR)/$(PCI_IDS_FILE) $(PKG_BUILD_DIR)/pci.ids
-endef
-
 TARGET_CFLAGS += $(FPIC)
 
 MAKE_FLAGS += \
@@ -92,8 +75,6 @@ endef
 define Package/pciutils/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{lspci,setpci,update-pciids} $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/usr/share
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pci.ids $(1)/usr/share/
 endef
 
 define Package/libpci/install
index c3935a001dd6a32bc5427a51d8e82a4fbd9f7aad..2f1e022893c56676d525b59b27e5c00190053475 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ distclean: clean
  install: all
  # -c is ignored on Linux, but required on FreeBSD
        $(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7 $(DESTDIR)/$(MANDIR)/man5
index 9b319384587a07ce483211be06575f7c1d5c2440..2ea8605d9dc0bc67354e20fe5b8733c7c503edef 100644 (file)
@@ -1,7 +1,7 @@
 --- a/update-pciids.sh
 +++ b/update-pciids.sh
 @@ -6,9 +6,8 @@ set -e
- SRC="http://pci-ids.ucw.cz/v2.2/pci.ids"
+ SRC="https://pci-ids.ucw.cz/v2.2/pci.ids"
  DEST=pci.ids
  PCI_COMPRESSED_IDS=
 -GREP=grep
diff --git a/utils/pciutils/patches/106-hwdata.patch b/utils/pciutils/patches/106-hwdata.patch
new file mode 100644 (file)
index 0000000..ee63bc5
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -35,7 +35,7 @@ ABI_VERSION=.3
+ PREFIX=/usr/local
+ SBINDIR=$(PREFIX)/sbin
+ SHAREDIR=$(PREFIX)/share
+-IDSDIR=$(SHAREDIR)
++IDSDIR=$(SHAREDIR)/hwdata
+ MANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
+ INCDIR=$(PREFIX)/include
+ LIBDIR=$(PREFIX)/lib
index f1ee89a80756b310b174de9f547d621edb97d8c1..4ba4ea1b7093eeb61ffa2d762f1d40b66af862e2 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pcsc-lite
 PKG_VERSION:=1.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://pcsclite.apdu.fr/files/
@@ -71,6 +71,7 @@ CONFIGURE_ARGS += \
        --disable-libsystemd \
        --enable-libusb \
        --enable-static \
+       --enable-ipcdir=/var/run/pcscd \
        --enable-usbdropdir=/usr/lib/pcsc/drivers
 
 define Build/InstallDev
index 24ad25d69debbe2f9a6c4f675fa3d36f3c535e84..6e77e15a236df8fe72a7d74596951c02eb836c4c 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=podman
-PKG_VERSION:=2.1.1
-PKG_RELEASE:=4
+PKG_VERSION:=2.2.1
+PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
-PKG_HASH:=5ebaa6e0dbd7fd1863f70d2bc71dc8a94e195c3339c17e3cac4560c9ec5747f8
+PKG_HASH:=bd86b181251e2308cb52f18410fb52d89df7f130cecf0298bbf9a848fe7daf60
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 
index 877ec234b3a2ac5828dc4c4c5ca179c0ba859f2b..d02351bbcb3b4041a3a36927f224a42b7443b8a6 100644 (file)
@@ -4,7 +4,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
-PKG_VERSION:=2020.10.29
+PKG_VERSION:=2020.12.07
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
@@ -199,6 +199,17 @@ define Package/prometheus-node-exporter-lua-wifi_stations/install
        $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/wifi_stations.lua $(1)/usr/lib/lua/prometheus-collectors/
 endef
 
+define Package/prometheus-node-exporter-lua-snmp6
+  $(call Package/prometheus-node-exporter-lua/Default)
+  TITLE+= (snmp6 collector)
+  DEPENDS:=prometheus-node-exporter-lua +libubus-lua
+endef
+
+define Package/prometheus-node-exporter-lua-snmp6/install
+       $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
+       $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/snmp6.lua $(1)/usr/lib/lua/prometheus-collectors/
+endef
+
 $(eval $(call BuildPackage,prometheus-node-exporter-lua))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx6))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx7))
@@ -213,3 +224,4 @@ $(eval $(call BuildPackage,prometheus-node-exporter-lua-textfile))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-uci_dhcp_host))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi_stations))
+$(eval $(call BuildPackage,prometheus-node-exporter-lua-snmp6))
diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/snmp6.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/snmp6.lua
new file mode 100644 (file)
index 0000000..663d1b5
--- /dev/null
@@ -0,0 +1,39 @@
+local ubus = require "ubus"
+
+local function get_devices() -- based on hostapd_stations.lua
+    local u = ubus.connect()
+    local status = u:call("network.device", "status", {})
+    local devices = {}
+
+    for dev, dev_table in pairs(status) do
+        table.insert(devices, dev)
+    end
+    return devices
+end
+
+local function get_metric(device)
+    local label = {
+        device = device
+      }
+      
+    if device == "all" then
+        for e in io.lines("/proc/net/snmp6") do
+            local snmp6 = space_split(e)
+            metric("snmp6_" .. snmp6[1], "counter", label, tonumber(snmp6[2]))
+        end
+    else
+        for e in io.lines("/proc/net/dev_snmp6/" .. device) do
+            local snmp6 = space_split(e)
+            metric("snmp6_" .. snmp6[1], "counter", label, tonumber(snmp6[2]))
+        end
+    end
+end
+
+local function scrape()
+    get_metric("all")
+    for _, devicename in ipairs(get_devices()) do
+        get_metric(devicename)
+    end
+end
+
+return { scrape = scrape }
index 57792c8b42d3e73098f2c333a0c061df43398609..a706993d03aa3c98cc11681dee6c481394f9ede1 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=qemu
 PKG_VERSION:=5.0.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_HASH:=2f13a92a0fa5c8b69ff0796b59b86b080bbb92ebad5d301a7724dd06b5e78cb6
 PKG_SOURCE_URL:=http://download.qemu.org/
@@ -29,7 +29,7 @@ include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/nls.mk
 include $(INCLUDE_DIR)/package.mk
 
-QEMU_DEPS_IN_GUEST := @(TARGET_x86_64||TARGET_armvirt||TARGET_arm64||TARGET_malta)
+QEMU_DEPS_IN_GUEST := @(TARGET_x86_64||TARGET_armvirt||TARGET_malta)
 QEMU_DEPS_IN_HOST := @(TARGET_x86_64||TARGET_sunxi)
 QEMU_DEPS_IN_HOST += $(CXX_DEPENDS)
 QEMU_DEPS_IN_HOST += $(ICONV_DEPENDS)
diff --git a/utils/qemu/patches/0007-qga-invoke-separate-applets-for-guest-shutdown-modes.patch b/utils/qemu/patches/0007-qga-invoke-separate-applets-for-guest-shutdown-modes.patch
new file mode 100644 (file)
index 0000000..1bcf720
--- /dev/null
@@ -0,0 +1,47 @@
+From 80ec6872aceb18c68b1cf5b6f8acd6ad667cbd4f Mon Sep 17 00:00:00 2001
+From: Yousong Zhou <yszhou4tech@gmail.com>
+Date: Thu, 17 Dec 2020 15:55:55 +0800
+Subject: [PATCH] qga: invoke separate applets for guest-shutdown modes
+
+/sbin/shutdown is not available on OpenWrt by default
+
+Origin: "main/qemu: fix shutdown from guest agent"
+https://gitlab.alpinelinux.org/alpine/aports/commit/76b81b486480fd9c3294cd420bcf2df01c27790d
+---
+ qga/commands-posix.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/qga/commands-posix.c b/qga/commands-posix.c
+index a52af0315f..623d856c64 100644
+--- a/qga/commands-posix.c
++++ b/qga/commands-posix.c
+@@ -84,6 +84,7 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp)
+ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
+ {
+     const char *shutdown_flag;
++    const char *fallback_cmd = NULL;
+     Error *local_err = NULL;
+     pid_t pid;
+     int status;
+@@ -91,10 +92,13 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
+     slog("guest-shutdown called, mode: %s", mode);
+     if (!has_mode || strcmp(mode, "powerdown") == 0) {
+         shutdown_flag = "-P";
++        fallback_cmd = "/sbin/poweroff";
+     } else if (strcmp(mode, "halt") == 0) {
+         shutdown_flag = "-H";
++        fallback_cmd = "/sbin/halt";
+     } else if (strcmp(mode, "reboot") == 0) {
+         shutdown_flag = "-r";
++        fallback_cmd = "/sbin/reboot";
+     } else {
+         error_setg(errp,
+                    "mode is invalid (valid values are: halt|powerdown|reboot");
+@@ -111,6 +115,7 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
+         execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
+                "hypervisor initiated shutdown", (char*)NULL, environ);
++        execle(fallback_cmd, fallback_cmd, (char*)NULL, environ);
+         _exit(EXIT_FAILURE);
+     } else if (pid < 0) {
+         error_setg_errno(errp, errno, "failed to create child process");
index fc333612c83060cd3cb72b17d7628d4482d968ae..289b2d1241a137d0ab178e6ace8701d544eeebb7 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rpcd-mod-lxc
-PKG_RELEASE=20171206
+PKG_RELEASE=20201208
 
 PKG_LICENSE:=ISC
 
@@ -34,4 +34,9 @@ define Package/rpcd-mod-lxc/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/lxc.so $(1)/usr/lib/rpcd/
 endef
 
+define Package/rpcd-mod-lxc/postinst
+#!/bin/sh
+[ -n "$$IPKG_INSTROOT" ] || /etc/init.d/rpcd reload
+endef
+
 $(eval $(call BuildPackage,rpcd-mod-lxc))
index 0c77160f1d74be54905070c55aaa7ffe04e975e3..410ed16290edf8f2bd9e0c7d0dced3c7b07d7048 100644 (file)
@@ -7,18 +7,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtl_433
-PKG_VERSION:=20.02
+PKG_VERSION:=20.11
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/merbanan/rtl_433/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=4f114017ede02d3038c449cf7d25cc82eecda5960e5229cc229774681a9ad80b
+PKG_HASH:=12a5cb7a733ba352467522c704d5b685aa6137582dc18aaa444d4891c29ee839
 
 PKG_MAINTAINER:=Jasper Scholte <NightNL@outlook.com>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
 
-CMAKE_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -36,7 +35,15 @@ define Package/rtl-sdr/description
   rtl_433 turns your Realtek RTL2832 based DVB dongle into a 433.92MHz generic data receiver.
 endef
 
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/rtl_433.h $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/rtl_433_devices.h $(1)/usr/include
+endef
+
 define Package/rtl_433/install
+       $(INSTALL_DIR) $(1)/etc/rtl_433
+       $(CP) $(PKG_INSTALL_DIR)/usr/etc/rtl_433/*.conf $(1)/etc/rtl_433
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/rtl_433 $(1)/usr/bin
 endef
index 091d0201b3635c95235371af8d2ce205f6000b8e..d6d4ddcf846778e3c26bf69a0e558228336dcbff 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtty
-PKG_VERSION:=7.1.4
+PKG_VERSION:=7.1.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL=https://github.com/zhaojh329/rtty/releases/download/v$(PKG_VERSION)
-PKG_HASH:=f0b8cf4c4d3d4b34d10097fe430d32ab1576edbf41131d27b6b964e078be1716
+PKG_HASH:=12de3a20259e89e7ee227b2e23a2e72f20af230b9670124c1c81044c7ce15a98
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=MIT
index 5d9797699d17ee83aaca50637d304c85133a2b0f..bd1b97473db01a44369862bd42940b1d8a85e759 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/uclibc++.mk
 
 PKG_NAME:=smartmontools
-PKG_VERSION:=7.1
-PKG_RELEASE:=3
+PKG_VERSION:=7.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/smartmontools
-PKG_HASH:=3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846
+PKG_HASH:=5cd98a27e6393168bc6aaea070d9e1cd551b0f898c52f66b2ff2e5d274118cd6
 
 PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
index 69007d1f8cf2cc0d084c092fa0eca4a66ba58c39..ba7bf16c55e6f8c2ca56265ed5d12720db94dbb0 100644 (file)
@@ -70,7 +70,7 @@ index 072160a..d57417b 100644
 +    "-v 228,raw48,Power-off_Retract_Count "
 +    //  229 Unknown_Attribute
 +    "-v 230,raw48,Head_Amplitude,HDD "
-+    "-v 231,raw48,Temperature_Celsius "
++    "-v 231,raw48,Temperature_Celsius,HDD "
 +    "-v 232,raw48,Available_Reservd_Space "
 +    "-v 233,raw48,Media_Wearout_Indicator,SSD "
 +    //  234-239 Unknown_Attribute
index 2c07edc0167196f4bd96aace61d3de6a1293ba92..a80e7c9b8bb4c203fe8ac132edbd15aec0a019d7 100644 (file)
@@ -1,13 +1,13 @@
 diff --git a/configure b/configure
-index 6f442b3..5803c83 100755
+index 88928cf..736fabd 100755
 --- a/configure
 +++ b/configure
-@@ -6988,7 +6988,7 @@ releaseversion='${PACKAGE}-${VERSION}'
+@@ -6964,7 +6964,7 @@ releaseversion='${PACKAGE}-${VERSION}'
  # Set platform-specific modules and symbols
  os_libs=
  os_dltools='curl wget lynx svn'
 -os_mailer=mail
 +os_mailer=mailx
- os_hostname="'hostname'"
+ os_hostname="'hostname' 'uname -n'"
  os_dnsdomainname=
  os_nisdomainname="'domainname'"
diff --git a/utils/smartmontools/test.sh b/utils/smartmontools/test.sh
new file mode 100644 (file)
index 0000000..e4f6091
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+case "$1" in
+       smartctl|smartd) "$1" -V | head -n 1 | grep "$2" ;;
+esac
index 962cc7daddf328fc18167c80a0bb02e094cbec1c..804f44cf7f7f5a59a1f55fee20dbb659f01f0222 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=spi-tools
-PKG_VERSION:=0.8.5
+PKG_VERSION:=0.8.6
 PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=https://codeload.github.com/cpb-/spi-tools/tar.gz/$(PKG_VERSION)?
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=a1846bf3b4d38fc419f8efe4555242aa581358fdca28452b3ca11f74e3572e33
+PKG_HASH:=319ad6ab296111109ea4a820e216cef392429295de7e10e76f7146677337cf09
 
 PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
 PKG_LICENSE:=GPL-2.0-only
index 27cfefce495d71ac93565dbc11ede32766adb59c..4ee2a7de896fa5ca803a21237fde6f610efe56e3 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=stress-ng
-PKG_VERSION:=0.11.23
+PKG_VERSION:=0.12.00
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://kernel.ubuntu.com/~cking/tarballs/stress-ng
-PKG_HASH:=c0a76147a02f4c31af1fb4b9b7e0b90ac8bbd8590ccb54264d5cbe046c769cd2
+PKG_HASH:=b2b738f574671926654b1623103a7aa58ee6911894ac78760ee188c4bfa96fe2
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=GPL-2.0-only
index 0a0b7ba81d1370ea99970d3c6582b7f44ececa83..5a26c96b40397e6e673096eac3959e836d43492b 100644 (file)
@@ -8,18 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sumo
-PKG_VERSION:=1.3.1
+PKG_VERSION:=1.8.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-src-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/sumo
-PKG_HASH:=dd089814499cc8d21ea90ab506adbb01e7fda9d9685d9d90a1a41cc3fe680505
+PKG_HASH:=fb0636152085153155ddb41841f0175c5f1e7989907b883f6c7453c63af49edb
 
 PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
-
-CMAKE_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -42,6 +40,9 @@ define Package/sumo/description
   various APIs to remotely control the simulation.
 endef
 
+CMAKE_OPTIONS += \
+       -DCCACHE_SUPPORT=OFF
+
 define Package/sumo/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{activitygen,dfrouter,duarouter,emissionsDrivingCycle,emissionsMap,jtrrouter,marouter,netconvert,netgenerate,od2trips,polyconvert} $(1)/usr/bin
diff --git a/utils/sumo/patches/010-usleep.patch b/utils/sumo/patches/010-usleep.patch
deleted file mode 100644 (file)
index 39eb5b3..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From d35215b50bfea42c8a1d884c65fda1dee8b62d50 Mon Sep 17 00:00:00 2001
-From: Michael Behrisch <michael.behrisch@dlr.de>
-Date: Fri, 4 Oct 2019 11:41:29 +0200
-Subject: [PATCH] removing usleep, refs #12, fix #6133
-
----
- src/utils/foxtools/FXSingleEventThread.cpp   |  9 +++------
- src/utils/iodevices/OutputDevice_Network.cpp | 17 ++++-------------
- 2 files changed, 7 insertions(+), 19 deletions(-)
-
-diff --git a/src/utils/foxtools/FXSingleEventThread.cpp b/src/utils/foxtools/FXSingleEventThread.cpp
-index 4b12fb920f..f545c18439 100644
---- a/src/utils/foxtools/FXSingleEventThread.cpp
-+++ b/src/utils/foxtools/FXSingleEventThread.cpp
-@@ -35,6 +35,8 @@
- #else
- #include <process.h>
- #endif
-+#include <chrono>
-+#include <thread>
- #ifndef WIN32
- # define PIPE_READ 0
-@@ -137,12 +139,7 @@ FXSingleEventThread::onThreadEvent(FXObject*, FXSelector, void*) {
- void
- FXSingleEventThread::sleep(long ms) {
--#ifdef WIN32
--    Sleep(ms);
--#else
--    long long us = ms * 1000;
--    usleep(us);
--#endif
-+    std::this_thread::sleep_for(std::chrono::milliseconds(ms));
- }
-diff --git a/src/utils/iodevices/OutputDevice_Network.cpp b/src/utils/iodevices/OutputDevice_Network.cpp
-index 2c20ce96aa..6bde32e1e6 100644
---- a/src/utils/iodevices/OutputDevice_Network.cpp
-+++ b/src/utils/iodevices/OutputDevice_Network.cpp
-@@ -21,15 +21,10 @@
- // ==========================================================================
- // included modules
- // ==========================================================================
--#include <config.h> // #ifdef _MSC_VER
-+#include <config.h>
--#ifdef WIN32
--#define NOMINMAX
--#include <windows.h>
--#undef NOMINMAX
--#else
--#include <unistd.h>
--#endif
-+#include <thread>
-+#include <chrono>
- #include <vector>
- #include "OutputDevice_Network.h"
- #include "foreign/tcpip/socket.h"
-@@ -57,11 +52,7 @@ OutputDevice_Network::OutputDevice_Network(const std::string& host,
-             if (wait == 9000) {
-                 throw IOError(toString(e.what()) + " (host: " + host + ", port: " + toString(port) + ")");
-             }
--#ifdef WIN32
--            Sleep(wait);
--#else
--            usleep(wait * 1000);
--#endif
-+            std::this_thread::sleep_for(std::chrono::milliseconds(wait));
-         }
-     }
-     myFilename = host + ":" + toString(port);
diff --git a/utils/sumo/patches/020-strerror.patch b/utils/sumo/patches/020-strerror.patch
deleted file mode 100644 (file)
index e9529ad..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/src/foreign/zstr/strict_fstream.hpp
-+++ b/src/foreign/zstr/strict_fstream.hpp
-@@ -33,17 +33,17 @@ static std::string strerror()
-     {
-         buff = "Unknown error";
-     }
--#elif __APPLE__ || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE)
-+#elif defined(__GLIBC__)
-+// GNU-specific strerror_r()
-+    auto p = strerror_r(errno, &buff[0], buff.size());
-+    std::string tmp(p, std::strlen(p));
-+    std::swap(buff, tmp);
-+#else
- // XSI-compliant strerror_r()
-     if (strerror_r(errno, &buff[0], buff.size()) != 0)
-     {
-         buff = "Unknown error";
-     }
--#else
--// GNU-specific strerror_r()
--    auto p = strerror_r(errno, &buff[0], buff.size());
--    std::string tmp(p, std::strlen(p));
--    std::swap(buff, tmp);
- #endif
-     buff.resize(buff.find('\0'));
-     return buff;
index fa49b95d5ad5c0946920bee7d1e64fbf0b2a0449..ca6b0c396b7ecf7fe1e86af2b147d36a218ac3c8 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sysstat
-PKG_VERSION:=12.4.1
+PKG_VERSION:=12.4.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://pagesperso-orange.fr/sebastien.godard/
-PKG_HASH:=24af8d4eff5118a18f67d5eadda843b9cb9fd29ae4922c0e8b8399621313ce0b
+PKG_HASH:=3701b2c1883d50eb384d7b95ce5b6df0a71fdcb3c23f96cb58098d1bcffa018f
 
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 PKG_LICENSE:=GPL-2.0-or-later
index a37401f95a13764f7a04e7cb37687491a1acf49c..8b024ffacdd2cc83c0530dbd5cc934a57e20ac50 100644 (file)
@@ -36,7 +36,7 @@
  
  sadc: sadc.o act_sadc.o sa_wrap.o sa_common_sadc.o common_sadc.o systest.o librdstats.a librdsensors.a
  
-@@ -293,7 +293,7 @@ sar: sar.o act_sar.o format_sar.o sa_common.o pr_stats.o librdstats_light.a libs
+@@ -293,7 +293,7 @@ sar: sar.o act_sar.o format_sar.o sa_com
  
  sadf.o: sadf.c sadf.h version.h sa.h common.h rd_stats.h rd_sensors.h
  
index 9960f3cdbbe7164328a8e043e36c72be75b3eec9..f2a8ceb05aa4355efe422cbccf00cfb289761305 100644 (file)
@@ -7,8 +7,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcsh
-PKG_VERSION:=6.22.02
-PKG_RELEASE:=2
+PKG_VERSION:=6.22.03
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= \
@@ -16,7 +16,7 @@ PKG_SOURCE_URL:= \
        https://astron.com/pub/tcsh/old \
        https://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh \
        https://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old
-PKG_HASH:=ed287158ca1b00ba477e8ea57bac53609838ebcfd05fcb05ca95021b7ebe885b
+PKG_HASH:=be2cfd653d2a0c7f506d2dd14c12324ba749bd484037be6df44a3973f52262b7
 
 PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index 7cc7e06c60aa1467e6d2345d79c5ab91698633b7..f46ce35091af5f2108960644293e019a2f3bdcce 100644 (file)
@@ -1,4 +1,4 @@
---- a/config_f.h               
+--- a/config_f.h
 +++ b/config_f.h
 @@ -138,11 +138,8 @@
   *            This can be much slower and no memory statistics will be
index b1ed1ec86df47b1fde7dae8e005aa5af96547a0a..526b3c45eb70613088228595b467311d8acd2332 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -447,7 +447,7 @@ pure:$(P) ${OBJS}
+@@ -448,7 +448,7 @@ pure:$(P) ${OBJS}
  
  gethost:  gethost.c sh.err.h tc.const.h sh.h
        rm -f gethost
diff --git a/utils/tcsh/patches/030-gcc10.patch b/utils/tcsh/patches/030-gcc10.patch
deleted file mode 100644 (file)
index b5a0cf0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-From 6974bc35a5cda6eab748e364bd76a860ca66968b Mon Sep 17 00:00:00 2001
-From: zoulasc <christos@zoulas.com>
-Date: Sat, 11 Jan 2020 11:16:51 -0500
-Subject: [PATCH] Remove extra variable definition that cause -fno-common build
- to fail (Werner Fink)
-
----
- tc.sig.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/tc.sig.c b/tc.sig.c
-index 77659ca..576605a 100644
---- a/tc.sig.c
-+++ b/tc.sig.c
-@@ -56,7 +56,6 @@ int alrmcatch_disabled; /* = 0; */
- int phup_disabled; /* = 0; */
- int pchild_disabled; /* = 0; */
- int pintr_disabled; /* = 0; */
--int handle_interrupt; /* = 0; */
- int
- handle_pending_signals(void)
index 28abe82111f1c2360ef902ec34361972a820ba0d..8ba0d3aa185c8ac5f0a2629dd69ee615325e2477 100644 (file)
@@ -1,15 +1,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tini
-PKG_VERSION:=0.18.0
+PKG_VERSION:=0.19.0
 PKG_RELEASE:=1
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/krallin/tini/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2
-PKG_SOURCE_VERSION:=fec3683b971d9c3ef73f284f176672c44b448662
+PKG_HASH:=0fd35a7030052acd9f58948d1d900fe1e432ee37103c5561554408bdac6bbf0d
+PKG_SOURCE_VERSION:=de40ad007797e0dcd8b7126f27bb87401d224240
+TINI_COMMIT:=de40ad0
 
 PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
 
@@ -30,8 +31,7 @@ define Package/tini/description
 A tiny but valid init process for containers.
 endef
 
-# static version seemes to be effected by https://www.openwall.com/lists/musl/2018/07/18/8 so we use the workaround
-TARGET_CFLAGS += -Wl,--build-id
+CMAKE_OPTIONS += -DTINI_VERSION_GIT='$(TINI_COMMIT)'
 
 define Package/tini/install
        $(INSTALL_DIR) $(1)/usr/bin
diff --git a/utils/tini/patches/001-override-git-version.patch b/utils/tini/patches/001-override-git-version.patch
new file mode 100644 (file)
index 0000000..e1870d0
--- /dev/null
@@ -0,0 +1,70 @@
+commit 31b0908a5eff3926195670beecc8548c429ceff5
+Author: Gerard Ryan <G.M0N3Y.2503@gmail.com>
+Date:   Sat Oct 31 16:53:39 2020 +1000
+
+    Added support for setting git version externally
+    * This to help when building from source snapshots
+      that don't have the .git file structure.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 332b361..3f6f44b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,27 +13,37 @@ if(MINIMAL)
+       add_definitions(-DTINI_MINIMAL=1)
+ endif()
+
+-# Extract git version and dirty-ness
+-execute_process (
+-  COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
+-  WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+-  RESULT_VARIABLE git_version_check_ret
+-  OUTPUT_VARIABLE tini_VERSION_GIT
+-)
+-
+-execute_process(
+-  COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
+-  WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+-  OUTPUT_VARIABLE git_dirty_check_out
+-)
+-
+-if("${git_version_check_ret}" EQUAL 0)
+-  set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
+-  if(NOT "${git_dirty_check_out}" STREQUAL "")
+-    set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
+-  endif()
++# Set the git version
++if (NOT "${TINI_VERSION_GIT}" STREQUAL "")
++      # Set by the user directly
++      set(tini_VERSION_GIT "${TINI_VERSION_GIT}")
+ else()
+-  set(tini_VERSION_GIT "")
++      # Extract git version
++      execute_process (
++              COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
++              WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
++              RESULT_VARIABLE git_version_check_ret
++              OUTPUT_VARIABLE tini_VERSION_GIT
++      )
++
++      if("${git_version_check_ret}" EQUAL 0)
++              # Extract git dirty-ness
++              execute_process(
++                      COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
++                      WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
++                      OUTPUT_VARIABLE git_dirty_check_out
++              )
++
++              if(NOT "${git_dirty_check_out}" STREQUAL "")
++                      set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
++              endif()
++      else()
++              set(tini_VERSION_GIT "")
++      endif()
++endif()
++
++if(NOT ${tini_VERSION_GIT} STREQUAL "")
++      set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
+ endif()
+
+ # Flags
index bf4f07c38c2f0f255aaabe142a5fb1de0256e5bd..c8c5df2090fa1cba8ae54859b669d09cf02b47e6 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ttyd
-PKG_VERSION:=1.6.1
-PKG_RELEASE:=3
+PKG_VERSION:=1.6.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/tsl0922/ttyd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=d72dcca3dec00cda87b80a0a25ae4fee2f8b9098c1cdb558508dcb14fbb6fafc
+PKG_HASH:=fd3256099e1cc5c470220cbfbb3ab2c7fa1f92232c503f583556a8965aa83bac
 
 PKG_MAINTAINER:=Shuanglei Tao <tsl0922@gmail.com>
 PKG_LICENSE:=MIT
index 04a3027c2a40e73b3ebc2a58b03e4f345e29ad0b..06012dfd95e4b76e39fa6c33885fbdc068d99875 100644 (file)
@@ -8,7 +8,7 @@
  
  #include "utils.h"
  
-@@ -441,7 +442,8 @@ int main(int argc, char **argv) {
+@@ -478,7 +479,8 @@ int main(int argc, char **argv) {
      return -1;
    }
  
diff --git a/utils/ttyd/patches/200-protocol-fix-request-path-for-h2.patch b/utils/ttyd/patches/200-protocol-fix-request-path-for-h2.patch
deleted file mode 100644 (file)
index 554d70b..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From f7c171ffbe2d7677af4974a235ed3ccb7b3ba8c8 Mon Sep 17 00:00:00 2001
-From: Shuanglei Tao <tsl0922@gmail.com>
-Date: Tue, 28 Jul 2020 22:55:01 +0800
-Subject: [PATCH 2/7] protocol: fix request path for h2
-
----
- src/protocol.c | 12 +++++++-----
- src/server.h   |  1 +
- 2 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/src/protocol.c b/src/protocol.c
-index fa96b6b..1be0a4e 100644
---- a/src/protocol.c
-+++ b/src/protocol.c
-@@ -236,8 +236,12 @@ int callback_tty(struct lws *wsi, enum lws_callback_reasons reason, void *user,
-         lwsl_warn("refuse to serve WS client due to the --max-clients option.\n");
-         return 1;
-       }
--      if (lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI) <= 0 ||
--          strcmp(buf, endpoints.ws) != 0) {
-+
-+      n = lws_hdr_copy(wsi, pss->path, sizeof(pss->path), WSI_TOKEN_GET_URI);
-+#if defined(LWS_ROLE_H2)
-+      if (n <= 0) n = lws_hdr_copy(wsi, pss->path, sizeof(pss->path), WSI_TOKEN_HTTP_COLON_PATH);
-+#endif
-+      if (strncmp(pss->path, endpoints.ws, n) != 0) {
-         lwsl_warn("refuse to serve WS client for illegal ws path: %s\n", buf);
-         return 1;
-       }
-@@ -276,8 +280,6 @@ int callback_tty(struct lws *wsi, enum lws_callback_reasons reason, void *user,
-       LIST_INSERT_HEAD(&server->procs, proc, entry);
-       server->client_count++;
--      lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI);
--
- #if LWS_LIBRARY_VERSION_NUMBER >= 2004000
-       lws_get_peer_simple(lws_get_network_wsi(wsi), pss->address, sizeof(pss->address));
- #else
-@@ -285,7 +287,7 @@ int callback_tty(struct lws *wsi, enum lws_callback_reasons reason, void *user,
-       lws_get_peer_addresses(wsi, lws_get_socket_fd(wsi), name, sizeof(name), pss->address,
-                              sizeof(pss->address));
- #endif
--      lwsl_notice("WS   %s - %s, clients: %d\n", buf, pss->address, server->client_count);
-+      lwsl_notice("WS   %s - %s, clients: %d\n", pss->path, pss->address, server->client_count);
-       break;
-     case LWS_CALLBACK_SERVER_WRITEABLE:
-diff --git a/src/server.h b/src/server.h
-index 116d9b9..167ea8b 100644
---- a/src/server.h
-+++ b/src/server.h
-@@ -57,6 +57,7 @@ struct pss_tty {
-   int initial_cmd_index;
-   bool authenticated;
-   char address[50];
-+  char path[20];
-   struct lws *wsi;
-   char *buffer;
--- 
-2.20.1
-
index 4bc5272606b283ddb88bcab80a95d7e17e1f6a9b..c80143c3a2c0001585fb21ea99e2bb193b39badd 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uhubctl
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.3.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mvp/uhubctl/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=e5a722cb41967903bedbab4eea566ab332241a7f05fc7bc9c386b9a5e1762d8b
+PKG_HASH:=714f733592d3cb6ba8efc84fbc03b1beed2323918ff33aef01cdb956755be7b7
 
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING LICENSE
index a5bb6bd2add5cc74fcf1130bf9bde3bf263d99eb..f106b752b37b442d1ff07e179226f5abb0df4bc5 100644 (file)
@@ -6,12 +6,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unrar
-PKG_VERSION:=5.9.4
+PKG_VERSION:=6.0.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=unrarsrc-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.rarlab.com/rar
-PKG_HASH:=3d010d14223e0c7a385ed740e8f046edcbe885e5c22c5ad5733d009596865300
+PKG_HASH:=1def53392d879f9e304aa6eac1339cf41f9bce1111a2f5845071665738c4aca0
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/unrar
 
 PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>, \
                Ted Hess <thess@kitschensync.net>
@@ -19,8 +20,8 @@ PKG_LICENSE:=UnRAR
 PKG_LICENSE_FILES:=license.txt
 PKG_CPE_ID:=cpe:/a:rarlab:unrar
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/unrar
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
@@ -29,7 +30,7 @@ ifeq ($(CONFIG_USE_UCLIBCXX),y)
 TARGET_LDFLAGS +=-nodefaultlibs
 endif
 TARGET_CXXFLAGS +=-fno-rtti -flto
-TARGET_LDFLAGS +=$(FPIC) -Wl,--gc-sections
+TARGET_LDFLAGS +=$(FPIC) -Wl,--gc-sections $(if $(CONFIG_USE_GLIBC),-lpthread)
 
 define Package/unrar/Default
   TITLE:=UnRAR
diff --git a/utils/usbutils/Makefile b/utils/usbutils/Makefile
new file mode 100644 (file)
index 0000000..825c1ec
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2007-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=usbutils
+PKG_VERSION:=013
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@KERNEL/linux/utils/usb/usbutils
+PKG_HASH:=9e23494fcc78b7a80ee29a07dd179c95ae2f71509c35728dbbabc2d1cca41338
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/usbutils
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=+libusb-1.0 +libudev +usbids +librt +libpthread
+  TITLE:=USB devices listing utilities
+  URL:=http://www.linux-usb.org/
+endef
+
+CONFIGURE_ARGS += \
+       --datadir=$(CONFIGURE_PREFIX)/share/hwdata
+
+define Package/usbutils/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsusb $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/usbreset $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,usbutils))
index d5679f19189957dfd7461ca06168e2228cfb2295..2a735dc470ac420fa22dc559aad27ce1911d06e0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uvcdynctrl
 PKG_VERSION:=0.2.5
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=libwebcam-src-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/libwebcam
@@ -17,7 +17,9 @@ PKG_HASH:=3ca5199c7b8398b655a7c38e3ad4191bb053b1486503287f20d30d141bda9d41
 PKG_BUILD_DIR:=$(BUILD_DIR)/libwebcam-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
-CMAKE_INSTALL:=1
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=uvcdynctrl/COPYING
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
@@ -26,10 +28,8 @@ include $(INCLUDE_DIR)/nls.mk
 define Package/uvcdynctrl
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+libwebcam
+  DEPENDS:=+libxml2 $(ICONV_DEPENDS)
   TITLE:=Manage dynamic controls in uvcvideo
-  LICENSE:=GPL-3.0-or-later
-  LICENSE_FILES:=uvcdynctrl/COPYING
   URL:=https://sourceforge.net/projects/libwebcam/
   MENU:=1
 endef
@@ -40,30 +40,10 @@ define Package/uvcdynctrl/description
   - uvcdynctrl: Manage dynamic controls in uvcvideo (GPL)
 endef
 
-define Package/libwebcam
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=+libxml2 $(ICONV_DEPENDS)
-  TITLE:=Webcam library
-  LICENSE:=LGPL-3.0-or-later
-  LICENSE_FILES:=libwebcam/COPYING.LESSER
-  URL:=https://sourceforge.net/projects/libwebcam/
-endef
-
-define Package/libwebcam/description
-  $(call Package/uvcdynctrl/description)
-endef
-
 define Package/uvcdynctrl/install
        $(INSTALL_DIR) $(1)/usr/{bin,share}
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uvcdynctrl* $(1)/usr/bin/
        $(CP) $(PKG_INSTALL_DIR)/usr/share/uvcdynctrl/ $(1)/usr/share/
 endef
 
-define Package/libwebcam/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebcam.so* $(1)/usr/lib/
-endef
-
 $(eval $(call BuildPackage,uvcdynctrl))
-$(eval $(call BuildPackage,libwebcam))
diff --git a/utils/uvcdynctrl/patches/020-static.patch b/utils/uvcdynctrl/patches/020-static.patch
new file mode 100644 (file)
index 0000000..78304ca
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/uvcdynctrl/CMakeLists.txt
++++ b/uvcdynctrl/CMakeLists.txt
+@@ -77,7 +77,7 @@ include_directories (../common/include)
+ include_directories (${CMAKE_CURRENT_BINARY_DIR})
+ link_directories (${LIBWEBCAM_BINARY_DIR}/webcam)
+-target_link_libraries (uvcdynctrl webcam iconv)
++target_link_libraries (uvcdynctrl webcam_static iconv)
+ # Compiler flags
+ set_target_properties (uvcdynctrl PROPERTIES
index ec6e0895e50ff26414107361c6916d39c88ac001..0cbf11ddab01022a4bd675179d489c04c76ab249 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=watchcat
 PKG_VERSION:=1
-PKG_RELEASE:=8
+PKG_RELEASE:=11
 
 PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
 PKG_LICENSE:=GPL-2.0
index b34b50edae8a8291da98018b383aca6887d7d972..95f59271f61fdcf0775a3f884ea973b803145974 100644 (file)
@@ -5,123 +5,120 @@ START=97
 PIDFILE="/tmp/run/watchcat"
 
 append_string() {
-       local varname="$1"; local add="$2"; local separator="${3:- }"; local actual
+       varname="$1"
+       add="$2"
+       separator="${3:- }"
+       actual
        eval "actual=\$$varname"
 
        new="${actual:+$actual$separator}$add"
        eval "$varname=\$new"
 }
 
-timetoseconds() {
-       local time=$1
-       unset seconds
+time_to_seconds() {
+       time=$1
+
+       { [ "$time" -ge 1 ] 2>/dev/null && seconds="$time"; } ||
+               { [ "${time%s}" -ge 1 ] 2>/dev/null && seconds="${time%s}"; } ||
+               { [ "${time%m}" -ge 1 ] 2>/dev/null && seconds=$((${time%m} * 60)); } ||
+               { [ "${time%h}" -ge 1 ] 2>/dev/null && seconds=$((${time%h} * 3600)); } ||
+               { [ "${time%d}" -ge 1 ] 2>/dev/null && seconds=$((${time%d} * 86400)); }
 
-       { [ "$time" -ge 1 ] 2> /dev/null && seconds="$time"; } || \
-       { [ "${time%s}" -ge 1 ] 2> /dev/null && seconds="${time%s}"; } || \
-       { [ "${time%m}" -ge 1 ] 2> /dev/null && seconds=$((${time%m}*60)); } || \
-       { [ "${time%h}" -ge 1 ] 2> /dev/null && seconds=$((${time%h}*3600)); } || \
-       { [ "${time%d}" -ge 1 ] 2> /dev/null && seconds=$((${time%d}*86400)); }
+       echo $seconds
+       unset seconds
+       unset time
 }
 
 load_watchcat() {
-       config_get period       $1 period
-       config_get mode         $1 mode
-       config_get pinghosts    $1 pinghosts
-       config_get pingperiod   $1 pingperiod
-       config_get nopingtime   $1 nopingtime
-       config_get forcedelay   $1 forcedelay
-       
-       local nopingtime_dflt="900"
-       local forcedelay_dflt="60"
+       config_get period "$1" period "120"
+       config_get mode "$1" mode "restart_iface"
+       config_get pinghosts "$1" pinghosts "8.8.8.8"
+       config_get pingperiod "$1" pingperiod "60"
+       config_get forcedelay "$1" forcedelay "60"
+       config_get pingsize "$1" pingsize "standard"
+       config_get interface "$1" interface
+       config_get mmifacename "$1" mmifacename
+       config_get unlockbands "$1" unlockbands "0"
+
+       # Fix potential typo in mode and provide backward compatibility.
+       [ "$mode" = "allways" ] && mode="periodic_reboot"
+       [ "$mode" = "always" ] && mode="periodic_reboot"
+       [ "$mode" = "ping" ] && mode="ping_reboot"
        
-       # Fix potential typo in mode (backward compatibility).
-       [ "$mode" = "allways" ] && mode="always"
-
        error=""
        warn=""
-       
-       if [ -z "$period" ] 
-       then
-               append_string "error" "period is not set! Use time value(ex: '30'; '4m'; '6h'; '2d')." "; "     
-       else
-               timetoseconds "$period";period="$seconds"       
-               [ "$period" -ge 1 ] \
-                       || append_string "error" "period has invalid format! Use time value(ex: '30'; '4m'; '6h'; '2d')" "; "   
-       fi
-       
-       [ "$mode" = "always" -o "$mode" = "ping" ] \
-               || append_string "error" "mode must be 'always' or 'ping'" "; " 
-       
-       if [ -z "$forcedelay" ]
-       then
-               forcedelay="$forcedelay_dflt"           
-               append_string "warn" "forcedelay is not configured! Defaulted to $forcedelay seconds" "; "              
-       else
-               [ "$forcedelay" -ge 0 ] || {
-                       forcedelay="$forcedelay_dflt"           
-                       append_string "warn" "forcedelay is invalid! Defaulted to $forcedelay seconds" "; "             
-               }
+
+       # Checks for settings common to all operation modes
+       if [ "$mode" != "periodic_reboot" ] && [ "$mode" != "ping_reboot" ] && [ "$mode" != "restart_iface" ]; then
+               append_string "error" "mode must be 'periodic_reboot' or 'ping_reboot' or 'restart_iface'" "; "
        fi
-       
-       [ -z "$error" -a "$mode" = "ping" ] && {                        
-               [ -z "$pinghosts" ] \
-                       && append_string "error" "pinghosts must be set in 'ping' mode! Use space separated address list (ex: '8.8.8.8 9.9.9.9')" "; "
-       
-               if [ -z "$nopingtime" ]
-               then
-                       nopingtime="$nopingtime_dflt"
-                       append_string "warn" "nopingtime is not configured! Defaulted to $nopingtime seconds" "; "                      
-               else
-                       timetoseconds "$nopingtime";nopingtime="$seconds"
-                       [ "$nopingtime" -ge 0 ] || {
-                               nopingtime="$nopingtime_dflt"
-                               append_string "warn" "nopingtime invalid format! Use time value(ex: '30'; '4m'; '6h'; '2d'). Defaulted to $nopingtime seconds" "; "
-                       }
-               fi
-               
-               local pingperiod_dflt="$((period/5))"
-                               
-               if [ -z "$pingperiod" ] 
-               then
-                       pingperiod="$pingperiod_dflt"
-                       append_string "warn" "pingperiod is not configured! Defaulted to $pingperiod seconds(1/5 of period)" "; "
-               else
-                       timetoseconds "$pingperiod";pingperiod="$seconds"
-                       [ "$pingperiod" -ge 0 -a "$pingperiod" -ge "$period" ] && {
-                               pingperiod="$pingperiod_dflt"
-                               append_string "warn" "pingperiod is invalid value(greater than period)! Defaulted to $pingperiod seconds(1/5 of period)" "; "
-                       }
-                       [ "$pingperiod" -ge 0 ] || {
-                               pingperiod="$pingperiod_dflt"                           
-                               append_string "warn" "pingperiod has invalid format! Use time value(ex: '30'; '4m'; '6h'; '2d'). Defaulted to $pingperiod seconds(1/5 of period)" "; "
-                       }                       
+
+       period="$(time_to_seconds "$period")"
+       [ "$period" -ge 1 ] ||
+               append_string "error" "period has invalid format! Use time value(ex: '30'; '4m'; '6h'; '2d')" "; "
+
+       # ping_reboot mode and restart_iface mode specific checks
+       if [ "$mode" = "ping_reboot" ] || [ "$mode" = "restart_iface" ]; then
+
+               if [ -z "$error" ]; then
+
+                       pingperiod_default="$((period / 5))"
+
+                       pingperiod="$(time_to_seconds "$pingperiod")"
+                       if [ "$pingperiod" -ge 0 ] && [ "$pingperiod" -ge "$period" ]; then
+                               pingperiod="$(time_to_seconds "$pingperiod_default")"
+                               append_string "warn" "pingperiod cannot be greater than $period. Defaulted to $pingperiod_default seconds (1/5 of period)" "; "
+                       fi
+
+                       if [ "$pingperiod" -lt 0 ]; then
+                               append_string "warn" "pingperiod cannot be a negative value." "; "
+                       fi
+
+                       if [ "$mmifacename" != "" ] && [ "$period" -lt 30 ]; then
+                               append_string "error" "Check interval is less than 30s. For robust operation with ModemManager modem interfaces it is recommended to set the period to at least 30s."
+                       fi
                fi
-       }
-       
-       [ -n "$warn" ] && logger -p user.warn -t "watchcat" "$1: $warn"
-       [ -n "$error" ] && { logger -p user.err -t "watchcat" "reboot program $1 not started - $error"; return; }
+       fi
 
-       if [ "$mode" = "always" ]
-       then
-               /usr/bin/watchcat.sh "always" "$period" "$forcedelay" &
-               logger -p user.info -t "watchcat" "started task (mode=$mode;period=$period;forcedelay=$forcedelay)"
-       else
-               /usr/bin/watchcat.sh "ping" "$period" "$forcedelay" "$pinghosts" "$pingperiod" "$nopingtime" &
-               logger -p user.info -t "watchcat" "started task (mode=$mode;period=$period;pinghosts=$pinghosts;pingperiod=$pingperiod;forcedelay=$forcedelay;nopingtime=$nopingtime)"
+       # ping_reboot mode and periodic_reboot mode specific checks
+       if [ "$mode" = "ping_reboot" ] || [ "$mode" = "periodic_reboot" ]; then
+               forcedelay="$(time_to_seconds "$forcedelay")"
        fi
 
-       echo $! >> "${PIDFILE}.pids"
+       [ -n "$warn" ] && logger -p user.warn -t "watchcat" "$1: $warn"
+       [ -n "$error" ] && {
+               logger -p user.err -t "watchcat" "reboot program $1 not started - $error"
+               return
+       }
+
+       case "$mode" in
+       periodic_reboot)
+               /usr/bin/watchcat.sh "periodic_reboot" "$period" "$forcedelay" &
+               logger -p user.info -t "watchcat" "started task (mode=$mode;period=$period;forcedelay=$forcedelay)"
+               ;;
+       ping_reboot)
+               /usr/bin/watchcat.sh "ping_reboot" "$period" "$forcedelay" "$pinghosts" "$pingperiod" "$pingsize" &
+               logger -p user.info -t "watchcat" "started task (mode=$mode;period=$period;pinghosts=$pinghosts;pingperiod=$pingperiod;forcedelay=$forcedelay;pingsize=$pingsize)"
+               ;;
+       restart_iface)
+               /usr/bin/watchcat.sh "restart_iface" "$period" "$pinghosts" "$pingperiod" "$pingsize" "$interface" "$mmifacename" &
+               logger -p user.info -t "watchcat" "started task (mode=$mode;period=$period;pinghosts=$pinghosts;pingperiod=$pingperiod;pingsize=$pingsize;interface=$interface;mmifacename=$mmifacename;unlockbands=$unlockbands)"
+               ;;
+       *)
+               echo "Error starting Watchcat service. Invalid mode selection: $mode"
+               ;;
+       esac
+
+       echo $! >>"${PIDFILE}.pids"
 }
 
 stop() {
-       if [ -f "${PIDFILE}.pids" ]
-       then
+       if [ -f "${PIDFILE}.pids" ]; then
                logger -p user.info -t "watchcat" "stopping all tasks"
 
-               while read pid
-               do
+               while read pid; do
                        kill -KILL "$pid"
-               done < "${PIDFILE}.pids"
+               done <"${PIDFILE}.pids"
 
                rm "${PIDFILE}.pids"
 
@@ -135,8 +132,7 @@ start() {
        [ -f "${PIDFILE}.pids" ] && stop
 
        config_load system
-       if [ -n "$(uci show system.@watchcat[0])" ] # at least one watchcat section exists
-       then
+       if [ -n "$(uci show system.@watchcat[0])" ]; then # at least one watchcat section exists
                logger -p user.info -t "watchcat" "starting all tasks"
                config_foreach load_watchcat watchcat
                logger -p user.info -t "watchcat" "all tasks started"
index 49def81eb7661bf2b94aeed5405f9f28b437f1ec..da4993230df77394847c11da0b3c77b0c499423e 100644 (file)
@@ -3,7 +3,7 @@
 uci -q show system.@watchcat[0] || {
        uci add system watchcat
        uci set system.@watchcat[0].period=6h
-       uci set system.@watchcat[0].mode=ping
+       uci set system.@watchcat[0].mode=ping_reboot
        uci set system.@watchcat[0].pinghosts=8.8.8.8
        uci set system.@watchcat[0].forcedelay=30
        uci commit
index ca660bb13923a8f00b893dff931895e7c102ff46..cbddffc39bf5d29350c3edb19a56ff8eaf2f0f95 100644 (file)
 #!/bin/sh
 #
 # Copyright (C) 2010 segal.di.ubi.pt
+# Copyright (C) 2020 nbembedded.com
 #
 # This is free software, licensed under the GNU General Public License v2.
 #
 
+get_ping_size() {
+    ps=$1
+    case "$ps" in
+    small)
+        ps="1"
+        ;;
+    windows)
+        ps="32"
+        ;;
+    standard)
+        ps="56"
+        ;;
+    big)
+        ps="248"
+        ;;
+    huge)
+        ps="1492"
+        ;;
+    jumbo)
+        ps="9000"
+        ;;
+    *)
+        echo "Error: invalid ping_size. ping_size should be either: small, windows, standard, big, huge or jumbo"
+        echo "Cooresponding ping packet sizes (bytes): small=1, windows=32, standard=56, big=248, huge=1492, jumbo=9000"
+        ;;
+    esac
+    echo $ps
+}
+
 reboot_now() {
-       reboot &
+    reboot &
 
-       [ "$1" -ge 1 ] && {
-               sleep "$1"
-               echo 1 > /proc/sys/kernel/sysrq
-               echo b > /proc/sysrq-trigger # Will immediately reboot the system without syncing or unmounting your disks.
-       }
+    [ "$1" -ge 1 ] && {
+        sleep "$1"
+        echo 1 >/proc/sys/kernel/sysrq
+        echo b >/proc/sysrq-trigger # Will immediately reboot the system without syncing or unmounting your disks.
+    }
 }
 
-watchcat_always() {
-       local period="$1"; local forcedelay="$2"
+watchcat_periodic() {
+    failure_period="$1"
+    force_reboot_delay="$2"
 
-       sleep "$period" && reboot_now "$forcedelay"
+    sleep "$failure_period" && reboot_now "$force_reboot_delay"
+}
+
+watchcat_restart_modemmanager_iface() {
+    [ "$2" -gt 0 ] && {
+        logger -t INFO "Resetting current-bands to 'any' on modem: \"$1\" now."
+        /usr/bin/mmcli -m any --set-current-bands=any
+    }
+    logger -t INFO "Reconnecting modem: \"$1\" now."
+    /etc/init.d/modemmanager restart
+    ifup "$1"
+}
+
+watchcat_restart_network_iface() {
+    logger -t INFO "Restarting network interface: \"$1\"."
+    ip link set "$1" down
+    ip link set "$1" up
+}
+
+watchcat_restart_all_network() {
+    logger -t INFO "Restarting networking now by running: /etc/init.d/network restart"
+    /etc/init.d/network restart
+}
+
+watchcat_monitor_network() {
+    failure_period="$1"
+    ping_hosts="$2"
+    ping_frequency_interval="$3"
+    ping_size="$4"
+    iface="$5"
+    mm_iface_name="$6"
+    mm_iface_unlock_bands="$7"
+
+    time_now="$(cat /proc/uptime)"
+    time_now="${time_now%%.*}"
+
+    [ "$time_now" -lt "$failure_period" ] && sleep "$((failure_period - time_now))"
+
+    time_now="$(cat /proc/uptime)"
+    time_now="${time_now%%.*}"
+    time_lastcheck="$time_now"
+    time_lastcheck_withinternet="$time_now"
+
+    ping_size="$(get_ping_size "$ping_size")"
+
+    while true; do
+        # account for the time ping took to return. With a ping time of 5s, ping might take more than that, so it is important to avoid even more delay.
+        time_now="$(cat /proc/uptime)"
+        time_now="${time_now%%.*}"
+        time_diff="$((time_now - time_lastcheck))"
+
+        [ "$time_diff" -lt "$ping_frequency_interval" ] && sleep "$((ping_frequency_interval - time_diff))"
+
+        time_now="$(cat /proc/uptime)"
+        time_now="${time_now%%.*}"
+        time_lastcheck="$time_now"
+
+        for host in $ping_hosts; do
+            if [ "$iface" != "" ]; then
+                ping_result="$(
+                    ping -I "$iface" -s "$ping_size" -c 1 "$host" &>/dev/null
+                    echo $?
+                )"
+            else
+                ping_result="$(
+                    ping -s "$ping_size" -c 1 "$host" &>/dev/null
+                    echo $?
+                )"
+            fi
+
+            if [ "$ping_result" -eq 0 ]; then
+                time_lastcheck_withinternet="$time_now"
+            else
+                if [ "$iface" != "" ]; then
+                    logger -p daemon.info -t "watchcat[$$]" "Could not reach $host via \"$iface\" for \"$((time_now - time_lastcheck_withinternet))\" seconds. Restarting \"$iface\" after reaching \"$failure_period\" seconds"
+                else
+                    logger -p daemon.info -t "watchcat[$$]" "Could not reach $host for \"$((time_now - time_lastcheck_withinternet))\" seconds. Restarting networking after reaching \"$failure_period\" seconds"
+                fi
+            fi
+        done
+
+        [ "$((time_now - time_lastcheck_withinternet))" -ge "$failure_period" ] && {
+            if [ "$mm_iface_name" != "" ]; then
+                watchcat_restart_modemmanager_iface "$mm_iface_name" "$mm_iface_unlock_bands"
+            fi
+            if [ "$iface" != "" ]; then
+                watchcat_restart_network_iface "$iface"
+            else
+                watchcat_restart_all_network
+            fi
+            /etc/init.d/watchcat start
+        }
+
+    done
 }
 
 watchcat_ping() {
-       local period="$1"; local forcedelay="$2"; local pinghosts="$3"; local pingperiod="$4"; local nopingtime="$5"
-
-       local time_now="$(cat /proc/uptime)";time_now="${time_now%%.*}"
-
-       [ "$time_now" -lt "$nopingtime" ] && sleep "$((nopingtime-time_now))"
-
-       time_now="$(cat /proc/uptime)";time_now="${time_now%%.*}"
-       local time_lastcheck="$time_now"
-       local time_lastcheck_withinternet="$time_now"
-
-       while true
-       do
-               # account for the time ping took to return. With a ping time of 5s, ping might take more than that, so it is important to avoid even more delay.
-               time_now="$(cat /proc/uptime)"; time_now="${time_now%%.*}"
-               local time_diff="$((time_now-time_lastcheck))"
-
-               [ "$time_diff" -lt "$pingperiod" ] && sleep "$((pingperiod-time_diff))"
-
-               time_now="$(cat /proc/uptime)";time_now="${time_now%%.*}"
-               time_lastcheck="$time_now"
-
-               for host in $pinghosts
-               do
-                       if ping -c 1 "$host" &> /dev/null
-                       then
-                               time_lastcheck_withinternet="$time_now"
-                       else                                                            
-                               logger -p daemon.info -t "watchcat[$$]" "no internet connectivity for $((time_now-time_lastcheck_withinternet)). Reseting when reaching $period"
-                       fi
-               done
-               
-               [ "$((time_now-time_lastcheck_withinternet))" -ge "$period" ] && reboot_now "$forcedelay"
-       done
+    failure_period="$1"
+    force_reboot_delay="$2"
+    ping_hosts="$3"
+    ping_frequency_interval="$4"
+    ping_size="$5"
+
+    time_now="$(cat /proc/uptime)"
+    time_now="${time_now%%.*}"
+
+    [ "$time_now" -lt "$failure_period" ] && sleep "$((failure_period - time_now))"
+
+    time_now="$(cat /proc/uptime)"
+    time_now="${time_now%%.*}"
+    time_lastcheck="$time_now"
+    time_lastcheck_withinternet="$time_now"
+
+    ping_size="$(get_ping_size "$ping_size")"
+
+    while true; do
+        # account for the time ping took to return. With a ping time of 5s, ping might take more than that, so it is important to avoid even more delay.
+        time_now="$(cat /proc/uptime)"
+        time_now="${time_now%%.*}"
+        time_diff="$((time_now - time_lastcheck))"
+
+        [ "$time_diff" -lt "$ping_frequency_interval" ] && sleep "$((ping_frequency_interval - time_diff))"
+
+        time_now="$(cat /proc/uptime)"
+        time_now="${time_now%%.*}"
+        time_lastcheck="$time_now"
+
+        for host in $ping_hosts; do
+            if [ "$iface" != "" ]; then
+                ping_result="$(
+                    ping -I "$iface" -s "$ping_size" -c 1 "$host" &>/dev/null
+                    echo $?
+                )"
+            else
+                ping_result="$(
+                    ping -s "$ping_size" -c 1 "$host" &>/dev/null
+                    echo $?
+                )"
+            fi
+
+            if [ "$ping_result" -eq 0 ]; then
+                time_lastcheck_withinternet="$time_now"
+            else
+                logger -p daemon.info -t "watchcat[$$]" "Could not reach $host for $((time_now - time_lastcheck_withinternet)). Rebooting after reaching $failure_period"
+            fi
+        done
+
+        [ "$((time_now - time_lastcheck_withinternet))" -ge "$failure_period" ] && reboot_now "$force_reboot_delay"
+    done
 }
 
-if [ "$1" = "always" ]
-then
-       watchcat_always "$2" "$3"
-else
-       watchcat_ping "$2" "$3" "$4" "$5" "$6"
-fi
+mode="$1"
+
+# Fix potential typo in mode and provide backward compatibility.
+[ "$mode" = "allways" ] && mode="periodic_reboot"
+[ "$mode" = "always" ] && mode="periodic_reboot"
+[ "$mode" = "ping" ] && mode="ping_reboot"
+
+case "$mode" in
+periodic_reboot)
+    watchcat_periodic "$2" "$3"
+    ;;
+ping_reboot)
+    watchcat_ping "$2" "$3" "$4" "$5" "$6"
+    ;;
+restart_iface)
+    watchcat_monitor_network "$2" "$3" "$4" "$5" "$6" "$7"
+    ;;
+*)
+    echo "Error: invalid mode selected: $mode"
+    ;;
+esac
index 60d5e389e9073d76b49a2e5000b7477bdfd70fb1..fb335f7d3993dddd35026863251fa85d2d3db95a 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=whois
 PKG_VERSION:=5.5.7
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/w/whois
diff --git a/utils/whois/patches/010-no-crypt.patch b/utils/whois/patches/010-no-crypt.patch
deleted file mode 100644 (file)
index ba6a40f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -56,8 +56,6 @@ DEFS += -DHAVE_ICONV
- endif
-
- ifeq ($(shell $(PKG_CONFIG) --exists 'libxcrypt >= 4.1' || echo NO),)
--DEFS += -DHAVE_CRYPT_H -DHAVE_LINUX_CRYPT_GENSALT $(shell $(PKG_CONFIG) --cflags libcrypt)
--mkpasswd_LDADD += $(shell $(PKG_CONFIG) --libs libcrypt)
- else ifdef HAVE_XCRYPT
- DEFS += -DHAVE_XCRYPT_H -DHAVE_LINUX_CRYPT_GENSALT
- mkpasswd_LDADD += -lxcrypt
diff --git a/utils/whois/patches/010-no-mkpasswd.patch b/utils/whois/patches/010-no-mkpasswd.patch
new file mode 100644 (file)
index 0000000..93860a5
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -72,7 +72,7 @@ endif
+ CPPFLAGS += $(DEFS) $(INCLUDES)
+ ##############################################################################
+-all: Makefile.depend whois mkpasswd pos
++all: Makefile.depend whois
+ ##############################################################################
+ %.o: %.c
+@@ -121,7 +121,7 @@ afl-run:
+       nice afl-fuzz -i ../afl_in -o ../afl_out -- ./whois
+ ##############################################################################
+-install: install-whois install-mkpasswd install-pos
++install: install-whois
+ install-whois: whois
+       $(INSTALL) -d $(BASEDIR)$(prefix)/bin/
index e65ba6c00249a8d2273cd4edb39a5cb6a21a8438..096650c80726e24ebc75edde071a4277b9c37288 100644 (file)
@@ -1,11 +1,17 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -43,8 +43,6 @@ $(error Please fix your build system to stop defining HAVE_LIBIDN!)
+@@ -42,14 +42,6 @@ ifdef HAVE_LIBIDN
+ $(error Please fix your build system to stop defining HAVE_LIBIDN!)
  endif
-
- ifeq ($(shell $(PKG_CONFIG) --exists 'libidn2 >= 2.0.3' || echo NO),)
+-ifeq ($(shell $(PKG_CONFIG) --exists 'libidn2 >= 2.0.3' || echo NO),)
 -whois_LDADD += $(shell $(PKG_CONFIG) --libs libidn2)
 -DEFS += -DHAVE_LIBIDN2 $(shell $(PKG_CONFIG) --cflags libidn2)
- else ifeq ($(shell $(PKG_CONFIG) --exists 'libidn' || echo NO),)
- whois_LDADD += $(shell $(PKG_CONFIG) --libs libidn)
- DEFS += -DHAVE_LIBIDN $(shell $(PKG_CONFIG) --cflags libidn)
+-else ifeq ($(shell $(PKG_CONFIG) --exists 'libidn' || echo NO),)
+-whois_LDADD += $(shell $(PKG_CONFIG) --libs libidn)
+-DEFS += -DHAVE_LIBIDN $(shell $(PKG_CONFIG) --cflags libidn)
+-endif
+-
+ ifdef HAVE_ICONV
+ whois_OBJECTS += simple_recode.o
+ DEFS += -DHAVE_ICONV
diff --git a/utils/whois/patches/030-no-mkpasswd.patch b/utils/whois/patches/030-no-mkpasswd.patch
deleted file mode 100644 (file)
index bdaa41a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -72,7 +72,7 @@ endif
- CPPFLAGS += $(DEFS) $(INCLUDES)
- ##############################################################################
--all: Makefile.depend whois mkpasswd pos
-+all: Makefile.depend whois pos
- ##############################################################################
- %.o: %.c
index b885b15459b9d9be531793f1b8a03cb32eac47e0..77cb580667e52335c8a9ad76055f930fe81f036d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfsprogs
 PKG_VERSION:=5.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/fs/xfs/xfsprogs
@@ -68,6 +68,7 @@ CONFIGURE_ARGS += \
        --disable-libicu
 
 TARGET_CFLAGS += -DHAVE_MAP_SYNC
+TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lrt)
 
 define Package/xfs-admin/install
        $(INSTALL_DIR) $(1)/sbin
index ca3e2c5ffbf607fbe47f1cc3e0181715bdea30cd..5fb7f83fca7b2533559d2ae30950dcdbef405302 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xz
 PKG_VERSION:=5.2.5
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/lzmautils
@@ -56,7 +56,7 @@ define BuildSubPackage
   $(call Package/xz/Default)
     DEPENDS:=xz-utils $(2)
     TITLE:=$(1) utility from XZ Utils
-    $(if $(3),ALTERNATIVES:=$(foreach f,$(1) $(3),300:/usr/bin/$(f):/usr/bin/lzmautils-$(1)))
+    $(if $(3),ALTERNATIVES:=$(foreach f,$(1) $(3),300:/usr/bin/$(f):/usr/libexec/$(1)-lzmautils))
   endef
 
   define Package/$(1)/description
@@ -64,8 +64,8 @@ define BuildSubPackage
   endef
 
   define Package/$(1)/install
-       $(INSTALL_DIR) $$(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin/$(if $(3),lzmautils-$(1))
+       $(INSTALL_DIR) $$(1)$(if $(3),/usr/libexec,/usr/bin)
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)$(if $(3),/usr/libexec/$(1)-lzmautils,/usr/bin/$(1))
   endef
 
   $$(eval $$(call BuildPackage,$(1)))
index 60e852a63a93d3fae2fcc82631f60776a321c706..2a6b6c37682508c0d85bc7e51addedbb06750790 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yq
-PKG_VERSION:=3.4.1
+PKG_VERSION:=4.2.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=73259f808d589d11ea7a18e4cd38a2e98b518a6c2c178d1ec57d9c5942277cb1
+PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=19a75856c35cf99d7547faa5d00144b7a0d9e03ef04d10a20cd739dd8280ea7d
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@project-openwrt.eu.org>
 PKG_LICENSE:=MIT
index 4965b0ad1c72d0bd48907b146bceff37f90009d3..0919f76f9bf4f77fd3a6e6c9af2502900359b43e 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zoneinfo
-PKG_VERSION:=2020d
+PKG_VERSION:=2020e
 PKG_RELEASE:=1
 
 #As i couldn't find real license used "Public Domain"
@@ -19,14 +19,14 @@ PKG_LICENSE:=Public Domain
 PKG_SOURCE:=tzdata$(PKG_VERSION).tar.gz
 PKG_SOURCE_CODE:=tzcode$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.iana.org/time-zones/repository/releases
-PKG_HASH:=8d813957de363387696f05af8a8889afa282ab5016a764c701a20758d39cbaf3
+PKG_HASH:=0be1ba329eae29ae1b54057c3547b3e672f73b3ae7643aa87dac85122bec037e
 
 include $(INCLUDE_DIR)/package.mk
 
 define Download/tzcode
    FILE=$(PKG_SOURCE_CODE)
    URL=$(PKG_SOURCE_URL)
-   HASH:=6cf050ba28e8053029d3f32d71341d11a794c6b5dd51a77fc769d6dae364fad5
+   HASH:=3e10308976b09305d15cb4a32ff75483421f2063bfa24a9be366a027e7cd2902
 endef
 
 $(eval $(call Download,tzcode))
index 06030ec75b2dcdb9c0d2728e746f25cff4801443..c25a2f231891099fffe6a72bd8e306c4a4a67b06 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zstd
-PKG_VERSION:=1.4.5
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.8
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.zst
 PKG_SOURCE_URL:=https://github.com/facebook/zstd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=2c2366874bc449ff539614266d8c0d6ecdb4baf30bb65609c239ab4ed23c03c7
+PKG_HASH:=c7ea10e20dd61b457220455e3cf553069987b968b7c63d1b9d46acbdb45623eb
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/utils/zstd/patches/010-python.patch b/utils/zstd/patches/010-python.patch
deleted file mode 100644 (file)
index c35c515..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/build/meson/meson.build
-+++ b/build/meson/meson.build
-@@ -22,7 +22,6 @@ project('zstd',
- cc = meson.get_compiler('c')
- cxx = meson.get_compiler('cpp')
- pkgconfig = import('pkgconfig')
--python3 = import('python').find_installation()
- windows_mod = import('windows')
- host_machine_os = host_machine.system()
-@@ -40,8 +39,8 @@ compiler_msvc = 'msvc'
- zstd_version = meson.project_version()
- zstd_h_file = join_paths(meson.current_source_dir(), '../../lib/zstd.h')
--GetZstdLibraryVersion_py = files('GetZstdLibraryVersion.py')
--r = run_command(python3, GetZstdLibraryVersion_py, zstd_h_file)
-+GetZstdLibraryVersion_py = find_program('GetZstdLibraryVersion.py', native : true)
-+r = run_command(GetZstdLibraryVersion_py, zstd_h_file)
- if r.returncode() == 0
-   zstd_version = r.stdout().strip()
-   message('Project version is now: @0@'.format(zstd_version))