frr: add support for BGP MD5 authentication master
authorMartin Schiller <ms@dev.tdt.de>
Thu, 16 May 2024 12:24:33 +0000 (14:24 +0200)
committerTianling Shen <cnsztl@gmail.com>
Mon, 3 Jun 2024 09:35:55 +0000 (17:35 +0800)
You have to enable the CONFIG_TCP_MD5SIG kernel config option to be able
to use the BGP MD5 authentication.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
150 files changed:
.gitignore [new file with mode: 0644]
devel/cargo-c/Makefile [new file with mode: 0644]
devel/gcc/Makefile
lang/erlang/Makefile
lang/golang/golang/Makefile
lang/node/Makefile
lang/perl/Makefile
lang/php8/Makefile
lang/php8/patches/1020-php-intl_unbreak_build_with_ICU_75.patch [deleted file]
lang/python/python-selinux/Makefile
lang/rust/Makefile
libs/c-ares/Makefile
libs/cyrus-sasl/Makefile
libs/cyrus-sasl/patches/010-gcc14.patch [new file with mode: 0644]
libs/faad2/Makefile
libs/gost_engine/Makefile
libs/gost_engine/test.sh [new file with mode: 0644]
libs/libarchive/Makefile
libs/libedit/Makefile
libs/libgpg-error/Makefile
libs/libgpiod/Makefile
libs/libimobiledevice/Makefile
libs/libimobiledevice/patches/010-gcc14.patch [new file with mode: 0644]
libs/libjpeg-turbo/Makefile
libs/libmbim/Makefile
libs/libnpupnp/Makefile
libs/libqmi/Makefile
libs/libshout/Makefile
libs/libshout/patches/010-gcc14.patch [new file with mode: 0644]
libs/libssh/Makefile
libs/libupnpp/Makefile
libs/nghttp3/Makefile
libs/ngtcp2/Makefile
libs/openblas/Makefile
libs/openldap/Makefile
libs/opus/Makefile
libs/taglib/Makefile
libs/vips/Makefile
libs/zlog/Makefile
mail/msmtp/Makefile
mail/msmtp/test.sh [new file with mode: 0644]
multimedia/ffmpeg/Makefile
multimedia/ffmpeg/patches/020-ioctl.patch [new file with mode: 0644]
multimedia/ffmpeg/patches/060-fix-assembling-with-binutils-2.41.patch [deleted file]
multimedia/gst1-libav/Makefile
multimedia/gst1-plugins-bad/Makefile
multimedia/gst1-plugins-base/Makefile
multimedia/gst1-plugins-good/Makefile
multimedia/gst1-plugins-ugly/Makefile
multimedia/gstreamer1/Makefile
multimedia/gstreamer1/patches/010-gstplugin-use-lazy-symbol-binding.patch
multimedia/imagemagick/Makefile
net/acme-common/Makefile
net/acme-common/files/acme.init
net/acme-common/files/acme.uci-defaults
net/apache/Makefile
net/apache/patches/010-reproducible-builds.patch
net/apache/patches/020-openssl-deprecated.patch [deleted file]
net/atftp/Makefile
net/atftp/files/atftpd.init
net/atlas-probe/Makefile
net/banip/Makefile
net/banip/files/README.md
net/banip/files/banip-functions.sh
net/banip/files/banip.feeds
net/cloudflared/Makefile
net/croc/Makefile
net/dcwapd/Makefile
net/dcwapd/files/dcwapd.init
net/dnsdist/Makefile
net/dnsproxy/Makefile
net/dnsproxy/files/dnsproxy.init
net/fping/Makefile
net/frr/Makefile
net/frr/files/frrcommon.sh
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/hev-socks5-server/Makefile
net/hs20/Makefile
net/hs20/files/hs20.init
net/iperf3/Makefile
net/lynx/Makefile
net/modemmanager/Makefile
net/mwan3/Makefile
net/mwan3/files/lib/mwan3/mwan3.sh
net/mwan3/files/usr/libexec/rpcd/mwan3
net/natmap/Makefile
net/natmap/files/natmap.init
net/nebula/Makefile
net/net-snmp/Makefile
net/net-snmp/patches/161-project_types.patch
net/net-snmp/patches/750-ieee802dot11.patch
net/net-snmp/patches/751-gcc-14-fix.patch [new file with mode: 0644]
net/net-snmp/patches/900-musl-compat.patch
net/netbird/Makefile
net/nextdns/Makefile
net/ocserv/Makefile
net/ocserv/files/ocserv.init
net/pdns-recursor/Makefile
net/pdns/Makefile
net/pdns/files/pdns.conf-dist
net/pdns/patches/200-dnsproxy-endian.patch [deleted file]
net/respondd/Makefile
net/respondd/files/respondd.init
net/sing-box/Makefile
net/sslh/Makefile
net/sslh/patches/001-configfile-fix.patch
net/tailscale/Makefile
net/v2ray-geodata/Makefile
net/wsdd2/Makefile
net/wsdd2/patches/010-gcc14.patch [new file with mode: 0644]
net/xfrpc/Makefile
net/xfrpc/files/xfrpc.conf
net/xfrpc/files/xfrpc.init
net/xray-core/Makefile
sound/upmpdcli/Makefile
utils/acl/Makefile
utils/acl/patches/100-no-gettext_configure.patch [deleted file]
utils/acl/patches/101-no-gettext_autogen.patch [deleted file]
utils/acl/patches/102-no-gettext_Makefile.patch [deleted file]
utils/at/Makefile
utils/at/patches/100-remove-glibc-assumption.patch [deleted file]
utils/at/patches/110-getloadavg.patch [deleted file]
utils/attr/Makefile
utils/attr/patches/100-no-gettext_configure.patch [deleted file]
utils/attr/patches/101-no-gettext_autogen.patch [deleted file]
utils/attr/patches/102-no-gettext_Makefile.patch [deleted file]
utils/augeas/Makefile
utils/avrdude/Makefile
utils/avrdude/patches/0001-Add-support-for-libgpiod-v2-API.patch [new file with mode: 0644]
utils/collectd/Makefile
utils/collectd/files/collectd.init
utils/docker-compose/Makefile
utils/gpsd/Makefile
utils/gummiboot/Makefile
utils/hwdata/Makefile
utils/klish/Makefile
utils/klish/patches/010-shell_execute_fix.patch
utils/mg/Makefile
utils/mg/patches/902-fix_for_gcc14.patch [new file with mode: 0644]
utils/openocd/Makefile
utils/openocd/patches/0001-jtag-linuxgpiod-adapt-for-libgpiod-v2-API.patch [new file with mode: 0644]
utils/pciutils/Makefile
utils/pciutils/patches/110-gcc14.patch [new file with mode: 0644]
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/hostapd_stations.lua
utils/unrar/Makefile
utils/whois/Makefile
utils/yq/Makefile
utils/zstd/Makefile

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..5e2eb9a
--- /dev/null
@@ -0,0 +1,9 @@
+*.o
+.DS_Store
+.*.swp
+*.orig
+*.rej
+.vscode*
+/.env
+/.env.*
+/*.patch
diff --git a/devel/cargo-c/Makefile b/devel/cargo-c/Makefile
new file mode 100644 (file)
index 0000000..85f1ee1
--- /dev/null
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2024 Luca Barbato
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=cargo-c
+PKG_VERSION:=0.9.32
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/lu-zero/cargo-c/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=a96f3cc6c63d9901c9583083338d50b0132504bb067f68accc17f4116ed01f72
+
+PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_BUILD_DEPENDS:=rust/host
+HOST_BUILD_PARALLEL:=1
+PKG_HOST_ONLY:=1
+
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/rust/rust-host-build.mk
+
+define Package/cargo-c
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Rust
+  TITLE:=Build and install rust crates as C libraries
+  DEPENDS:=$(RUST_ARCH_DEPENDS)
+  URL:=https://github.com/lu-zero/cargo-c
+  BUILDONLY:=1
+endef
+
+define Package/cargo-c/description
+  Build and install crates with C bindings so they appear as normal
+  C libraries.
+endef
+
+$(eval $(call RustBinHostBuild))
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,cargo-c))
index cf2178f2ffb1dc650eee3b029d0e70f3a9f21604..26e44f49c988b24edcdeaf6b5ed6c84198dce7f4 100644 (file)
@@ -73,15 +73,15 @@ define Package/gcc/config
 endef
 
 ifeq ($(CONFIG_INCLUDE_STATIC_LIBC),y)
-       COPY_STATIC_LIBC=cp -a $(TOOLCHAIN_DIR)/lib/libc.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       COPY_STATIC_LIBC=cp -a $(TOOLCHAIN_ROOT_DIR)/lib/libc.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
 endif
 
 ifeq ($(CONFIG_INCLUDE_STATIC_LIBPTHREAD),y)
-       COPY_STATIC_LIBPTHREAD=cp -a $(TOOLCHAIN_DIR)/lib/libpthread.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       COPY_STATIC_LIBPTHREAD=cp -a $(TOOLCHAIN_ROOT_DIR)/lib/libpthread.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
 endif
 
 ifeq ($(CONFIG_INCLUDE_STATIC_LIBSTDC),y)
-       COPY_STATIC_LIBSTDC=cp -a $(TOOLCHAIN_DIR)/lib/libstdc++.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       COPY_STATIC_LIBSTDC=cp -a $(TOOLCHAIN_ROOT_DIR)/lib/libstdc++.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
 endif
 
 ifeq ($(CONFIG_INCLUDE_STATIC_LINK_SPEC),y)
@@ -95,9 +95,9 @@ PKGVERSION=OpenWrt GCC $(PKG_VERSION)
 TARGET_CPPFLAGS += -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS
 
 # not using sstrip here as this messes up the .so's somehow
-STRIP:=$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)strip
+STRIP:=$(firstword $(TOOLCHAIN_BIN_DIRS))/$(TARGET_CROSS)strip
 RSTRIP:= \
-       NM="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)nm" \
+       NM="$(firstword $(TOOLCHAIN_BIN_DIRS))/$(TARGET_CROSS)nm" \
        STRIP="$(STRIP)" \
        STRIP_KMOD="$(STRIP) --strip-debug" \
        $(SCRIPT_DIR)/rstrip.sh
@@ -224,10 +224,10 @@ define Package/gcc/install
        ln -s $(REAL_GNU_TARGET_NAME)-gcc $(1)/usr/bin/cc
        ln -s $(REAL_GNU_TARGET_NAME)-gcc $(1)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc-$(PKG_VERSION)
        cp -ar $(PKG_INSTALL_DIR)/usr/lib/gcc $(1)/usr/lib
-       cp -ar $(TOOLCHAIN_DIR)/include $(1)/usr
-       cp -a $(TOOLCHAIN_DIR)/lib/*.{o,so*} $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
-       cp -a $(TOOLCHAIN_DIR)/lib/*nonshared*.a  $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
-       cp -a $(TOOLCHAIN_DIR)/lib/libm.a  $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       cp -ar $(TOOLCHAIN_ROOT_DIR)/include $(1)/usr
+       cp -a $(TOOLCHAIN_ROOT_DIR)/lib/*.{o,so*} $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       cp -a $(TOOLCHAIN_ROOT_DIR)/lib/*nonshared*.a  $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
+       cp -a $(TOOLCHAIN_ROOT_DIR)/lib/libm.a  $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)
        $(COPY_STATIC_LIBC)
        $(COPY_STATIC_LIBPTHREAD)
        $(COPY_STATIC_LIBSTDC)
index 5b238a7b1a00b7bdbb563e804b4625971c1030c0..80b85df7d4d62571004d93697b638fae89a378ec 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=erlang
-PKG_VERSION:=26.2.4
+PKG_VERSION:=27.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/erlang/otp/releases/download/OTP-$(PKG_VERSION)
-PKG_HASH:=b51ad69f57e2956dff4c893bcb09ad68fee23a7f8f6bba7d58449516b696de95
+PKG_HASH:=56412677466b756740fb2dbf4a8019e7c7cc38f01bd30c4cac5210214cafeef6
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE.txt
@@ -46,7 +46,7 @@ endef
 define Package/erlang
 $(call Package/erlang/Default)
   DEPENDS+= +libncurses +librt +zlib +libstdcpp
-  PROVIDES:= erlang-erts=14.2.4 erlang-kernel=9.2.3 erlang-sasl=4.2.1 erlang-stdlib=5.2.2
+  PROVIDES:= erlang-erts=15.0 erlang-kernel=10.0 erlang-sasl=4.2.2 erlang-stdlib=6.0
 endef
 
 define Package/erlang/description
@@ -60,7 +60,7 @@ endef
 define Package/erlang-asn1
 $(call Package/erlang/Default)
   TITLE:=Abstract Syntax Notation One (ASN.1) support
-  VERSION:=5.2.2
+  VERSION:=5.3
   DEPENDS+= +erlang +erlang-syntax-tools
 endef
 
@@ -75,7 +75,7 @@ endef
 define Package/erlang-compiler
 $(call Package/erlang/Default)
   TITLE:=Byte code compiler
-  VERSION:=8.4.3
+  VERSION:=8.5
   DEPENDS+= +erlang
 endef
 
@@ -90,7 +90,7 @@ endef
 define Package/erlang-crypto
 $(call Package/erlang/Default)
   TITLE:=Cryptography support
-  VERSION:=5.4.2
+  VERSION:=5.5
   DEPENDS+= +erlang +libopenssl
 endef
 
@@ -105,7 +105,7 @@ endef
 define Package/erlang-inets
 $(call Package/erlang/Default)
   TITLE:=Internet clients and servers
-  VERSION:=9.1
+  VERSION:=9.2
   DEPENDS+= +erlang
 endef
 
@@ -121,7 +121,7 @@ endef
 define Package/erlang-mnesia
 $(call Package/erlang/Default)
   TITLE:=Distributed database
-  VERSION:=4.23
+  VERSION:=4.23.2
   DEPENDS+= +erlang
 endef
 
@@ -138,7 +138,7 @@ endef
 define Package/erlang-runtime-tools
 $(call Package/erlang/Default)
   TITLE:=Low-profile debugging/tracing tools
-  VERSION:=2.0.1
+  VERSION:=2.1
   DEPENDS+= +erlang
 endef
 
@@ -153,7 +153,7 @@ endef
 define Package/erlang-snmp
 $(call Package/erlang/Default)
   TITLE:=Simple Network Management Protocol (SNMP) support
-  VERSION:=5.15
+  VERSION:=5.16
   DEPENDS+= +erlang +erlang-asn1
 endef
 
@@ -169,7 +169,7 @@ endef
 define Package/erlang-public-key
 $(call Package/erlang/Default)
   TITLE:=Public Key support
-  VERSION:=1.15.1
+  VERSION:=1.16
   DEPENDS+= +erlang +erlang-crypto +erlang-asn1
 endef
 
@@ -183,7 +183,7 @@ endef
 define Package/erlang-ssh
 $(call Package/erlang/Default)
   TITLE:=Secure Shell (SSH) support
-  VERSION:=5.1.4
+  VERSION:=5.2
   DEPENDS+= +erlang +erlang-crypto
 endef
 
@@ -198,7 +198,7 @@ endef
 define Package/erlang-ssl
 $(call Package/erlang/Default)
   TITLE:=Secure Sockets Layer (SSL) support
-  VERSION:=11.1.3
+  VERSION:=11.2
   DEPENDS+= +erlang +erlang-crypto
 endef
 
@@ -213,7 +213,7 @@ endef
 define Package/erlang-syntax-tools
 $(call Package/erlang/Default)
   TITLE:=Abstract Erlang syntax trees handling support
-  VERSION:=3.1
+  VERSION:=3.2
   DEPENDS+= +erlang
 endef
 
@@ -228,7 +228,7 @@ endef
 define Package/erlang-tools
 $(call Package/erlang/Default)
   TITLE:=Erlang tools support
-  VERSION:=3.6
+  VERSION:=4.0
   DEPENDS+= +erlang
 endef
 
@@ -242,7 +242,7 @@ endef
 define Package/erlang-reltool
 $(call Package/erlang/Default)
   TITLE:=Erlang reltool support
-  VERSION:=1.0
+  VERSION:=1.0.1
   DEPENDS+= +erlang
 endef
 
@@ -256,7 +256,7 @@ endef
 define Package/erlang-erl-interface
 $(call Package/erlang/Default)
   TITLE:=Erlang erl_interface support
-  VERSION:=5.5.1
+  VERSION:=5.5.2
   DEPENDS+= +erlang
 endef
 
@@ -269,7 +269,7 @@ endef
 define Package/erlang-os_mon
 $(call Package/erlang/Default)
   TITLE:=Erlang OS Monitoring Application
-  VERSION:=2.9.1
+  VERSION:=2.10
   DEPENDS+= +erlang
 endef
 
@@ -285,7 +285,7 @@ endef
 define Package/erlang-xmerl
 $(call Package/erlang/Default)
   TITLE:=Erlang XML export
-  VERSION:=1.3.34
+  VERSION:=2.0
   DEPENDS+= +erlang
 endef
 
index 4e68839494e0d0a3787ebdec058ea1c7a7f52a4a..4ed1503617a69a51a058a35492fb2938cea96ec9 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 GO_VERSION_MAJOR_MINOR:=1.22
-GO_VERSION_PATCH:=2
+GO_VERSION_PATCH:=3
 
 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:=374ea82b289ec738e968267cac59c7d5ff180f9492250254784b2044e90df5a9
+PKG_HASH:=80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68
 
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index 1ff311bab8e773ef8c48e664c8302e74b61ebfde..3016ac9b12994f657e6b0ec7e66688a0ea71c202 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v20.13.1
+PKG_VERSION:=v20.14.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=a85ee53aa0a5c2f5ca94fa414cdbceb91eb7d18a77fc498358512c14cc6c6991
+PKG_HASH:=f01109d3102754ac360fcf25aa588f3bef5c090a8eed3fb1d0be194149c46cf2
 
 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
 PKG_LICENSE:=MIT
index 6b748019bc49c7952948b35811b206bfeacfaa66..dbc982d6bc9b9f24e24850ce7acd711899ee6a1f 100644 (file)
@@ -102,7 +102,7 @@ define Build/Configure
                                        -Dowrt:threads=$(if $(CONFIG_PERL_THREADS),yes,no) \
                                        -Dowrt:staging_dir='$(STAGING_DIR)' \
                                        -Dowrt:host_perl_prefix='$(HOST_PERL_PREFIX)' \
-                                       -Dsysroot='$(TOOLCHAIN_DIR)' \
+                                       -Dsysroot='$(TOOLCHAIN_ROOT_DIR)' \
                                        files/version.config \
                                        files/base.config \
                                        files/$(patsubst i386,i486,$(ARCH)).config \
index f3a805bbdf7de5b573e73a5941bd0c902c1df28e..9239d9d398305f8540fb5fee14faf7960e07d043 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=8.3.6
-PKG_RELEASE:=2
+PKG_VERSION:=8.3.7
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 PKG_LICENSE:=PHP-3.01
@@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:php:php
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.php.net/distributions/
-PKG_HASH:=53c8386b2123af97626d3438b3e4058e0c5914cb74b048a6676c57ac647f5eae
+PKG_HASH:=d53433c1ca6b2c8741afa7c524272e6806c1e895e5912a058494fea89988570a
 
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_FLAGS:=no-mips16
diff --git a/lang/php8/patches/1020-php-intl_unbreak_build_with_ICU_75.patch b/lang/php8/patches/1020-php-intl_unbreak_build_with_ICU_75.patch
deleted file mode 100644 (file)
index 0f118e4..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From e680bd98d34a86302db434c5be23d0cf9d23df23 Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Sat, 20 Apr 2024 23:49:22 +0200
-Subject: devel/php*-intl: unbreak build with ICU 75
-
-In file included from ext/intl/intl_convertcpp.cpp:17:
-In file included from ./intl_convertcpp.h:22:
-In file included from /usr/local/include/unicode/unistr.h:39:
-/usr/local/include/unicode/stringpiece.h:133:29: error: no template named 'enable_if_t' in namespace 'std'
-            typename = std::enable_if_t<
-                       ~~~~~^
-/usr/local/include/unicode/stringpiece.h:134:23: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
-                (std::is_same_v<decltype(T().data()), const char*>
-                 ~~~~~^
-/usr/include/c++/v1/__type_traits/is_same.h:22:29: note: 'is_same' declared here
-struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
-                            ^
-In file included from ext/intl/intl_convertcpp.cpp:17:
-In file included from ./intl_convertcpp.h:22:
-In file included from /usr/local/include/unicode/unistr.h:39:
-/usr/local/include/unicode/stringpiece.h:139:17: error: use of address-of-label extension outside of a function body
-                std::is_same_v<decltype(T().size()), size_t>>>
-                ^
-/usr/local/include/unicode/stringpiece.h:139:62: error: expected member name or ';' after declaration specifiers
-                std::is_same_v<decltype(T().size()), size_t>>>
-                                                             ^
-PR:            278420
-Reported by:   antoine (via exp-run)
----
-
---- a/ext/intl/config.m4
-+++ b/ext/intl/config.m4
-@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
-     breakiterator/codepointiterator_methods.cpp"
-   PHP_REQUIRE_CXX()
--  PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
-+
-+  AC_MSG_CHECKING([if intl requires -std=gnu++17])
-+  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
-+    AC_MSG_RESULT([yes])
-+    PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
-+  ],[
-+    AC_MSG_RESULT([no])
-+    PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
-+  ])
-+
-   PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
-   case $host_alias in
-   *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
index 5736ef09a7d9b082a51e86080852e9d1b8388c0b..25ab8559f6ba21143713845351f8601eb157958e 100644 (file)
@@ -6,13 +6,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-selinux
-PKG_VERSION:=3.5
+PKG_VERSION:=3.6
 PKG_RELEASE:=1
 
 SRC_NAME:=libselinux
 PKG_SOURCE:=$(SRC_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
-PKG_HASH:=9a3a3705ac13a2ccca2de6d652b6356fead10f36fb33115c185c5ccdf29eec19
+PKG_HASH:=ba4e0ef34b270e7672a5e5f1b523fe2beab3a40bb33d9389f4ad3a8728f21b52
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(SRC_NAME)-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
index cdf3c2adf97a7b55294e03707de3c1f414f31641..f0d6a866f8312639bd2938ced9532ea9c05c3f58 100644 (file)
@@ -54,7 +54,7 @@ TARGET_CONFIGURE_ARGS = \
        --set=target.$(RUSTC_TARGET_ARCH).linker=$(TARGET_CC_NOCACHE) \
        --set=target.$(RUSTC_TARGET_ARCH).ranlib=$(TARGET_RANLIB) \
        --set=target.$(RUSTC_TARGET_ARCH).crt-static=false \
-       $(if $(CONFIG_USE_MUSL),--set=target.$(RUSTC_TARGET_ARCH).musl-root=$(TOOLCHAIN_DIR))
+       $(if $(CONFIG_USE_MUSL),--set=target.$(RUSTC_TARGET_ARCH).musl-root=$(TOOLCHAIN_ROOT_DIR))
 
 # CARGO_HOME is an environmental
 HOST_CONFIGURE_VARS += CARGO_HOME="$(CARGO_HOME)"
index 7f256839e521d2d4d92ccd76da600507629d05d3..90c21f0aeb43ee297526a867427b563bacda81c9 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=c-ares
-PKG_VERSION:=1.28.1
+PKG_VERSION:=1.29.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://c-ares.org/download
-PKG_HASH:=675a69fc54ddbf42e6830bc671eeb6cd89eeca43828eb413243fd2c0a760809d
+PKG_HASH:=0b89fa425b825c4c7bc708494f374ae69340e4d1fdc64523bdbb2750bfc02ea7
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE.md
index b39d46c2573964c549b83358c5192da6d9c5f35b..ae036b5b2f652c66a36aa5c730f20ffc41de8061 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cyrus-sasl
 PKG_VERSION:=2.1.28
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 
diff --git a/libs/cyrus-sasl/patches/010-gcc14.patch b/libs/cyrus-sasl/patches/010-gcc14.patch
new file mode 100644 (file)
index 0000000..0ef2dad
--- /dev/null
@@ -0,0 +1,32 @@
+--- a/lib/saslutil.c
++++ b/lib/saslutil.c
+@@ -59,9 +59,7 @@
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+-#ifdef HAVE_TIME_H
+ #include <time.h>
+-#endif
+ #include "saslint.h"
+ #include <saslutil.h>
+--- a/plugins/cram.c
++++ b/plugins/cram.c
+@@ -48,6 +48,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <time.h>
+ #ifndef macintosh
+ #include <sys/stat.h>
+ #endif
+--- a/plugins/digestmd5.c
++++ b/plugins/digestmd5.c
+@@ -50,6 +50,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <time.h>
+ #ifndef macintosh
+ #include <sys/types.h>
+ #include <sys/stat.h>
index 5d7338703a226ef7cd4bfa9b3d7c2d04ae45301d..1dfc029ca6b9b3580746901856e90062eb779a10 100644 (file)
@@ -12,7 +12,7 @@ PKG_RELEASE:=2
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
 PKG_SOURCE_URL:=https://github.com/knik0/faad2
-PKG_MIRROR_HASH:=3bedd29eb3a55a052158bb27f68c69177ebacb93c6a0643c0aac6303512eeb15
+PKG_MIRROR_HASH:=8dfc89b418293a91c0fc0d11013205449669ce973f5e951500c1e11e3ac61970
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=GPL-2.0-or-later
index 308b7e45b497bcdb3cfd6933108db688f1df2951..e6a806672239850fd1a4d730f9472e76dfaeb031 100644 (file)
@@ -3,7 +3,7 @@ include $(INCLUDE_DIR)/openssl-module.mk
 
 PKG_NAME:=gost_engine
 PKG_VERSION:=3.0.3
-PKG_RELEASE:=10
+PKG_RELEASE:=11
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
@@ -60,12 +60,12 @@ endef
 CMAKE_OPTIONS += -DOPENSSL_ENGINES_DIR=/usr/lib/$(ENGINES_DIR)
 
 define Package/libopenssl-gost_engine/install
-       $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/$(ENGINES_DIR) $(1)/etc/ssl/engines.cnf.d
+       $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/$(ENGINES_DIR) $(1)/etc/ssl/modules.cnf.d
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libgost.so \
                        $(1)/usr/lib/
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/$(ENGINES_DIR)/gost.so \
                        $(1)/usr/lib/$(ENGINES_DIR)/
-       $(INSTALL_DATA) ./files/gost.cnf $(1)/etc/ssl/engines.cnf.d/
+       $(INSTALL_DATA) ./files/gost.cnf $(1)/etc/ssl/modules.cnf.d/
 endef
 
 define Package/gost_engine-util/install
diff --git a/libs/gost_engine/test.sh b/libs/gost_engine/test.sh
new file mode 100644 (file)
index 0000000..b2cef4b
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+# shellcheck disable=SC2059
+
+run_md_test () {
+       [ $# -ge 3 ] || {
+               echo "Error: insufficient args to run_md_test()" >&2
+               exit 1
+       }
+       DGST="$1";  shift
+       INP="$1"; shift
+       EXP="$1"; shift
+       printf "Testing digest %s: " "$DGST" >&2
+       OUT="$(printf "$INP" | openssl dgst -"$DGST" "$@")" || exit 1
+       [ -z "${OUT%%*"$EXP"}" ] || {
+               printf "Failure: expected: '%s', got '%s'\n" "$EXP" "$OUT" >&2
+               exit 1
+       }
+       echo OK >&2 || true
+}
+
+run_cipher_test() {
+       [ $# -ge 5 ] || {
+               echo "Error: insufficient args to run_cipher_test()" >&2
+               exit 1
+       }
+       ALG="$1"; shift
+       KEY="$1"; shift
+       IV="$1"; shift
+       CLEAR_TEXT="$1"; shift
+       CIPHER_TEXT="$1"; shift
+       printf "Testing %s encryption: " "$ALG" >&2
+       OUT="$(printf "$CLEAR_TEXT" | openssl enc -e -"$ALG" -K "$KEY" -iv "$IV" "$@" -a -A)" || exit 1
+       [ -z "${OUT%"$CIPHER_TEXT"}" ] || {
+               printf "Encryption failure: expected: '%s', got '%s'\n" "$CIPHER_TEXT" "$OUT" >&2
+               exit 1
+       }
+       echo OK >&2
+       printf "Testing %s decryption: " "$ALG" >&2
+       OUT="$(printf "$CIPHER_TEXT" | openssl enc -d -"$ALG" -K "$KEY" -iv "$IV" "$@" -a -A)" || exit 1
+       [ -z "${OUT%"$(printf "$CLEAR_TEXT")"}" ] || {
+               echo "Decryption failure!" >&2
+               echo "----------- expected hexdump -------------" >&2
+               printf "$CLEAR_TEXT" | hexdump -C
+               echo "------------ result hexdump --------------" >&2
+               echo "$OUT" | hexdump -C >&2
+               exit 1
+       }
+       echo OK >&2 || true
+}
+
+case "$1" in
+       libopenssl-gost_engine)
+               opkg install openssl-util
+               run_md_test \
+                       md_gost12_256 \
+                       012345678901234567890123456789012345678901234567890123456789012 \
+                       9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500
+               export CRYPT_PARAMS="1.2.643.2.2.31.1"
+               run_cipher_test \
+                       gost89 \
+                       0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF \
+                       0000000000000000 \
+                       "The quick brown fox jumps over the lazy dog\n" \
+                       "B/QQLGGFxKCeZ24mm/pLycXfZXWRa4eb0TqJOiKF7maQEHze73oxXS61S/o="
+               ;;
+       gost_engine-util)
+               printf "Testing gost12sum: "
+               EXP=9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500
+               OUT=$(printf 012345678901234567890123456789012345678901234567890123456789012 | gost12sum)
+               [ -z "${OUT##"$EXP"*}" ] || {
+                       printf "Failure: expected: '%s', got '%s'\n" "$EXP" "$OUT" >&2
+                       exit 1
+               }
+               echo OK >&2 || true
+               ;;
+       *)
+               echo "Unexpected package '$1'" >&2
+               exit 1
+               ;;
+esac
index 1647159710d9557f3a60c6cf2490ed6341a373cd..def75f73223664e825787fb0d17c720c4179d458 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libarchive
-PKG_VERSION:=3.7.3
+PKG_VERSION:=3.7.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.libarchive.org/downloads
-PKG_HASH:=63e7a7174638fc7d6b79b4c8b0ad954e0f4f45abe7239c1ecb200232aa9a43d2
+PKG_HASH:=f887755c434a736a609cbd28d87ddbfbe9d6a3bb5b703c22c02f6af80a802735
 
 PKG_MAINTAINER:=Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
 PKG_LICENSE:=BSD-2-Clause
index bc60c53f86b994a11949bcfa4abf075ee74e1e87..670591235f6e9e1e643d675840aff2b9bd3e9208 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libedit
-PKG_VERSION:=20230828-3.1
+PKG_VERSION:=20240517-3.1
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
@@ -16,7 +16,7 @@ PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://thrysoee.dk/editline/
-PKG_HASH:=4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad
+PKG_HASH:=3a489097bb4115495f3bd85ae782852b7097c556d9500088d74b6fa38dbd12ff
 
 PKG_INSTALL:=1
 
index bcaed0a6ac2ef1b8b27cc9d4bd3590c11a0aeda8..d2e8ecbe433492898fa823b15a15a165a3a11d22 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgpg-error
-PKG_VERSION:=1.47
+PKG_VERSION:=1.49
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://mirrors.dotsrc.org/gcrypt/libgpg-error \
                http://ring.ksc.gr.jp/archives/net/gnupg/libgpg-error \
                https://www.gnupg.org/ftp/gcrypt/libgpg-error
-PKG_HASH:=9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb
+PKG_HASH:=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=LGPL-2.1-or-later
index ef15288b1a3a89639d492c49fd80be6482d92571..9c8eb9f5f4ff17390214d8a6ed20dcd6ab678009 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgpiod
-PKG_VERSION:=1.6.4
+PKG_VERSION:=2.1.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/
-PKG_HASH:=7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5
+PKG_HASH:=b21913f469d3135680d5516f00fdf9f81d5e564e19ffb690927ea7f1d7e312cb
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -26,17 +26,24 @@ PYTHON3_PKG_BUILD:=0
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python3-package.mk
 
+ifneq ($(CONFIG_PACKAGE_libgpiodcxx),)
+CONFIGURE_ARGS += --enable-bindings-cxx
+else
+CONFIGURE_ARGS += --disable-bindings-cxx
+endif
+
 ifneq ($(CONFIG_PACKAGE_gpiod-tools),)
 CONFIGURE_ARGS += --enable-tools
 endif
 
-ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
-CONFIGURE_ARGS += --enable-bindings-python
-CONFIGURE_VARS += \
-       PYTHON="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)" \
-       PYTHON_CPPFLAGS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
-       PYTHON_LIBS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --libs)"
-endif
+PYTHON3_PKG_WHEEL_NAME:=gpiod
+PYTHON3_PKG_WHEEL_VERSION:=2.0.1
+
+PYTHON3_PKG_SETUP_DIR:=bindings/python
+PYTHON3_PKG_SETUP_VARS += LINK_SYSTEM_LIBGPIOD=1
+
+TARGET_CPPFLAGS += -I$(PKG_BUILD_DIR)/include
+TARGET_LDFLAGS += -L$(PKG_BUILD_DIR)/lib/.libs
 
 define Package/libgpiod
   SECTION:=libs
@@ -44,8 +51,7 @@ define Package/libgpiod
   URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
   TITLE:=Library for interacting with Linux's GPIO character device
   KCONFIG:= \
-    CONFIG_GPIO_CDEV=y \
-    CONFIG_GPIO_CDEV_V1=y
+    CONFIG_GPIO_CDEV=y
   DEPENDS:=@GPIO_SUPPORT
 endef
 
@@ -66,6 +72,18 @@ define Package/gpiod-tools/description
   (gpiod stands for GPIO device).
 endef
 
+define Package/libgpiodcxx
+  SECTION:=libs
+  CATEGORY:=Libraries
+  URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
+  TITLE:=C++ binding for libgpiod
+  DEPENDS:=+libstdcpp +libgpiod
+endef
+
+define Package/libgpiodcxx/description
+  This package contains the C++ binding for libgpiod.
+endef
+
 define Package/python3-gpiod
   SECTION:=lang
   CATEGORY:=Languages
@@ -79,6 +97,27 @@ define Package/python3-gpiod/description
   This package contains the Python bindings for libgpiod.
 endef
 
+define Build/Configure
+       $(call Build/Configure/Default)
+    ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
+       $(call Py3Build/Configure)
+    endif
+endef
+
+define Build/Compile
+       $(call Build/Compile/Default)
+    ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
+       $(call Py3Build/Compile)
+    endif
+endef
+
+define Build/Install
+       $(call Build/Install/Default)
+    ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
+       $(call Py3Build/Install/Default)
+    endif
+endef
+
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/
@@ -88,6 +127,20 @@ define Build/InstallDev
 
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/
+
+    ifneq ($(CONFIG_PACKAGE_libgpiodcxx),)
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/gpiodcxx $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.hpp $(1)/usr/include/
+
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiodcxx.{so*,a} $(1)/usr/lib/
+
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiodcxx.pc $(1)/usr/lib/pkgconfig/
+    endif
+
+    ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
+       $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)
+       $(CP) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/* $(1)$(PYTHON3_PKG_DIR)
+    endif
 endef
 
 define Package/libgpiod/install
@@ -95,16 +148,23 @@ define Package/libgpiod/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiod.so.* $(1)/usr/lib/
 endef
 
+define Package/libgpiodcxx/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiodcxx.so.* $(1)/usr/lib/
+endef
+
 define Package/gpiod-tools/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
 endef
 
-define Package/python3-gpiod/install
-       $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
-       $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/gpiod.so $(1)/$(PYTHON3_PKG_DIR)
+define Py3Package/python3-gpiod/install
+       # this empty define prevent installing tools from /usr/bin
 endef
 
 $(eval $(call BuildPackage,libgpiod))
+$(eval $(call BuildPackage,libgpiodcxx))
 $(eval $(call BuildPackage,gpiod-tools))
+$(eval $(call Py3Package,python3-gpiod))
 $(eval $(call BuildPackage,python3-gpiod))
+$(eval $(call BuildPackage,python3-gpiod-src))
index cc124cc57623da5df81d376fe82bfca932a6333e..f8a1afdec9e54bc6360929657ce3199ab4981bdf 100644 (file)
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/libimobiledevice/libimobiledevice.git
-PKG_SOURCE_DATE:=2024-04-16
-PKG_SOURCE_VERSION:=5f083426b4ede24b2576f3a56eaf8ac3632c02f7
-PKG_MIRROR_HASH:=96d63f5a5cdfbc045aa58939fa0ab1ab81739b67b042b86bbbeee75d332e09d5
+PKG_SOURCE_DATE:=2024-05-20
+PKG_SOURCE_VERSION:=9ccc52222c287b35e41625cc282fb882544676c6
+PKG_MIRROR_HASH:=9d272d40515c5ba6be5fa22eb897724d8940a505163918120c005bbeed352475
 
 PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later
diff --git a/libs/libimobiledevice/patches/010-gcc14.patch b/libs/libimobiledevice/patches/010-gcc14.patch
new file mode 100644 (file)
index 0000000..0913865
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/tools/afcclient.c
++++ b/tools/afcclient.c
+@@ -37,6 +37,7 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <dirent.h>
++#include <time.h>
+ #ifdef WIN32
+ #include <windows.h>
index 7e38e077fdf0162290b30c0f7e67409f4b199485..de0e5576eb02db710cb4df694e7555c43c4eb82f 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libjpeg-turbo
-PKG_VERSION:=3.0.2
+PKG_VERSION:=3.0.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$(PKG_VERSION)
-PKG_HASH:=c2ce515a78d91b09023773ef2770d6b0df77d674e144de80d63e0389b3a15ca6
+PKG_HASH:=343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d
 
 PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
 PKG_LICENSE:=BSD-3-Clause IJG zlib
index 5b6a1a7ab9c5ad29bea69f3db3fc6ce464f2b828..c6ba427636cb3ec1c82ec0f88116754ac3de8bf4 100644 (file)
@@ -14,7 +14,7 @@ PKG_RELEASE:=2
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=fdb9d945465b7ad13ccd180b3e2c580f45ba6859d464e75191d6f3f38257c1ac
+PKG_MIRROR_HASH:=0ff9212138eb68c2e33ad9220aa64df2e9a0da86f03dd02bf6d4cf02bcd95a68
 
 PKG_BUILD_FLAGS:=gc-sections
 
index 9950306309358a7b34d16f3a18324b10f64c6437..85dc6864a35cab5f7f41b52e4ec6f7534129c2e2 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libnpupnp
-PKG_VERSION:=6.1.0
+PKG_VERSION:=6.1.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=1e305abf63ac945d9cb4576689670c009a914dc9d05b4c1ed605391e7f6b9719
+PKG_HASH:=80c3d5adc388e59057be52c4c33d7708efe05318487c09e342e7a1f4a83aa792
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -38,7 +38,7 @@ define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include/npupnp
        $(CP) $(PKG_INSTALL_DIR)/usr/include/npupnp/* $(1)/usr/include/npupnp/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnpupnp.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnpupnp.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnpupnp.pc $(1)/usr/lib/pkgconfig/
 endef
index 285568399d8f0a15bdf9d4f5c116536fbe4400bd..e88fc31d763058f9d863867ae560481f2c37ec4e 100644 (file)
@@ -14,7 +14,7 @@ PKG_RELEASE:=2
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=beed19cfb25f65186d2a4d9c3aef54f023962662f37e7421cedb94978256791b
+PKG_MIRROR_HASH:=65ee91b81c6f68d908cc94a0b5d670eefa29d550ecf8ef94cb836981fbfa4c2a
 
 PKG_BUILD_FLAGS:=gc-sections
 
index 811e6a1a3bd9d3eaf51ce56b2b759daf1b1d83b5..9cd11e4a0cd3906d0c8652ec1297276b1f8c7275 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libshout
 PKG_VERSION:=2.4.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://downloads.us.xiph.org/releases/libshout/
diff --git a/libs/libshout/patches/010-gcc14.patch b/libs/libshout/patches/010-gcc14.patch
new file mode 100644 (file)
index 0000000..0ff6839
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/shout_private.h
++++ b/src/shout_private.h
+@@ -33,6 +33,8 @@
+ #include <common/timing/timing.h>
+ #include "util.h"
++#include <stdio.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #ifdef HAVE_STDINT_H
index 21d03c7feca8fe68ca6bfb95f693c0f51b1176ab..1f51a9820a6154c4a78989bc638e61324f90bf0a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libssh
 PKG_VERSION:=0.10.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.libssh.org/files/0.10/
@@ -61,6 +61,12 @@ CMAKE_OPTIONS += \
        -DWITH_STACK_PROTECTOR_STRONG=0 \
        -DHAVE_WORDS_BIGENDIAN=$(if $(CONFIG_BIG_ENDIAN),1,0)
 
+define Build/InstallDev
+       $(call Build/InstallDev/cmake,$(1))
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libssh.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libssh.pc
+endef
+
 define Package/libssh/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libssh* $(1)/usr/lib/
index 1d76e81169cb11ecb18da4f0f36a77e57f47e498..cbe2d6312896a100b0151986dfc1dd3ae5bd0937 100644 (file)
@@ -8,21 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupnpp
-PKG_VERSION:=0.24.1
+PKG_VERSION:=0.26.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=f09d5162f237bcb971ef4bbd45de9e93a073d96555cd691374eb1a3f338b2d0b
+PKG_HASH:=b0e089783c5893c16afe23d90a6ee6947c2ec34ca6c3cf555622f7d9cc2b2b3c
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=COPYING
 
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
 
 define Package/libupnpp
   SECTION:=libs
@@ -41,7 +39,7 @@ define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/libupnpp $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libupnpp.{la,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libupnpp.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libupnpp.pc $(1)/usr/lib/pkgconfig/
 endef
index 2a3e35740f69c98a6eb862e8da29a5bba57b6ca3..c3b201938fc72087cfeff56ee93df2e97de8852f 100644 (file)
@@ -4,13 +4,13 @@ PKG_NAME:=nghttp3
 PKG_VERSION:=1.2.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/ngtcp2/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/
-PKG_HASH:=d2e216bae7bd7362f850922e4237a5caa204853b3594b22adccab4c1e1c1d1aa
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/ngtcp2/nghttp3/releases/download/v$(PKG_VERSION)/
+PKG_HASH:=0cc9b943f61a135e08b80bdcc4c1181f695df18fbb5fa93509a58d7d971dca75
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
+PKG_MAINTAINER:=
 
 CMAKE_INSTALL:=1
 
index 43c8055556bc25574332e082e44ac4aa466235a5..59428fb629bb92e08b9d71566879e17e26226271 100644 (file)
@@ -2,15 +2,15 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ngtcp2
 PKG_VERSION:=1.4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/ngtcp2/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/
-PKG_HASH:=b5d1433b9f5c06ce249e1e390e97dcfa49bf7ada5cb7c8bed8e6cd4feaf1ca4a
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/ngtcp2/ngtcp2/releases/download/v$(PKG_VERSION)/
+PKG_HASH:=163e26e6e7531b8bbcd7ec53d2c6b4ff3cb7d3654fde37b091e3174d37a8acd7
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
+PKG_MAINTAINER:=
 
 CMAKE_INSTALL:=1
 
@@ -32,6 +32,12 @@ endef
 
 CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON
 
+define Build/InstallDev
+       $(call Build/InstallDev/cmake,$(1))
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libngtcp2.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libngtcp2.pc
+endef
+
 define Package/libngtcp2/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libngtcp2*.so* $(1)/usr/lib
index 6cde6d2f593bc30291807ddebf6479ee68fb6c4d..ec24f94cd88bff5a54c85f021fbf9c8080bfdb6b 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=OpenBLAS
 PKG_VERSION:=0.3.27
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=OpenBLAS-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/xianyi/OpenBLAS/releases/download/v$(PKG_VERSION)/
@@ -113,6 +113,8 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/openblas.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/openblas.pc
 endef
 
 define Package/openblas/install
index 84d90b980bc933e95cb9c277bd5c83338692cb4c..f23d1222c0629d00d54e51b20f1ba7695291a10b 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openldap
-PKG_VERSION:=2.6.7
-PKG_RELEASE:=1
+PKG_VERSION:=2.6.8
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://mirror.eu.oneandone.net/software/openldap/openldap-release/ \
        https://www.openldap.org/software/download/OpenLDAP/openldap-release/
-PKG_HASH:=cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930
+PKG_HASH:=48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e
 PKG_LICENSE:=OLDAP-2.8
 PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:openldap:openldap
index ba4f7064d7bc5a437bede44747db2832540483e6..2297141aeda51517547913cb89a6e44e7a9ba49b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opus
-PKG_VERSION:=1.5.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.5.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://downloads.xiph.org/releases/opus
-PKG_HASH:=b84610959b8d417b611aa12a22565e0a3732097c6389d19098d844543e340f85
+PKG_HASH:=65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1
 
 PKG_MAINTAINER:=Ted Hess <thess@kitchensync.net>, Ian Leonard <antonlacon@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index 6bc55705b4a00aad787a99b7d15b87efee90ca9b..6f16c2b0768831130b44d6b81a9e9d47ef485456 100644 (file)
@@ -6,13 +6,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=taglib
-PKG_VERSION:=2.0
+PKG_VERSION:=2.0.1
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/taglib/taglib
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=de161820f5a5d3e0e0fb8f04fdae8c8a094897d1418e33b39ca634d4c538ecd0
+PKG_MIRROR_HASH:=2422e6c4ce9ea59882b6a9c078309bb95d6c11537b769f2ff22bc2fa977c56f3
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 31bc1f934dfb4e687a604ee8f0f9b65c893bd62c..5806bd7e7bede9dd9e84e53e35908fd02ad53e6d 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vips
-PKG_VERSION:=8.15.1
+PKG_VERSION:=8.15.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/libvips/libvips/releases/download/v$(PKG_VERSION)
-PKG_HASH:=06811f5aed3e7bc03e63d05537ff4b501de5283108c8ee79396c60601a00830c
+PKG_HASH:=a2ab15946776ca7721d11cae3215f20f1f097b370ff580cd44fc0f19387aee84
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=LGPL-2.1-or-later
index 14469b856f3d428c5a783792f9941a172d868cd0..cfca1fc7b0174cbc85e1461c8e5ba5fada5d47d3 100644 (file)
@@ -7,7 +7,7 @@ PKG_RELEASE:=2
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/HardySimpson/zlog
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=f726edf847c6953c8035f49f0b50dab185b051c01abbb5b12fb1994511d19a48
+PKG_MIRROR_HASH:=501d89c6883de14e8e6c53e1597f425814b3b467b31da04c50390d4924efecf3
 
 PKG_MAINTAINER:=Marko Ratkaj <markoratkaj@gmail.com>
 PKG_LICENSE:=Apache-2.0
index 9b4c369ae723eb6fb6588f765270d8b5f0b35564..f418d7b912250ee807dd8cd135312e241c80ab02 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=msmtp
-PKG_VERSION:=1.8.25
+PKG_VERSION:=1.8.26
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://marlam.de/msmtp/releases
-PKG_HASH:=2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738
+PKG_HASH:=6cfc488344cef189267e60aea481f00d4c7e2a59b53c6c659c520a4d121f66d8
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-3.0-or-later
diff --git a/mail/msmtp/test.sh b/mail/msmtp/test.sh
new file mode 100644 (file)
index 0000000..aa62b10
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$1" in
+        msmtp)
+                msmtp --version | grep "$2"
+                ;;
+esac
index ed8fdc8c3e7f1362ea1f8c13db5845ef8dac29bc..c07e2350c2d8b81e06eebcae70e0b8f646ebcf4d 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
-PKG_VERSION:=5.1.3
-PKG_RELEASE:=5
+PKG_VERSION:=5.1.4
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://ffmpeg.org/releases/
-PKG_HASH:=1b113593ff907293be7aed95acdda5e785dd73616d7d4ec90a0f6adbc5a0312e
+PKG_HASH:=54383bb890a1cd62580e9f1eaa8081203196ed53bde9e98fb6b0004423f49063
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
                Ian Leonard <antonlacon@gmail.com>
 
@@ -385,7 +385,7 @@ REAL_CPU_TYPE:=$(firstword $(subst +, ,$(CONFIG_CPU_TYPE)))
 REAL_CPU_TYPE:=$(subst octeonplus,octeon+,$(REAL_CPU_TYPE))
 
 FFMPEG_CONFIGURE:= \
-       CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
+       CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC) -Wno-error=incompatible-pointer-types" \
        LDFLAGS="$(TARGET_LDFLAGS)" \
        ./configure \
        --enable-cross-compile \
diff --git a/multimedia/ffmpeg/patches/020-ioctl.patch b/multimedia/ffmpeg/patches/020-ioctl.patch
new file mode 100644 (file)
index 0000000..687cb4c
--- /dev/null
@@ -0,0 +1,35 @@
+From 9e674b31606c805dd31b4bb754364a72a5877238 Mon Sep 17 00:00:00 2001
+From: Brad Smith <brad-at-comstyle.com@ffmpeg.org>
+Date: Sun, 5 May 2024 23:59:47 -0400
+Subject: [PATCH] lavd/v4l2: Use proper field type for second parameter of
+ ioctl() with BSD's
+
+The proper type was used until 73251678c83cbe24d08264da693411b166239bc7.
+
+This covers all of the OS's that currently have V4L2 support, permutations
+of Linux glibc/musl, Android bionic, FreeBSD, NetBSD, OpenBSD, Solaris.
+
+Copied from FreeBSD ports patch.
+
+Signed-off-by: Brad Smith <brad@comstyle.com>
+Signed-off-by: Marton Balint <cus@passwd.hu>
+---
+ libavdevice/v4l2.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/libavdevice/v4l2.c
++++ b/libavdevice/v4l2.c
+@@ -106,10 +106,10 @@ struct video_data {
+     int (*open_f)(const char *file, int oflag, ...);
+     int (*close_f)(int fd);
+     int (*dup_f)(int fd);
+-#ifdef __GLIBC__
+-    int (*ioctl_f)(int fd, unsigned long int request, ...);
+-#else
++#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */
+     int (*ioctl_f)(int fd, int request, ...);
++#else
++    int (*ioctl_f)(int fd, unsigned long int request, ...);
+ #endif
+     ssize_t (*read_f)(int fd, void *buffer, size_t n);
+     void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset);
diff --git a/multimedia/ffmpeg/patches/060-fix-assembling-with-binutils-2.41.patch b/multimedia/ffmpeg/patches/060-fix-assembling-with-binutils-2.41.patch
deleted file mode 100644 (file)
index fa3dcb3..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-From: Rémi Denis-Courmont <remi@remlab.net>
-Date: Sun, 16 Jul 2023 15:18:02 +0000 (+0300)
-Subject: avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
-X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e?hp=e5b5dd66535f444451e0fee59247b224d866f334
-
-avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <jamrial@gmail.com>
-(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
----
-
---- a/libavcodec/x86/mathops.h
-+++ b/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
-     int rt, dummy;
-+    if (__builtin_constant_p(shift))
-     __asm__ (
-         "imull %3               \n\t"
-         "shrdl %4, %%edx, %%eax \n\t"
-         :"=a"(rt), "=d"(dummy)
--        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
-     );
-+    else
-+        __asm__ (
-+            "imull %3               \n\t"
-+            "shrdl %4, %%edx, %%eax \n\t"
-+            :"=a"(rt), "=d"(dummy)
-+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+        );
-     return rt;
- }
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("sarl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("sarl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("shrl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("shrl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
index 9aceb1506d9cf45df328fc42c26cde44857def02..4ef8c5bcb44ac45609627d4c0092e425a651c7d3 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-libav
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav
-PKG_HASH:=be39349bc07ab4cdbd9a5fd6ea9848c601c7560ba5a0577ad5200b83bd424981
+PKG_HASH:=4d3803f36008e847fc4842c8dd366162baf8359526cc46c1851bf68bb638da73
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
index d540b9ffbf4e2131875a9339a684450f623ed87a..80c47f47e1d96377fa566b5227c3f8373ddb5436 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-bad
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gst-plugins-bad-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-PKG_HASH:=458783f8236068991e3e296edd671c8eddb8be6fac933c1c2e1503462864ea0f
+PKG_HASH:=260bd0a463b4faff9a42f41e5e028f787f10a92b779af8959aec64586f546bd3
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-bad-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
@@ -197,7 +197,6 @@ MESON_ARGS += \
        -Dgsm=disabled \
        -Dipcpipeline=disabled \
        -Diqa=disabled \
-       -Dkate=disabled \
        -Dkms=disabled \
        -Dladspa=disabled \
        -Dlibde265=disabled \
index fdc723e02caa7eb220abbeee9cb46032af3421e4..50feb0b2a0fb38a91ac52ebcb687231dad1589dd 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-base
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base
-PKG_HASH:=eb6792e5c73c6defb9159c36ea6e4b78a2f8af6512678b4bd3b02c8d2d492acf
+PKG_HASH:=09f4ddf246eeb819da1494ce336316edbbcb28fdff3ee2f9804891e84df39b2a
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
@@ -236,7 +236,7 @@ define GstBuildLibrary
   $$(eval $$(call BuildPackage,libgst1$(1)))
 endef
 
-$(eval $(call GstBuildLibrary,allocators,allocators,,))
+$(eval $(call GstBuildLibrary,allocators,allocators,,+libdrm))
 $(eval $(call GstBuildLibrary,app,app,,))
 $(eval $(call GstBuildLibrary,audio,audio,tag,))
 $(eval $(call GstBuildLibrary,fft,FFT,,))
index 09a8b46d096f102f178572b583f69f5a6efdf87f..159ecccec089e2e4aeceabab1e1b7236c4c88ec6 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-good
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_HASH:=e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39
+PKG_HASH:=023096d661cf58cde3e0dcdbf56897bf588830232358c305f3e15fd63e116626
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
@@ -87,6 +87,8 @@ define Package/gstreamer1-plugins-good/config
 
 endef
 
+TARGET_CFLAGS += -Wno-error=incompatible-pointer-types
+
 GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
 
 GST_VERSION:=1.0
index 5dca4521b5e32b5039c3332452e12b7844d6c19e..2e724b92db17732097356673da11947e6c9de9db 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-ugly
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-ugly
-PKG_HASH:=0761d96ba508e01c0271881b26828c2bffd7d8afd50872219f088f755b252ca7
+PKG_HASH:=4604f8709c0bc4d6960ef6ae6fd91e0b20af011bfe22e103f5b85377cf3f1ef4
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
@@ -97,8 +97,6 @@ MESON_ARGS += \
        -Drealmedia=disabled \
        \
        -Da52dec=disabled \
-       -Damrnb=disabled \
-       -Damrwbdec=disabled \
        -Dcdio=disabled \
        -Ddvdread=disabled \
        $(call GST_COND_SELECT,mpeg2dec) \
index b4f595cb21443ece4e537317b0e8eb7c2ac5e809..610d16ffde86df81af26045c8cb89d31e05d312d 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gstreamer1
-PKG_VERSION:=1.22.8
+PKG_VERSION:=1.24.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gstreamer
-PKG_HASH:=ad4e3db1771139b1db17b1afa7c05db083ae0100bd4da244b71f162dcce41bfc
+PKG_HASH:=52c93bc48e03533aa676fd8c15eb6b5fc326c68db311c50bcc0a865f31a6c653
 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
index bdd6f2254b18303cb51cff6cf806cf43219c7ccb..7b6db170ac495dcfca975226df0f14dfb988a909 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gst/gstplugin.c
 +++ b/gst/gstplugin.c
-@@ -854,15 +854,8 @@ _priv_gst_plugin_load_file_for_registry
+@@ -862,15 +862,8 @@ _priv_gst_plugin_load_file_for_registry
    }
  #endif
  
index fbedaa8c26b1ec5766eee3858e5edad75e032519..99a71da13a703c28eba10c04104f64ad849a2ea6 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=imagemagick
-PKG_VERSION:=7.1.1.31
+PKG_VERSION:=7.1.1.33
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
 
@@ -15,7 +15,7 @@ _PKGREV:=$(_PKGVER)-$(subst .,,$(suffix $(PKG_VERSION)))
 
 PKG_SOURCE:=ImageMagick-$(_PKGREV).tar.xz
 PKG_SOURCE_URL:=https://imagemagick.org/archive
-PKG_HASH:=7e5c8db53dd90a0cfc5cc7ca6d34728ed86054b4bc86e9787902285fec1107a8
+PKG_HASH:=c021effec02d18df2e55fbbe68b10b95366c1869143b08d7e8e16f471a0ddea1
 PKG_BUILD_DIR:=$(BUILD_DIR)/ImageMagick-$(_PKGREV)
 PKG_FIXUP:=autoreconf
 
index d0f4a32f1fc5108222eaabf9d45bf830e437bcec..8e012dfb072a58d5dd73bf1d49e7369cb7aa6235 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acme-common
-PKG_VERSION:=1.1.1
+PKG_VERSION:=1.4.0
 
 PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
 PKG_LICENSE:=GPL-3.0-only
index 808d18732f387ad91fc55e41ae96eca68f613f88..ba5d04165fc138c19d26a67877cf8aa0cb49ec19 100644 (file)
@@ -25,10 +25,10 @@ cleanup() {
 load_options() {
        section=$1
 
+       config_get staging "$section" staging
        # compatibility for old option name
-       config_get_bool staging "$section" use_staging
        if [ -z "$staging" ]; then
-               config_get_bool staging "$section" staging 0
+               config_get_bool staging "$section" use_staging 0
        fi
        export staging
        config_get calias "$section" calias
@@ -37,8 +37,8 @@ load_options() {
        export dalias
        config_get domains "$section" domains
        export domains
-       export main_domain
        main_domain="$(first_arg $domains)"
+       export main_domain
        config_get keylength "$section" keylength
        if [ "$keylength" ]; then
                log warn "Option \"keylength\" is deprecated, please use key_type (e.g., ec256, rsa2048) instead."
@@ -130,7 +130,7 @@ load_globals() {
        fi
        export state_dir
 
-       config_get debug "$section" debug 0
+       config_get_bool debug "$section" debug 0
        export debug
 
        # only look for the first acme section
index 206f87e23d1c691efcf3b2bce19e12c2fdfa5b95..ca383653147232eb871ac8b701eb82c605ba4bb1 100644 (file)
@@ -1,4 +1,57 @@
 #!/bin/sh
+. /lib/functions.sh
+
+# Create a symlink to webroot
+if [ -d /www/ ] && [ ! -L /www/.well-known/acme-challenge ] && [ ! -d /www/.well-known/acme-challenge/ ]; then
+       mkdir -p /www/.well-known/
+       ln -s /var/run/acme/challenge/ /www/.well-known/acme-challenge
+fi
+
+# migrate deprecated opts
+# shellcheck disable=SC2155
+handle_cert() {
+       local section="$1"
+       local use_staging=$(uci_get acme "$section" use_staging)
+       if [ -n "$use_staging" ]; then
+               uci_remove acme "$section" use_staging
+               local staging=$(uci_get acme "$section" staging)
+               if [ -z "$staging" ]; then
+                       uci_set acme "$section" staging "$use_staging"
+               fi
+       fi
+
+       local keylength=$(uci_get acme "$section" keylength)
+       if [ -n "$keylength" ]; then
+               uci_remove acme "$section" keylength
+               local key_type=$(uci_get acme "$section" key_type)
+               if [ -z "$key_type" ]; then
+                       case $keylength in
+                       ec-*) key_type=${keylength/-/} ;;
+                       *) key_type=rsa$keylength ;;
+                       esac
+                       uci_set acme "$section" key_type "$key_type"
+               fi
+       fi
+
+       local standalone=$(uci_get acme "$section" standalone)
+       [ -n "$standalone" ] && uci_remove acme "$section" standalone
+       local dns=$(uci_get acme "$section" dns)
+       local validation_method=$(uci_get acme "$section" validation_method)
+       if [ -z "$validation_method" ]; then
+               if [ -n "$dns" ]; then
+                       validation_method="dns"
+               elif [ "$standalone" = 1 ]; then
+                       validation_method="standalone"
+               else
+                       validation_method="webroot"
+               fi
+               uci_set acme "$section" validation_method "$validation_method"
+       fi
+}
+
+config_load acme
+config_foreach handle_cert cert
+uci_commit
 
 grep -q '/etc/init.d/acme' /etc/crontabs/root 2>/dev/null && exit 0
 echo "0 0 * * * /etc/init.d/acme start" >>/etc/crontabs/root
index 154d0fc7c7589578469a8b37b98f1dfd1792d006..108bcc470f59bef027dc0e8799c835028d5501c6 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apache
-PKG_VERSION:=2.4.58
+PKG_VERSION:=2.4.59
 PKG_RELEASE:=1
 PKG_SOURCE_NAME:=httpd
 
 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/httpd/
-PKG_HASH:=fa16d72a078210a54c47dd5bef2f8b9b8a01d94909a51453956b3ec6442ea4c5
+PKG_HASH:=ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e321323
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
 
index 8d73efec85414ca97a329a723e7eddde119e7e39..79c50e488afc7a645f056ecfd0fcd69a8a39196b 100644 (file)
@@ -18,7 +18,7 @@ Last-Update: 2015-08-11
 -#endif
 +static const char server_built[] = "";
  
- AP_DECLARE(const char *) ap_get_server_built()
+ AP_DECLARE(const char *) ap_get_server_built(void)
  {
 --- a/server/Makefile.in
 +++ b/server/Makefile.in
diff --git a/net/apache/patches/020-openssl-deprecated.patch b/net/apache/patches/020-openssl-deprecated.patch
deleted file mode 100644 (file)
index 9411584..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
---- a/modules/md/md_crypt.c
-+++ b/modules/md/md_crypt.c
-@@ -1194,23 +1194,23 @@ int md_certs_are_equal(const md_cert_t *
- int md_cert_is_valid_now(const md_cert_t *cert)
- {
--    return ((X509_cmp_current_time(X509_get_notBefore(cert->x509)) < 0)
--            && (X509_cmp_current_time(X509_get_notAfter(cert->x509)) > 0));
-+    return ((X509_cmp_current_time(X509_get0_notBefore(cert->x509)) < 0)
-+            && (X509_cmp_current_time(X509_get0_notAfter(cert->x509)) > 0));
- }
- int md_cert_has_expired(const md_cert_t *cert)
- {
--    return (X509_cmp_current_time(X509_get_notAfter(cert->x509)) <= 0);
-+    return (X509_cmp_current_time(X509_get0_notAfter(cert->x509)) <= 0);
- }
- apr_time_t md_cert_get_not_after(const md_cert_t *cert)
- {
--    return md_asn1_time_get(X509_get_notAfter(cert->x509));
-+    return md_asn1_time_get(X509_get0_notAfter(cert->x509));
- }
- apr_time_t md_cert_get_not_before(const md_cert_t *cert)
- {
--    return md_asn1_time_get(X509_get_notBefore(cert->x509));
-+    return md_asn1_time_get(X509_get0_notBefore(cert->x509));
- }
- md_timeperiod_t md_cert_get_valid(const md_cert_t *cert)
---- a/modules/ssl/ssl_engine_init.c
-+++ b/modules/ssl/ssl_engine_init.c
-@@ -231,7 +231,7 @@ apr_status_t ssl_init_Module(apr_pool_t
-     apr_status_t rv;
-     apr_array_header_t *pphrases;
--    if (SSLeay() < MODSSL_LIBRARY_VERSION) {
-+    if (OpenSSL_version_num() < MODSSL_LIBRARY_VERSION) {
-         ap_log_error(APLOG_MARK, APLOG_WARNING, 0, base_server, APLOGNO(01882)
-                      "Init: this version of mod_ssl was compiled against "
-                      "a newer library (%s, version currently loaded is %s)"
---- a/modules/ssl/ssl_engine_io.c
-+++ b/modules/ssl/ssl_engine_io.c
-@@ -1316,9 +1316,9 @@ static apr_status_t ssl_io_filter_handsh
-         if (dc->proxy->ssl_check_peer_expire != FALSE) {
-             if (!cert
-                 || (X509_cmp_current_time(
--                     X509_get_notBefore(cert)) >= 0)
-+                     X509_get0_notBefore(cert)) >= 0)
-                 || (X509_cmp_current_time(
--                     X509_get_notAfter(cert)) <= 0)) {
-+                     X509_get0_notAfter(cert)) <= 0)) {
-                 proxy_ssl_check_peer_ok = FALSE;
-                 ap_log_cerror(APLOG_MARK, APLOG_INFO, 0, c, APLOGNO(02004)
-                               "SSL Proxy: Peer certificate is expired");
---- a/modules/ssl/ssl_engine_log.c
-+++ b/modules/ssl/ssl_engine_log.c
-@@ -171,10 +171,10 @@ static void ssl_log_cert_error(const cha
-                 BIO_puts(bio, "(ERROR)");
-             BIO_puts(bio, " / notbefore: ");
--            ASN1_TIME_print(bio, X509_get_notBefore(cert));
-+            ASN1_TIME_print(bio, X509_get0_notBefore(cert));
-             BIO_puts(bio, " / notafter: ");
--            ASN1_TIME_print(bio, X509_get_notAfter(cert));
-+            ASN1_TIME_print(bio, X509_get0_notAfter(cert));
-             BIO_puts(bio, "]");
---- a/modules/ssl/ssl_engine_vars.c
-+++ b/modules/ssl/ssl_engine_vars.c
-@@ -490,13 +490,13 @@ static char *ssl_var_lookup_ssl_cert(apr
-         result = ssl_var_lookup_ssl_cert_serial(p, xs);
-     }
-     else if (strcEQ(var, "V_START")) {
--        result = ssl_var_lookup_ssl_cert_valid(p, X509_get_notBefore(xs));
-+        result = ssl_var_lookup_ssl_cert_valid(p, X509_get0_notBefore(xs));
-     }
-     else if (strcEQ(var, "V_END")) {
--        result = ssl_var_lookup_ssl_cert_valid(p, X509_get_notAfter(xs));
-+        result = ssl_var_lookup_ssl_cert_valid(p, X509_get0_notAfter(xs));
-     }
-     else if (strcEQ(var, "V_REMAIN")) {
--        result = ssl_var_lookup_ssl_cert_remain(p, X509_get_notAfter(xs));
-+        result = ssl_var_lookup_ssl_cert_remain(p, X509_get0_notAfter(xs));
-         resdup = FALSE;
-     }
-     else if (*var && strcEQ(var+1, "_DN")) {
---- a/modules/ssl/ssl_private.h
-+++ b/modules/ssl/ssl_private.h
-@@ -102,6 +102,9 @@
- #include <openssl/x509v3.h>
- #include <openssl/x509_vfy.h>
- #include <openssl/ocsp.h>
-+#include <openssl/dh.h>
-+#include <openssl/bn.h>
-+#include <openssl/ui.h>
- /* Avoid tripping over an engine build installed globally and detected
-  * when the user points at an explicit non-engine flavor of OpenSSL
---- a/support/ab.c
-+++ b/support/ab.c
-@@ -665,11 +665,11 @@ static void ssl_print_cert_info(BIO *bio
-     BIO_printf(bio, "Certificate version: %ld\n", X509_get_version(cert)+1);
-     BIO_printf(bio,"Valid from: ");
--    ASN1_UTCTIME_print(bio, X509_get_notBefore(cert));
-+    ASN1_UTCTIME_print(bio, X509_get0_notBefore(cert));
-     BIO_printf(bio,"\n");
-     BIO_printf(bio,"Valid to  : ");
--    ASN1_UTCTIME_print(bio, X509_get_notAfter(cert));
-+    ASN1_UTCTIME_print(bio, X509_get0_notAfter(cert));
-     BIO_printf(bio,"\n");
-     pk = X509_get_pubkey(cert);
-@@ -2647,8 +2647,10 @@ int main(int argc, const char * const ar
-     CRYPTO_malloc_init();
- #endif
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     SSL_load_error_strings();
-     SSL_library_init();
-+#endif
-     bio_out=BIO_new_fp(stdout,BIO_NOCLOSE);
-     bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
index b85e520a1e7d8c903d696c89fbf61e3d6966a67f..c7cf408812b8aed86c3e716315c41a0a44fec799 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=atftp
 PKG_VERSION:=0.8.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
index 03627eeb37823616d035d36db26a118d72b290ba..502ccbe192ee4552f85d4ec199b785b900de7a0c 100755 (executable)
@@ -11,7 +11,7 @@ start() {
 
        config_load atftpd
 
-       config_get enable service enable 0
+       config_get_bool enable service enable 0
        [ "$enable" -eq "0" ] && return 0
 
        config_get srv service path "/srv/tftp"
index eb2ffbd34f058a90f794b813f8a10d9efb92e1b5..3c0845c0deccc6b652b9a0433f081356a2e1225e 100644 (file)
@@ -14,7 +14,7 @@ PKG_RELEASE:=2
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
 PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-probe-busybox
-PKG_MIRROR_HASH:=6caa57297984814ed3d3369f7ac8682c688e39ed592102977048ab7de80e1a91
+PKG_MIRROR_HASH:=5cb9c17f381e57105bb4ff7c83923619478f970ab9b43ff90a2ed9b1c3879fe0
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
index 58da64e2817e240f0a3844f1992610a85e16747d..8b120e06cbec28a00f08a7d59309f7e56c82e966 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
 PKG_VERSION:=0.9.6
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index fef0e9caaac8aa05388a55bd642cc224093223aa..c0ccb6b156901f6d642b79d895555664ba8d1bf5 100644 (file)
@@ -219,14 +219,14 @@ Available commands:
 :::
     Timestamp: 2024-04-17 23:02:15
     ------------------------------
-    blocked syn-flood packets in prerouting  : 5
-    blocked udp-flood packets in prerouting  : 11
-    blocked icmp-flood packets in prerouting : 6
-    blocked invalid ct packets in prerouting : 277
-    blocked invalid tcp packets in prerouting: 0
-    ----------
-    auto-added IPs to allowlist today: 0
-    auto-added IPs to blocklist today: 0
+    blocked syn-flood packets  : 5
+    blocked udp-flood packets  : 11
+    blocked icmp-flood packets : 6
+    blocked invalid ct packets : 277
+    blocked invalid tcp packets: 0
+    ---
+    auto-added IPs to allowlist: 0
+    auto-added IPs to blocklist: 0
 
     Set                  | Elements     | WAN-Input (packets)   | WAN-Forward (packets) | LAN-Forward (packets) | Port/Protocol Limit
     ---------------------+--------------+-----------------------+-----------------------+-----------------------+------------------------
@@ -261,19 +261,18 @@ Available commands:
 
 **banIP runtime information**  
 ```
-~# /etc/init.d/banip status
 ::: banIP runtime information
   + status            : active (nft: âœ”, monitor: âœ”)
-  + version           : 0.9.5-r1
-  + element_count     : 335706
-  + active_feeds      : allowlistv4MAC, allowlistv6MAC, allowlistv4, allowlistv6, adguardtrackersv6, adguardtrackersv4, becyberv4, cinsscorev4, deblv4, countryv6, countryv4, deblv6, dropv6, dohv4, dropv4, dohv6, threatv4, firehol1v4, ipthreatv4, firehol2v4, turrisv4, blocklistv4MAC, blocklistv6MAC, blocklistv4, blocklistv6
+  + version           : 0.9.6-r1
+  + element_count     : 108036
+  + active_feeds      : allowlistv4MAC, allowlistv6MAC, allowlistv4, allowlistv6, cinsscorev4, deblv4, countryv6, countryv4, deblv6, dohv4, dohv6, turrisv4, blocklistv4MAC, blocklistv6MAC, blocklistv4, blocklistv6
   + active_devices    : wan: pppoe-wan / wan-if: wan, wan_6 / vlan-allow: - / vlan-block: -
   + active_uplink     : 217.83.205.130, fe80::9cd6:12e9:c4df:75d3, 2003:ed:b5ff:43bd:9cd5:12e7:c3ef:75d8
-  + nft_info          : priority: 0, policy: performance, loglevel: warn, expiry: 2h
+  + nft_info          : priority: -100, policy: performance, loglevel: warn, expiry: 2h, limit (icmp/syn/udp): 10/10/100
   + run_info          : base: /mnt/data/banIP, backup: /mnt/data/banIP/backup, report: /mnt/data/banIP/report
   + run_flags         : auto: âœ”, proto (4/6): âœ”/✔, log (pre/inp/fwd/lan): âœ”/✘/✘/✘, dedup: âœ”, split: âœ˜, custom feed: âœ˜, allowed only: âœ˜
-  + last_run          : action: reload, log: logread, fetch: curl, duration: 2m 33s, date: 2024-04-17 05:57:56
-  + system_info       : cores: 4, memory: 1573, device: Bananapi BPI-R3, OpenWrt SNAPSHOT r25932-338b463e1e
+  + last_run          : action: reload, log: logread, fetch: curl, duration: 1m 21s, date: 2024-05-27 05:56:29
+  + system_info       : cores: 4, memory: 1661, device: Bananapi BPI-R3, OpenWrt SNAPSHOT r26353-a96354bcfb
 ```
 
 **banIP search information**  
@@ -300,16 +299,6 @@ Available commands:
 1.10.255.58
 1.11.67.53
 1.11.114.211
-1.11.208.29
-1.12.75.87
-1.12.231.227
-1.12.247.134
-1.12.251.141
-1.14.96.156
-1.14.250.37
-1.15.40.79
-1.15.71.140
-1.15.77.237
 [...]
 ```
 **default regex for logfile parsing**  
@@ -423,19 +412,22 @@ The banIP default blocklist feeds are stored in an external JSON file '/etc/bani
 A valid JSON source object contains the following information, e.g.:
 ```
        [...]
-       "tor":{
-               "url_4": "https://raw.githubusercontent.com/SecOps-Institute/Tor-IP-Addresses/master/tor-exit-nodes.lst",
-               "url_6": "https://raw.githubusercontent.com/SecOps-Institute/Tor-IP-Addresses/master/tor-exit-nodes.lst",
-               "rule_4": "/^(([0-9]{1,3}\\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)$/{printf \"%s,\\n\",$1}",
-               "rule_6": "/^(([0-9A-f]{0,4}:){1,7}[0-9A-f]{0,4}:?(\\/(1?[0-2][0-8]|[0-9][0-9]))?)$/{printf \"%s,\\n\",$1}",
-               "descr": "tor exit nodes",
-               "flag": "gz tcp 80-88 udp 50000"
+"stevenblack":{
+               "url_4": "https://raw.githubusercontent.com/dibdot/banIP-IP-blocklists/main/stevenblack-ipv4.txt",
+               "url_6": "https://raw.githubusercontent.com/dibdot/banIP-IP-blocklists/main/stevenblack-ipv6.txt",
+               "rule_4": "/^127\\./{next}/^(([1-9][0-9]{0,2}\\.){1}([0-9]{1,3}\\.){2}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)[[:space:]]/{printf \"%s,\\n\",$1}",
+               "rule_6": "/^(([0-9A-f]{0,4}:){1,7}[0-9A-f]{0,4}:?(\\/(1?[0-2][0-8]|[0-9][0-9]))?)[[:space:]]/{printf \"%s,\\n\",$1}",
+               "descr": "stevenblack IPs",
+               "flag": "tcp 80 443"
        },
        [...]
 ```
 Add an unique feed name (no spaces, no special chars) and make the required changes: adapt at least the URL, the regex and the description for a new feed.  
 Please note: the flag field is optional, it's a space separated list of options: supported are 'gz' as an archive format, protocols 'tcp' or 'udp' with port numbers/port ranges for destination port limitations - multiple definitions are possible.  
 
+## FAQ
+TODO!  
+
 ## Support
 Please join the banIP discussion in this [forum thread](https://forum.openwrt.org/t/banip-support-thread/16985) or contact me by mail <dev@brenken.org>
 
index 936f0aad3680e383946000af5c73495a5c29d929..74dcc5fa3ccac30f679a64c13dc37cbe4b78f9c8 100644 (file)
@@ -97,7 +97,7 @@ f_system() {
        local cpu core
 
        if [ -z "${ban_dev}" ]; then
-               ban_debug="$(uci_get banip global ban_debug)"
+               ban_debug="$(uci_get banip global ban_debug "0")"
                ban_cores="$(uci_get banip global ban_cores)"
        fi
        ban_packages="$("${ban_ubuscmd}" -S call rpc-sys packagelist '{ "all": true }' 2>/dev/null)"
@@ -332,7 +332,7 @@ f_conf() {
 f_actual() {
        local nft monitor ppid pids pid
 
-       if "${ban_nftcmd}" list chain inet banIP pre-routing >/dev/null 2>&1; then
+       if "${ban_nftcmd}" -t list set inet banIP allowlistv4MAC >/dev/null 2>&1; then
                nft="$(f_char "1")"
        else
                nft="$(f_char "0")"
@@ -632,7 +632,7 @@ f_nftinit() {
                # nft header (tables and chains)
                #
                printf "%s\n\n" "#!/usr/sbin/nft -f"
-               if "${ban_nftcmd}" list chain inet banIP pre-routing >/dev/null 2>&1; then
+               if "${ban_nftcmd}" -t list set inet banIP allowlistv4MAC >/dev/null 2>&1; then
                        printf "%s\n" "delete table inet banIP"
                fi
                printf "%s\n" "add table inet banIP"
@@ -1258,7 +1258,7 @@ f_genstatus() {
                json_add_string "${object}" "${object}"
        done
        json_close_array
-       json_add_string "nft_info" "priority: ${ban_nftpriority}, policy: ${ban_nftpolicy}, loglevel: ${ban_nftloglevel}, expiry: ${ban_nftexpiry:-"-"}"
+       json_add_string "nft_info" "priority: ${ban_nftpriority}, policy: ${ban_nftpolicy}, loglevel: ${ban_nftloglevel}, expiry: ${ban_nftexpiry:-"-"}, limit (icmp/syn/udp): ${ban_icmplimit}/${ban_synlimit}/${ban_udplimit}"
        json_add_string "run_info" "base: ${ban_basedir}, backup: ${ban_backupdir}, report: ${ban_reportdir}"
        json_add_string "run_flags" "auto: $(f_char ${ban_autodetect}), proto (4/6): $(f_char ${ban_protov4})/$(f_char ${ban_protov6}), log (pre/inp/fwd/lan): $(f_char ${ban_logprerouting})/$(f_char ${ban_loginput})/$(f_char ${ban_logforwardwan})/$(f_char ${ban_logforwardlan}), dedup: $(f_char ${ban_deduplicate}), split: $(f_char ${split}), custom feed: $(f_char ${custom_feed}), allowed only: $(f_char ${ban_allowlistonly})"
        json_add_string "last_run" "${runtime:-"-"}"
@@ -1292,7 +1292,7 @@ f_getstatus() {
                        else
                                json_get_var value "${key}" >/dev/null 2>&1
                                if [ "${key}" = "status" ]; then
-                                       value="${value} ($(f_actual))"
+                                       [ "${value}" = "active" ] && value="${value} ($(f_actual))" || value="${value}"
                                fi
                        fi
                        if [ "${key}" != "wan_interfaces" ] && [ "${key}" != "vlan_allow" ] && [ "${key}" != "vlan_block" ]; then
@@ -1354,7 +1354,7 @@ f_lookup() {
        end_time="$(date "+%s")"
        duration="$(((end_time - start_time) / 60))m $(((end_time - start_time) % 60))s"
 
-       f_log "debug" "f_lookup    ::: feed: ${feed}, domains: ${cnt_domain}, IPs: ${cnt_ip}, duration: ${duration}"
+       f_log "info" "domain lookup finished in ${duration} (${feed}, ${cnt_domain} domains, ${cnt_ip} IPs)"
 }
 
 # table statistics
@@ -1509,7 +1509,7 @@ f_report() {
                                printf "%s\n" "    blocked icmp-flood packets : ${sum_icmpflood}"
                                printf "%s\n" "    blocked invalid ct packets : ${sum_ctinvalid}"
                                printf "%s\n" "    blocked invalid tcp packets: ${sum_tcpinvalid}"
-                               printf "%s\n" "    ----------"
+                               printf "%s\n" "    ---"
                                printf "%s\n" "    auto-added IPs to allowlist: ${autoadd_allow}"
                                printf "%s\n\n" "    auto-added IPs to blocklist: ${autoadd_block}"
                                json_select "sets" >/dev/null 2>&1
@@ -1752,10 +1752,9 @@ ban_sedcmd="$(f_cmd sed)"
 ban_ubuscmd="$(f_cmd ubus)"
 ban_zcatcmd="$(f_cmd zcat)"
 
+f_system
 if [ "${ban_action}" != "stop" ]; then
        [ ! -d "/etc/banip" ] && f_log "err" "no banIP config directory"
        [ ! -r "/etc/config/banip" ] && f_log "err" "no banIP config"
        [ "$(uci_get banip global ban_enabled)" = "0" ] && f_log "err" "banIP is disabled"
 fi
-
-f_system
index 79af2bd5d33a02080691646efd2ad70da5db9505..2d05563e2141f9c2df292f2d46804f3a0ac81f46 100644 (file)
        },
        "nixspam":{
                "url_4": "https://www.nixspam.net/download/nixspam-ip.dump.gz",
-               "rule_4": "/^127\\./{next}/^(([1-9][0-9]{0,2}\\.){1}([0-9]{1,3}\\.){2}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)[[:space:]]/{printf \"%s,\\n\",$2}",
+               "rule_4": "/127\\./{next}/(([1-9][0-9]{0,2}\\.){1}([0-9]{1,3}\\.){2}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)[[:space:]]/{printf \"%s,\\n\",$2}",
                "descr": "iX spam protection",
                "flag": "gz"
        },
        },
        "sslbl":{
                "url_4": "https://sslbl.abuse.ch/blacklist/sslipblacklist.csv",
-               "rule_4": "BEGIN{FS=\",\"}/^127\\./{next}/^(([1-9][0-9]{0,2}\\.){1}([0-9]{1,3}\\.){2}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)/{printf \"%s,\\n\",$2}",
+               "rule_4": "BEGIN{FS=\",\"}/127\\./{next}/(([1-9][0-9]{0,2}\\.){1}([0-9]{1,3}\\.){2}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\\/(1?[0-9]|2?[0-9]|3?[0-2]))?)/{printf \"%s,\\n\",$2}",
                "descr": "SSL botnet IPs"
        },
        "stevenblack":{
index b49ba6282fa7488e1f63067264eb24afafa9e6c8..3465eb481a8565df7692f4be7ec1bab479b9f4ad 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cloudflared
-PKG_VERSION:=2024.4.1
+PKG_VERSION:=2024.5.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cloudflare/cloudflared/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=11bed2bd793cc03775aa6270797ed328434bc982e09fd3597e267590f28d2436
+PKG_HASH:=bb370747765ef059c236b577604a7fd0907a684333568e5765687d94ed1f2520
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index e5577a23d277c8f87a7d021751a215dff633bfed..8cfd25710578f2faa52a7a41535a05a2db26ec24 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=croc
-PKG_VERSION:=9.6.15
+PKG_VERSION:=10.0.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/schollz/croc/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=ca118155cdf3ceb7496928b1c76387ba74f39b774372d30543e6cbd23d2c0a97
+PKG_HASH:=a5d1dc841d01a15e7ccec4280aa0905c69d4076236e1dd53513cde90097688a7
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
@@ -20,7 +20,7 @@ PKG_BUILD_DEPENDS:=golang/host
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_FLAGS:=no-mips16
 
-GO_PKG:=github.com/schollz/croc/v9
+GO_PKG:=github.com/schollz/croc/v10
 GO_PKG_BUILD_PKG:=$(GO_PKG)
 GO_PKG_LDFLAGS_X:=$(GO_PKG)/src/cli.Version=v$(PKG_VERSION)
 
index f33e5a89b3516d70e661cfb28b45da825e781e6a..049fdb68a19c3da427d71c8f14457c2f51423f09 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dcwapd
 PKG_VERSION:=1.1.0
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ewsi/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
index ad28a0b0d4ad810a8c6e994e158e552850587699..3928d3fe788d50ccf95a8ce270ec1feee08e3569 100644 (file)
@@ -254,7 +254,7 @@ start_service() {
        config_load "$CONFIGURATION"
        local enabled
 
-       config_get enabled general enabled
+       config_get_bool enabled general enabled
        if [ "$enabled" != "1" ]; then
                echo "dcwapd is disabled in UCI"
                return 1
index 2cfe7df339dd66fd03bafd3ea4234cdd08125196..a461e5b173bbc9b3ba5e9200f265051094e88140 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsdist
-PKG_VERSION:=1.9.3
+PKG_VERSION:=1.9.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=f05b68806dc6c4d207b1fadb7ec715c3e0d28d893a8b3b92d58297c4ceb56c3f
+PKG_HASH:=297d3a3751af4650665c9d3890a1d5a7a0467175f2c8607d0d5980e3fd67ef14
 
 PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>, Remi Gacogne <remi.gacogne@powerdns.com>
 PKG_LICENSE:=GPL-2.0-only
index 8a97ac28710b7f7a7ab096bf61d9779a8d82bd43..3ceae64887f33376975bde0499a4ddca67723a95 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsproxy
 PKG_VERSION:=0.71.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
index ab1382d3f1f07e7e702fa6f4e9aaf86d9159c8c1..f39038c37e234440336645dc1e8adb71a995e02d 100644 (file)
@@ -9,7 +9,7 @@ PROG="/usr/bin/dnsproxy"
 
 is_enabled() {
        local enabled
-       config_get enabled "$1" "$2" "0"
+       config_get_bool enabled "$1" "$2" "0"
        if [ "$enabled" -eq "1" ]; then
                return 0
        else
index b29999b40e2b8da4ff29338f5c6a0ed5999d4383..1df9d8b65f40f178f14bba3e08c647fd555a835a 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fping
-PKG_VERSION:=5.1
+PKG_VERSION:=5.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://fping.org/dist
-PKG_HASH:=1ee5268c063d76646af2b4426052e7d81a42b657e6a77d8e7d3d2e60fd7409fe
+PKG_HASH:=a7692d10d73fb0bb76e1f7459aa7f19bbcdbfc5adbedef02f468974b18b0e42f
 
 PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
 PKG_LICENSE:=BSD-4-Clause
index 6c68364bb69b6ea776d751d3374613531b74bd2d..14249fe61806c1678f43f2835e0e954f6b17b5d6 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 PKG_NAME:=frr
 PKG_VERSION:=9.0.0
-PKG_RELEASE:=2
+PKG_RELEASE:=6
 PKG_SOURCE_DATE:=2023-08-12
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
@@ -49,8 +49,7 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_FRR_INTERNAL \
        CONFIG_FRR_SNMP \
        CONFIG_FRR_NO_SNMP \
-       CONFIG_PACKAGE_frr-libfrr \
-       CONFIG_PACKAGE_frr-vtysh \
+       CONFIG_PACKAGE_frr \
        CONFIG_PACKAGE_frr-watchfrr \
        CONFIG_PACKAGE_frr-zebra \
        $(patsubst %,CONFIG_PACKAGE_frr-%,$(PKG_DAEMON_AVAILABLE)) \
@@ -66,7 +65,7 @@ HOST_BUILD_DEPENDS:=python3/host
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 
-define Package/frr-libfrr/config
+define Package/frr/config
   source "$(SOURCE)/Config.in"
 endef
 
@@ -80,7 +79,8 @@ endef
 
 define Package/frr
   $(call Package/frr/Default)
-  DEPENDS:=+librt
+  DEPENDS:=+librt +libatomic +libcap +libncurses +libjson-c +libreadline \
+    +libyang +libprotobuf-c +FRR_OPENSSL:libopenssl +FRR_SNMP:libnetsnmp +more
   TITLE:=The FRRouting (FRR) Software Routing Suite
   MENU:=1
 endef
@@ -94,31 +94,15 @@ define Package/frr/description
   NHRP.
 endef
 
-define Package/frr-libfrr
-  $(call Package/frr/Default)
-  TITLE:=zebra library
-  DEPENDS+=+librt +libatomic +libcap +libjson-c +libyang +libprotobuf-c +FRR_OPENSSL:libopenssl +FRR_SNMP:libnetsnmp
-  CONFLICTS:=quagga-libzebra
-endef
-
-define Package/frr-vtysh
-  $(call Package/frr/Default)
-  DEPENDS+=+frr-libfrr +libreadline +libncurses +more
-  TITLE:=integrated shell for frr routing software
-  CONFLICTS:=quagga-vtysh
-endef
-
 define Package/frr-watchfrr
   $(call Package/frr/Default)
   TITLE:=frr watchdog
-  DEPENDS+=+frr-libfrr
   DEFAULT:=y if PACKAGE_frr
 endef
 
 define Package/frr-zebra
   $(call Package/frr/Default)
   TITLE:=Zebra daemon
-  DEPENDS+=+frr-libfrr
   DEFAULT:=y if PACKAGE_frr
   CONFLICTS:=quagga-zebra
 endef
@@ -126,7 +110,7 @@ endef
 define Package/frr-pythontools
   $(call Package/frr/Default)
   TITLE:=Python reload tool
-  DEPENDS+=+frr-libfrr +python3-base +python3-light +python3-logging
+  DEPENDS+=+python3-base +python3-light +python3-logging
 endef
 
 ##Migrate from quagga
@@ -144,7 +128,10 @@ define BuildDaemon
     define Package/frr-$(1)
        $$(call Package/frr/Default)
        TITLE:= $(1) routing engine
-       DEPENDS+=frr-libfrr $(2)
+ifeq ($(1),bgpd)
+       KCONFIG:=CONFIG_TCP_MD5SIG=y
+endif
+       DEPENDS+=$(2)
     endef
 #      if [ "$(1)" == "bfdd" ]; then \
 #      export HAVE_BFDD == 1 ; fi
@@ -160,7 +147,7 @@ define BuildDaemon
     $$(eval $$(call BuildPackage,frr-$(1)))
 endef
 
-define Package/frr-libfrr/conffiles
+define Package/frr/conffiles
 /etc/frr/daemons
 /etc/frr/frr.conf
 /etc/frr/vtysh.conf
@@ -185,6 +172,8 @@ endef
 CONFIGURE_ARGS+= \
        --with-clippy=$(STAGING_DIR_HOSTPKG)/bin/clippy \
        --prefix=/usr \
+       --enable-vtysh \
+       --enable-zebra \
        --enable-shared \
        --disable-static \
        --enable-user=network \
@@ -197,15 +186,20 @@ CONFIGURE_ARGS+= \
        $(if $(CONFIG_FRR_OPENSSL),--with-crypto=openssl,) \
        $(if $(CONFIG_FRR_SNMP),--enable-snmp,) \
        $(foreach m,$(PKG_DAEMON_AVAILABLE), \
-       $(call autoconf_bool,CONFIG_PACKAGE_frr-$(m),$(m)) ) \
-       $(call autoconf_bool,CONFIG_PACKAGE_frr-vtysh,vtysh) \
-       $(call autoconf_bool,CONFIG_PACKAGE_frr-libfrr,zebra)
+       $(call autoconf_bool,CONFIG_PACKAGE_frr-$(m),$(m)) )
 
 
 define Package/frr/install
        $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d
        $(INSTALL_BIN) ./files/frrcommon.sh $(1)/usr/sbin/
        $(INSTALL_BIN) ./files/frr $(1)/etc/init.d/
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/frr
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vtysh $(1)/usr/bin/
+       $(INSTALL_CONF) ./files/vtysh.conf $(1)/etc/frr/
+       $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/frr
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfrr.so* $(1)/usr/lib/
+       $(if $(CONFIG_FRR_SNMP),$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfrrsnmp.so* $(1)/usr/lib/,)
+       $(INSTALL_CONF) ./files/{frr.conf,daemons} $(1)/etc/frr/
 endef
 
 define Package/frr-watchfrr/install
@@ -219,14 +213,6 @@ define Package/frr-zebra/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zebra $(1)/usr/sbin/
 endef
 
-define Package/frr-libfrr/install
-       $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/frr
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfrr.so* $(1)/usr/lib/
-       $(if $(CONFIG_FRR_SNMP),$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfrrsnmp.so* $(1)/usr/lib/,)
-       $(INSTALL_CONF) ./files/{frr.conf,daemons} $(1)/etc/frr/
-endef
-
-
 define Package/frr-pythontools/install
        $(INSTALL_DIR) $(1)/usr/lib/frr $(1)/usr/sbin $(1)/etc/frr
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/*.py $(1)/usr/lib/frr/
@@ -234,19 +220,11 @@ define Package/frr-pythontools/install
        $(INSTALL_CONF) $(PKG_BUILD_DIR)/tools/etc/frr/support_bundle_commands.conf $(1)/etc/frr/
 endef
 
-define Package/frr-vtysh/install
-       $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/frr
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vtysh $(1)/usr/bin/
-       $(INSTALL_CONF) ./files/vtysh.conf $(1)/etc/frr/
-endef
-
 $(eval $(call HostBuild))
 $(eval $(call BuildPackage,frr))
-$(eval $(call BuildPackage,frr-libfrr))
 $(eval $(call BuildPackage,frr-pythontools))
 $(eval $(call BuildPackage,frr-watchfrr))
 $(eval $(call BuildPackage,frr-zebra))
-$(eval $(call BuildPackage,frr-vtysh))
 $(eval $(call BuildDaemon,babeld,))
 $(eval $(call BuildDaemon,bfdd,))
 $(eval $(call BuildDaemon,bgpd,))
index f59fce8730f51c861d22c55dab6eb2c0858bf6d3..9642677183a01b26e652f15d5ed2a40f70f66359 100644 (file)
@@ -341,7 +341,7 @@ if [ -z "$FRR_PATHSPACE" ]; then
        load_old_config "/etc/sysconfig/frr"
 fi
 
-if { declare -p watchfrr_options 2>/dev/null || true; } | grep -q '^declare \-a'; then
+if { declare -p watchfrr_options 2>/dev/null || true; } | grep -q '^declare -a'; then
        log_warning_msg "watchfrr_options contains a bash array value." \
                "The configured value is intentionally ignored since it is likely wrong." \
                "Please remove or fix the setting."
index f7bb3bcfe740bbbc221802f8e45148278895c4a3..a7798ce3dfc6a68b3f9d44236891dc55662fe99a 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.8.9
+PKG_VERSION:=3.0.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://www.haproxy.org/download/2.8/src
-PKG_HASH:=7a821478f36f847607f51a51e80f4f890c37af4811d60438e7f63783f67592ff
+PKG_SOURCE_URL:=https://www.haproxy.org/download/3.0/src
+PKG_HASH:=5aad97416216d2cd9dd212eb674839c40cd387f60fbc4b13d7ea3f1e5664a814
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
@@ -83,6 +83,8 @@ endif
 ifeq ($(BUILD_VARIANT),ssl)
        ADDON+=USE_OPENSSL=1
        ADDON+=ADDLIB="-lcrypto -lm"
+       ADDON+=USE_QUIC=1
+       ADDON+=USE_QUIC_OPENSSL_COMPAT=1
 endif
 
 define Build/Compile
index 1440a9450e1e4a066b5dc3ecbb764745d77876ba..c5b766cb50a0a1fdea55656f3d9a1461295fc422 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
-CLONEURL=https://git.haproxy.org/git/haproxy-2.8.git
-BASE_TAG=v2.8.9
+CLONEURL=https://git.haproxy.org/git/haproxy-3.0.git
+BASE_TAG=v3.0.0
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index c307b0e6acdc37351711e8032d16e7e8b33def56..f28c544719a7d4339e887fa9e03bb0238631bd55 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hev-socks5-server
-PKG_VERSION:=2.6.5
+PKG_VERSION:=2.6.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/heiher/hev-socks5-server/releases/download/$(PKG_VERSION)
-PKG_HASH:=07d3297483cc624464eec424f7dd27f2028f4f56c70c2c9d0b6902e181a32ccb
+PKG_HASH:=93dfb20501cc2d19e9e144a38d949b2ff81d1c73bd1557ec8e378d888825501b
 
 PKG_MAINTAINER:=Ray Wang <r@hev.cc>
 PKG_LICENSE:=GPL-3.0-only
index ffa4a4765f782682d065da02e645a67e6dce659b..17a0e37db8198e9d2691ef1ea56abd53f385aa58 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hs20
-PKG_RELEASE:=9
+PKG_RELEASE:=10
 
 PKG_SOURCE_URL:=http://w1.fi/hostap.git
 PKG_SOURCE_PROTO:=git
index c23fcf807200d69ef4bb10d2eff4590a44aace48..d0d5d5d86941ab32e808c01a0b5330856c636c57 100644 (file)
@@ -170,7 +170,7 @@ EOF
 start_service() {
        local enabled
        config_load hs20
-       config_get enabled server enabled
+       config_get_bool enabled server enabled
 
        [ "$enabled" != "1" ] && [ "$enabled" != "true" ] && exit 0
        echo "starting"
index 41d8cb7e2ff66376101fc397453b35be95cd6888..2bf83445d4fa699de085a818c47fc08701c871b0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iperf
-PKG_VERSION:=3.16
+PKG_VERSION:=3.17.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
-PKG_HASH:=cc740c6bbea104398cc3e466befc515a25896ec85e44a662d5f4a767b9cf713e
+PKG_HASH:=84404ca8431b595e86c473d8f23d8bb102810001f15feaf610effd3b318788aa
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=BSD-3-Clause
index 8238c607bcfa774de9403e483a2163ab78a3583b..c84d24a18a103a6c19ada71bb7fe7d77109a8437 100644 (file)
@@ -7,8 +7,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lynx
-PKG_VERSION:=2.9.0
-PKG_RELEASE:=2
+PKG_VERSION:=2.9.2
+PKG_RELEASE:=1
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Leonid Esman <leonid.esman@gmail.com>
@@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:lynx:lynx
 PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://invisible-mirror.net/archives/lynx/tarballs/ \
                 https://fossies.org/linux/www/
-PKG_HASH:=5bcae5e2e6043ca7b220963a97763c49c13218d849ffda6be7739bfd5a2d36ff
+PKG_HASH:=7374b89936d991669e101f4e97f2c9592036e1e8cdaa7bafc259a77ab6fb07ce
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
index 6322d800ba0ae2f157a30d4abc2696de2baa469f..0cfb304b6b6c0f8104236c0abf00dff1a4edb05c 100644 (file)
@@ -14,7 +14,7 @@ PKG_RELEASE:=13
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=11af92027970f1f0cb5d3016e3c62485399a6bbb81621723016b8b9a561af020
+PKG_MIRROR_HASH:=72d129a00d51f0acf4c421f02dd342728ca42980bd9644e3c9a69ca0792fd60b
 
 PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
 PKG_LICENSE:=GPL-2.0-or-later
index 3d4dd36a14fc412df5a62909a8529751608b37f6..9743edcb92e714dd25f17c399f595dc047742fc3 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mwan3
 PKG_VERSION:=2.11.13
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>, \
                Aaron Goodman <aaronjg@alumni.stanford.edu>
 PKG_LICENSE:=GPL-2.0
index c69f381ea851345e5182e85cd741e0eacee8e3e0..5376b885ff6baac38e6ba3c1b4186f6f02cd8105 100644 (file)
@@ -43,7 +43,7 @@ mwan3_update_dev_to_table()
                config_get family "$1" family ipv4
                network_get_device device "$1"
                [ -z "$device" ] && return
-               config_get enabled "$1" enabled
+               config_get_bool enabled "$1" enabled
                [ "$enabled" -eq 0 ] && return
                curr_table=$(eval "echo  \"\$mwan3_dev_tbl_${family}\"")
                export "mwan3_dev_tbl_$family=${curr_table}${device}=$_tid "
@@ -1087,7 +1087,7 @@ mwan3_report_iface_status()
 
        mwan3_get_iface_id id "$1"
        network_get_device device "$1"
-       config_get enabled "$1" enabled 0
+       config_get_bool enabled "$1" enabled 0
        config_get family "$1" family ipv4
 
        if [ "$family" = "ipv4" ]; then
index 4bd2b631f6263bdcb2ca814fa6c29cc6d6db076c..210e79a6d8df53d42d244a71216d6a9feb75c240 100755 (executable)
@@ -104,7 +104,7 @@ get_mwan3_status() {
        online=$(get_online_time "$iface")
        offline=$(get_offline_time "$iface")
 
-       config_get enabled "$iface" enabled 0
+       config_get_bool enabled "$iface" enabled 0
 
        if [ -f "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS" ]; then
                network_get_uptime uptime "$iface"
index 47809d46e19234b714a6be1d45c2610c69eec9dd..5a94f11fd7563b366ce610cac71c6319cad5e334 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=natmap
 PKG_VERSION:=20240303
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/heiher/natmap/releases/download/$(PKG_VERSION)
index bfead56f93181e0c276cfa565b797238a46409b4..fb7323f87c676d739402bfbc2ba22950d1ce5119 100644 (file)
@@ -10,7 +10,7 @@ STATUS_PATH=/var/run/natmap
 
 load_interfaces() {
        config_get interface "$1" interface
-       config_get enable "$1" enable 1
+       config_get_bool enable "$1" enable 1
 
        [ "${enable}" = "1" ] && interfaces=" ${interface} ${interfaces}"
 }
index 13747b599ba613a116ea6ea7beb80a1036eac3c6..7ffaa1c283f526df8eed15cf708eb82226626121 100644 (file)
@@ -11,7 +11,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/slackhq/nebula/tar.gz/v$(PKG_VERSION)?
 PKG_HASH:=203713c58d0ec8a10df2f605af791a77a33f825454911ac3a5313ced591547fd
 
-PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
+PKG_MAINTAINER:=
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:slack:nebula
index 6fb5c900606eab73a068fe3a64b129f783caabee..7e6a7b10596d5aaa656afa3e3e1ba82447b90a74 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=net-snmp
 PKG_VERSION:=5.9.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/net-snmp
@@ -223,8 +223,6 @@ ifeq ($(CONFIG_IPV6),y)
 SNMP_TRANSPORTS_INCLUDED+= UDPIPv6
 endif
 
-TARGET_LDFLAGS += -L$(TOOLCHAIN_DIR)/usr/lib
-
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
index 3fe030a4e193f9b1b09c2ce8602e32589e438eab..0818f5dd46d1c5e41cf3e49b50cd47e790f4b241 100644 (file)
@@ -5,7 +5,7 @@
  
  AC_MSG_CHECKING([for the type of fd_set::fds_bits])
 -for type in __fd_mask __int32_t unknown; do
-+for type in __fd_mask __int32_t u_int32_t; do
++for type in fd_mask int32_t size_t; do
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
  #include <sys/select.h>
  #include <stddef.h>
index a3c5c0a9d6078080b1bd1b2628685a413561becd..2eb598a82260b69bed437eef7770023972896d03 100644 (file)
@@ -1,6 +1,6 @@
 --- /dev/null
 +++ b/agent/mibgroup/ieee802dot11.c
-@@ -0,0 +1,4915 @@
+@@ -0,0 +1,4916 @@
 +/****************************************************************************
 +*                                                                           *
 +*  File Name:           ieee802dot11.c                                      *
@@ -30,6 +30,7 @@
 +#include <net-snmp/agent/net-snmp-agent-includes.h>
 +#include "ieee802dot11.h"
 +#include "iwlib.h"
++#include "util_funcs/header_generic.h"
 +
 +/****************************************************************************
 +*                                Defines                                    *
 +  rc = ioctl ( skfd, SIOCGIFHWADDR, &ifr );
 +  if ( rc >= 0 ) {
 +
-+    sprintf ( MACAddress, "%02X:%02X:%02X:%02X:%02X:%02X\0", 
++    sprintf ( MACAddress, "%02X:%02X:%02X:%02X:%02X:%02X", 
 +                 ( UCHAR ) ifr.ifr_hwaddr.sa_data[0], ( UCHAR ) ifr.ifr_hwaddr.sa_data[1], 
 +                 ( UCHAR ) ifr.ifr_hwaddr.sa_data[2], ( UCHAR ) ifr.ifr_hwaddr.sa_data[3], 
 +                 ( UCHAR ) ifr.ifr_hwaddr.sa_data[4], ( UCHAR ) ifr.ifr_hwaddr.sa_data[5] );
 +
 +    if ( hasChanged (( char * ) &nSc, sizeof ( nSc ))) {
 +      nSc.ifIndex = ifIndex;
-+      sprintf ( nSc.UID, "%04d\0", nSc.ifIndex );
++      sprintf ( nSc.UID, "%04ld", nSc.ifIndex );
 +      strcpy ( nSc.ifName, ifName );
 +      addList (( char * ) &scList, ( char * ) &nSc, sizeof ( nSc ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPr, sizeof ( nPr ))) {
 +      nPr.ifIndex = ifIndex;
-+      sprintf ( nPr.UID, "%04d\0", nPr.ifIndex );
++      sprintf ( nPr.UID, "%04ld", nPr.ifIndex );
 +      strcpy ( nPr.ifName, ifName );
 +      addList (( char * ) &prList, ( char * ) &nPr, sizeof ( nPr ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nOp, sizeof ( nOp ))) {
 +      nOp.ifIndex = ifIndex;
-+      sprintf ( nOp.UID, "%04d\0", nOp.ifIndex );
++      sprintf ( nOp.UID, "%04ld", nOp.ifIndex );
 +      strcpy ( nOp.ifName, ifName );
 +      addList (( char * ) &opList, ( char * ) &nOp, sizeof ( nOp ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nCo, sizeof ( nCo ))) {
 +      nCo.ifIndex = ifIndex;
-+      sprintf ( nCo.UID, "%04d\0", nCo.ifIndex );
++      sprintf ( nCo.UID, "%04ld", nCo.ifIndex );
 +      strcpy ( nCo.ifName, ifName );
 +      addList (( char * ) &coList, ( char * ) &nCo, sizeof ( nCo ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nRi, sizeof ( nRi ))) {
 +      nRi.ifIndex = ifIndex;
-+      sprintf ( nRi.UID, "%04d\0", nRi.ifIndex );
++      sprintf ( nRi.UID, "%04ld", nRi.ifIndex );
 +      strcpy ( nRi.ifName, ifName );
 +      addList (( char * ) &riList, ( char * ) &nRi, sizeof ( nRi ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPo, sizeof ( nPo ))) {
 +      nPo.ifIndex = ifIndex;
-+      sprintf ( nPo.UID, "%04d\0", nPo.ifIndex );
++      sprintf ( nPo.UID, "%04ld", nPo.ifIndex );
 +      strcpy ( nPo.ifName, ifName );
 +      addList (( char * ) &poList, ( char * ) &nPo, sizeof ( nPo ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPa, sizeof ( nPa ))) {
 +      nPa.ifIndex = ifIndex;
-+      sprintf ( nPa.UID, "%04d\0", nPa.ifIndex );
++      sprintf ( nPa.UID, "%04ld", nPa.ifIndex );
 +      strcpy ( nPa.ifName, ifName );
 +      addList (( char * ) &paList, ( char * ) &nPa, sizeof ( nPa ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPt, sizeof ( nPt ))) {
 +      nPt.ifIndex = ifIndex;
-+      sprintf ( nPt.UID, "%04d\0", nPt.ifIndex );
++      sprintf ( nPt.UID, "%04ld", nPt.ifIndex );
 +      strcpy ( nPt.ifName, ifName );
 +      addList (( char * ) &ptList, ( char * ) &nPt, sizeof ( nPt ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPf, sizeof ( nPf ))) {
 +      nPf.ifIndex = ifIndex;
-+      sprintf ( nPf.UID, "%04d\0", nPf.ifIndex );
++      sprintf ( nPf.UID, "%04ld", nPf.ifIndex );
 +      strcpy ( nPf.ifName, ifName );
 +      addList (( char * ) &pfList, ( char * ) &nPf, sizeof ( nPf ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPd, sizeof ( nPd ))) {
 +      nPd.ifIndex = ifIndex;
-+      sprintf ( nPd.UID, "%04d\0", nPd.ifIndex );
++      sprintf ( nPd.UID, "%04ld", nPd.ifIndex );
 +      strcpy ( nPd.ifName, ifName );
 +      addList (( char * ) &pdList, ( char * ) &nPd, sizeof ( nPd ));
 +    }
 +
 +    if ( hasChanged (( char * ) &nPi, sizeof ( nPi ))) {
 +      nPi.ifIndex = ifIndex;
-+      sprintf ( nPi.UID, "%04d\0", nPi.ifIndex );
++      sprintf ( nPi.UID, "%04ld", nPi.ifIndex );
 +      strcpy ( nPi.ifName, ifName );
 +      addList (( char * ) &piList, ( char * ) &nPi, sizeof ( nPi ));
 +    }
 +  }
 +
-+//printf ( "%s - ifIndex: %d ifName: %s UID: %s\n", 
++//printf ( "%s - ifIndex: %ld ifName: %s UID: %s\n", 
 +//         "load80211Structs() - HASCHANGED", ifIndex, ifName, nSc.UID );
 +}
 +
 +  nAa.ifIndex = ifIndex;
 +  nAa.authenticationAlgorithmsIndex = 1;            // index number one
 +  nAa.authenticationAlgorithm = 1;                  // 1 => open key
-+  sprintf ( nAa.UID, "%04d%04d\0", nAa.ifIndex, nAa.authenticationAlgorithmsIndex );
++  sprintf ( nAa.UID, "%04ld%04ld", nAa.ifIndex, nAa.authenticationAlgorithmsIndex );
 +  nAa.authenticationAlgorithmsEnable = 1;           // enabled by default
 +  if ( ( wi->has_key                        ) &&
 +       ( wi->key_size  != 0                 ) &&
 +  nAa.ifIndex = ifIndex;
 +  nAa.authenticationAlgorithmsIndex = 2;            // index number 2
 +  nAa.authenticationAlgorithm = 2;                  // 2 => shared key
-+  sprintf ( nAa.UID, "%04d%04d\0", nAa.ifIndex, nAa.authenticationAlgorithmsIndex );
++  sprintf ( nAa.UID, "%04ld%04ld", nAa.ifIndex, nAa.authenticationAlgorithmsIndex );
 +  nAa.authenticationAlgorithmsEnable = 2;
 +  if ( ( wi->has_key                        ) &&
 +       ( wi->key_size  != 0                 ) &&
 +      nDf.haveWEPDefaultKeyValue = TRUE;
 +      nDf.ifIndex = ifIndex;
 +      nDf.WEPDefaultKeyIndex = i + 1;               // index number
-+      sprintf ( nDf.UID, "%04d%04d\0", nDf.ifIndex, nDf.WEPDefaultKeyIndex );
++      sprintf ( nDf.UID, "%04ld%04ld", nDf.ifIndex, nDf.WEPDefaultKeyIndex );
 +      if ( wep[i].haveKey )
 +        strcpy ( nDf.WEPDefaultKeyValue, "*****" );
 +      else
 +      nRt.supportedDataRatesTxIndex = i + 1;
 +      nRt.supportedDataRatesTxValue = wi->range.bitrate[i] / 500000L;
 +      nRt.haveSupportedDataRatesTxValue = TRUE;
-+      sprintf ( nRt.UID, "%04d%04d\0", nRt.ifIndex, nRt.supportedDataRatesTxIndex );
++      sprintf ( nRt.UID, "%04ld%04ld", nRt.ifIndex, nRt.supportedDataRatesTxIndex );
 +      strcpy ( nRt.ifName, ifName );
 +      addList (( char * ) &rtList, ( char * ) &nRt, sizeof ( nRt ));
 +    }
 +      nRr.supportedDataRatesRxIndex = i + 1;
 +      nRr.supportedDataRatesRxValue = wi->range.bitrate[i] / 500000L;
 +      nRr.haveSupportedDataRatesRxValue = TRUE;
-+      sprintf ( nRr.UID, "%04d%04d\0", nRr.ifIndex, nRr.supportedDataRatesRxIndex );
++      sprintf ( nRr.UID, "%04ld%04ld", nRr.ifIndex, nRr.supportedDataRatesRxIndex );
 +      strcpy ( nRr.ifName, ifName );
 +      addList (( char * ) &rrList, ( char * ) &nRr, sizeof ( nRr ));
 +    }
 +          s = bfr;
 +          s = strchr ( s, ':' ); s++;             /* Skip ethX:   */
 +          s = strtok ( s, " " );                  /* ' ' => '\0'  */
-+          sscanf ( s, "%X", &wi->stats.status ); // status 
++          sscanf ( s, "%hX", &wi->stats.status ); // status 
 +
 +          s = strtok ( NULL, " " );               // link quality
 +          if ( strchr ( s, '.' ) != NULL )
 +            wi->stats.qual.updated |= 1;
-+          sscanf ( s, "%d", &wi->stats.qual.qual );
++          sscanf ( s, "%hhd", &wi->stats.qual.qual );
 +
 +          s = strtok ( NULL, " " );               // signal level
 +          if ( strchr ( s,'.' ) != NULL )
 +            wi->stats.qual.updated |= 2;
-+          sscanf ( s, "%d", &wi->stats.qual.level );
++          sscanf ( s, "%hhd", &wi->stats.qual.level );
 +
 +          s = strtok ( NULL, " " );               // noise level
 +          if ( strchr ( s, '.' ) != NULL )
 +            wi->stats.qual.updated += 4;
-+          sscanf ( s, "%d", &wi->stats.qual.noise );
++          sscanf ( s, "%hhd", &wi->stats.qual.noise );
 +
 +          s = strtok ( NULL, " " ); sscanf ( s, "%d", &wi->stats.discard.nwid     );
 +          s = strtok ( NULL, " " ); sscanf ( s, "%d", &wi->stats.discard.code     );
 +    printf ( "%s %s\n", "SIOCGIWFREQ", " ===> no info.freq support" );
 +
 +  if ( info.has_sens )
-+    printf ( "%s sens: %d\n", "SIOCGIWSENS", info.sens );
++    printf ( "%s sens: %" PRIdPTR "\n", "SIOCGIWSENS", *(intptr_t *)&info.sens );
 +  else
 +    printf ( "%s %s\n", "SIOCGIWSENS", " ===> no info.sens support" );
 +
 +  if ( info.has_key ) {
-+    printf ( "%s key_size: %d key_flags: %d wepCurrentKey: %d\n", 
++    printf ( "%s key_size: %d key_flags: %d wepCurrentKey: %ld\n", 
 +              "SIOCGIWENCODE", info.key_size, info.key_flags, wepCurrentKey );
 +    printf ( "%s MODE: %d DISABLED: %d INDEX: %d OPEN: %d RESTRICTED: %d NOKEY: %d TEMP: %d\n",
 +              "SIOCGIWENCODE",                           info.key_flags & IW_ENCODE_MODE,
 +
 +  for ( i = 0; i < MAX_WEP_KEYS; i++ ) {
 +    if ( wep[i].haveKey )
-+      printf ( "%s wep[%d].len: %d wep[%d].key: %s\n", 
++      printf ( "%s wep[%d].len: %ld wep[%d].key: %s\n", 
 +                "SIOCGIWENCODE", i, wep[i].len, i, wep[i].key );
 +  }
 +
 +    printf ( "%s %s\n", "SIOCGIWAP", " ===> no ap_addr information" );
 +
 +  if ( info.has_bitrate )
-+    printf ( "%s bitrate: %d value: %d fixed: %d disabled: %d flags: %d\n", 
-+              "SIOCGIWRATE", info.bitrate, info.bitrate.value, info.bitrate.fixed, 
++    printf ( "%s bitrate: %" PRIdPTR " value: %d fixed: %d disabled: %d flags: %d\n", 
++              "SIOCGIWRATE", *(intptr_t *)&info.bitrate, info.bitrate.value, info.bitrate.fixed, 
 +                             info.bitrate.disabled, info.bitrate.flags );
 +  else
 +    printf ( "%s %s\n", "SIOCGIWRATE", " ===> no info.bitrate support" );
 +
 +  if ( info.has_rts )
-+    printf ( "%s rts: %d\n", "SIOCGIWRTS", info.rts );
++    printf ( "%s rts: %" PRIdPTR "\n", "SIOCGIWRTS", *(intptr_t *)&info.rts );
 +  else
 +    printf ( "%s %s\n", "SIOCGIWRTS", " ===> no info.rts support" );
 +
 +  if ( info.has_frag )
-+    printf ( "%s frag: %d\n", "SIOCGIWFRAG", info.frag );
++    printf ( "%s frag: %" PRIdPTR "\n", "SIOCGIWFRAG", *(intptr_t *)&info.frag );
 +  else
 +    printf ( "%s %s\n", "SIOCGIWFRAG", " ===> no info.frag support" );
 +
 +    printf ( "%s %s\n", "SIOCGIWMODE", " ===> no info.mode support" );
 +
 +  if ( info.has_power ) {
-+    printf ( "%s power: %d\n", "SIOCGIWPOWER", info.power );
++    printf ( "%s power: %" PRIdPTR "\n", "SIOCGIWPOWER", *(intptr_t *)&info.power );
 +    printf ( "%s disabled: %d MIN: %d MAX: %d TIMEOUT: %d RELATIVE: %d\n",
 +              "SIOCGIWPOWER",
 +              info.power.disabled                  ? 1:0, 
 +    printf ( "%s %s\n", "SIOCGIWPOWER", " ===> no info.power support" );
 +
 +  if ( info.has_retry )
-+    printf ( "%s retry: %d\n", "SIOCGIWRETRY", info.retry );
++    printf ( "%s retry: %" PRIdPTR "\n", "SIOCGIWRETRY", *(intptr_t *)&info.retry );
 +  else
 +    printf ( "%s %s\n", "SIOCGIWRETRY", " ===> no info.retry support" );
 +
 +addList ( char *l, char *data, int len  )
 +{
 +  char uid[256];
-+  LIST_HEAD ( , avNode ) *list;       
++  avList_t *list;       
 +
 +  // NOTE: this assumes the UID is at the beginning of the 
 +  //       data structure and that UIDs are strings
 +  
-+  list = ( LIST_HEAD ( , avNode ) * ) l;            // NOTE: don't know how to get 
++  list = ( avList_t * ) l;            // NOTE: don't know how to get 
 +  strcpy ( uid, data );                             //  rid of compiler warning on
 +                                                    //  LISTHEAD typecast
 +  // create a new node and the data that goes in it
 +****************************************************************************/
 +static void flushList ( char *l )
 +{
-+  LIST_HEAD ( , avNode ) *list;
++  avList_t *list;
 +  
-+  list = ( LIST_HEAD ( , avNode ) * ) l;    // NOTE: don't know how to get 
++  list = ( avList_t * ) l;    // NOTE: don't know how to get 
 +  while ( !LIST_EMPTY ( list )) {           //  rid of compiler warning on
 +    np = LIST_FIRST ( list );               //  LISTHEAD typecast
 +    if ( np->data )
 +
 --- /dev/null
 +++ b/agent/mibgroup/ieee802dot11.h
-@@ -0,0 +1,730 @@
+@@ -0,0 +1,732 @@
 +/****************************************************************************
 +*                                                                           *
 +*  File Name:           ieee802dot11.h                                      *
 +/****************************************************************************
 +*                           Linked List Structure                           *
 +****************************************************************************/
-+static struct avNode {  
++struct avNode {  
 +  LIST_ENTRY ( avNode ) nodes; 
 +  char *data;                                 // pointer to data
 +};
 +WriteMethod write_dot11SupportedRxAntenna;
 +WriteMethod write_dot11DiversitySelectionRx;
 +
++void shutdown_ieee802dot11 ( void );
++
 +#endif /* _MIBGROUP_IEEE802DOT11_H */
 --- /dev/null
 +++ b/agent/mibgroup/iwlib.h
-@@ -0,0 +1,502 @@
+@@ -0,0 +1,509 @@
 +/*
 + *    Wireless Tools
 + *
 +#include <unistd.h>
 +#include <netdb.h>            /* gethostbyname, getnetbyname */
 +#include <net/ethernet.h>     /* struct ether_addr */
++#ifdef HAVE_NET_IF_H
++#include <net/if.h>
++#endif
 +#include <sys/time.h>         /* struct timeval */
 +#include <unistd.h>
 +
 +      && LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)
 +#define LIBC5_HEADERS
 +
++/* Musl */
++#elif !defined(__GLIBC__) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
++#define GENERIC_HEADERS
++
 +/* Unsupported combination */
 +#else
 +#error "Your kernel/libc combination is not supported"
diff --git a/net/net-snmp/patches/751-gcc-14-fix.patch b/net/net-snmp/patches/751-gcc-14-fix.patch
new file mode 100644 (file)
index 0000000..a217bb7
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/agent/mib_modules.c
++++ b/agent/mib_modules.c
+@@ -42,6 +42,7 @@
+ #include <net-snmp/agent/table.h>
+ #include <net-snmp/agent/table_iterator.h>
+ #include "mib_module_includes.h"
++#include "mibgroup/ieee802dot11.h"
+ static int need_shutdown = 0;
index 7bc6ae1ef4d687e389c3cec2078a7562ee07b4e9..c4234dd216dcce18385fdfba1ed76a06fb885caf 100644 (file)
@@ -1,8 +1,8 @@
 --- a/agent/mibgroup/iwlib.h
 +++ b/agent/mibgroup/iwlib.h
-@@ -85,6 +85,10 @@
      && LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)
- #define LIBC5_HEADERS
+@@ -92,6 +92,10 @@
#elif !defined(__GLIBC__) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
+ #define GENERIC_HEADERS
  
 +/* Musl */
 +#elif !defined(__GLIBC__) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
index 1727f78db494463d264b147734dd29c56d39cba9..97e60b6b92619cdb7e82b6545eb4a773b8456a09 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netbird
-PKG_VERSION:=0.27.7
+PKG_VERSION:=0.27.10
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/netbirdio/netbird/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=8b93ea80bc8f6a69447c2ad00448c29b91f13822377136c1ea15b9ec45c23d9d
+PKG_HASH:=d5a0f2af7e340a8df334906850401caf2d5498df832dc82a3153b2031f2ed897
 
 PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index 38f1d5137f766bda627794a25ae366cf516643dc..66a05e71d85cab69816421c5a87043a295a06dca 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nextdns
-PKG_VERSION:=1.43.3
+PKG_VERSION:=1.43.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=nextdns-$(PKG_VERSION).tar.gz
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 PKG_SOURCE_URL:=https://codeload.github.com/nextdns/nextdns/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=574b377d6f4af140e3dcfba78fcf68d52ddb32390c020d1fe9bc5ade0af85f97
+PKG_HASH:=743f64d876c2c7afdae47716af1d41a6c5ec21adae74a318e5eb9319023a38c2
 
 PKG_MAINTAINER:=Olivier Poitrey <rs@nextdns.io>
 PKG_LICENSE:=MIT
index 520aaa19a05f9b3b30e91fe3e38f47054caad1f9..cd09dde14a91d675624f554db05e182211d2f0c4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_BUILD_FLAGS:=no-mips16
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
index 2cd16c08480094035033ea9d67a8dd59447fbe39..63b0b4f179db9421082501a334a3b65e42a1aa52 100755 (executable)
@@ -84,25 +84,25 @@ setup_config() {
        [ -n "$hostname" ] && dyndns="true"
 
        mkdir -p /var/etc
-       sed -e "s#|PORT|#$port#g" \
-           -e "s#|UDP_PORT|#$udp_port#g" \
-           -e "s#|MAX_CLIENTS|#$max_clients#g" \
-           -e "s#|MAX_SAME|#$max_same#g" \
-           -e "s#|DPD|#$dpd#g" \
-           -e "s#|AUTH|#$auth$authsuffix#g" \
-           -e "s#|DYNDNS|#$dyndns#g" \
-           -e "s#|PREDICTABLE_IPS|#$predictable_ips#g" \
-           -e "s#|DEFAULT_DOMAIN|#$default_domain#g" \
-           -e "s#|ENABLE_DEFAULT_DOMAIN|#$enable_default_domain#g" \
-           -e "s#|ENABLE_SPLIT_DNS|#$enable_split_dns#g" \
-           -e "s#|CISCO_COMPAT|#$cisco_compat#g" \
-           -e "s#|PING_LEASES|#$ping_leases#g" \
-           -e "s#|UDP|#$enable_udp#g" \
-           -e "s#|COMPRESSION|#$enable_compression#g" \
-           -e "s#|IPV4ADDR|#$ipaddr#g" \
-           -e "s#|NETMASK|#$netmask#g" \
-           -e "s#|IPV6ADDR|#$ip6addr#g" \
-           -e "s#|ENABLE_IPV6|#$enable_ipv6#g" \
+       sed -e "s~|PORT|~$port~g" \
+           -e "s~|UDP_PORT|~$udp_port~g" \
+           -e "s~|MAX_CLIENTS|~$max_clients~g" \
+           -e "s~|MAX_SAME|~$max_same~g" \
+           -e "s~|DPD|~$dpd~g" \
+           -e "s~|AUTH|~$auth$authsuffix~g" \
+           -e "s~|DYNDNS|~$dyndns~g" \
+           -e "s~|PREDICTABLE_IPS|~$predictable_ips~g" \
+           -e "s~|DEFAULT_DOMAIN|~$default_domain~g" \
+           -e "s~|ENABLE_DEFAULT_DOMAIN|~$enable_default_domain~g" \
+           -e "s~|ENABLE_SPLIT_DNS|~$enable_split_dns~g" \
+           -e "s~|CISCO_COMPAT|~$cisco_compat~g" \
+           -e "s~|PING_LEASES|~$ping_leases~g" \
+           -e "s~|UDP|~$enable_udp~g" \
+           -e "s~|COMPRESSION|~$enable_compression~g" \
+           -e "s~|IPV4ADDR|~$ipaddr~g" \
+           -e "s~|NETMASK|~$netmask~g" \
+           -e "s~|IPV6ADDR|~$ip6addr~g" \
+           -e "s~|ENABLE_IPV6|~$enable_ipv6~g" \
            /etc/ocserv/ocserv.conf.template > /var/etc/ocserv.conf
 
        test -f /etc/ocserv/ocserv.conf.local && cat /etc/ocserv/ocserv.conf.local >> /var/etc/ocserv.conf
@@ -210,7 +210,7 @@ start_service() {
        config_foreach setup_users ocservusers
 
        procd_open_instance
-       procd_set_param command /usr/sbin/ocserv -f -c /var/etc/ocserv.conf
+       procd_set_param command /usr/sbin/ocserv -s -f -c /var/etc/ocserv.conf
        procd_set_param respawn
        procd_close_instance
 }
index 554cc6ee0f37580728b58a8c26b314d41671dc06..89c45111ba932b01adb39b22a9e72aaa37dc4086 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pdns-recursor
-PKG_VERSION:=5.0.4
+PKG_VERSION:=5.0.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=d52aab108a0ad9e8be1de2179a693bb85e995c6a4d958a50702dcf79eec8ef28
+PKG_HASH:=02b9f053db64b32bd76ce6656cb35772c1d07a21fe0345ec13adb6f0fcfbf9ce
 
 PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>, Remi Gacogne <remi.gacogne@powerdns.com>
 PKG_LICENSE:=GPL-2.0-only
index 10ffc9d2efc45e76befe83c091a05cd730b1e03b..7c3846dfaad9f9bcf17388bbe8d8d5cec87d9388 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pdns
-PKG_VERSION:=4.9.0
-PKG_RELEASE:=2
+PKG_VERSION:=4.9.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=fe1d5433c88446ed70d931605c6ec377da99839c4e151b90b71aa211bd6eea92
+PKG_HASH:=30d9671b8f084774dbcba20f5a53a3134d0822ab2edc3ef968da030e630dd09a
 
 PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>, Remi Gacogne <remi.gacogne@powerdns.com>
 PKG_LICENSE:=GPL-2.0-only
index f8b0bb8e31b4a02a1854bbd7ea48145cf3e23cd9..e5765aad8d2128ab6ccc03407bd99aad5c22e730 100644 (file)
 # disable-axfr-rectify=no
 
 #################################
-# disable-syslog       Disable logging to syslog, useful when running inside a supervisor that logs stdout
+# disable-syslog       Disable logging to syslog, useful when running inside a supervisor that logs stderr
 #
 # disable-syslog=no
 
 #
 # dnsupdate=no
 
+#################################
+# dnsupdate-require-tsig       Require TSIG secured DNS updates. Default is no.
+#
+# dnsupdate-require-tsig=no
+
 #################################
 # domain-metadata-cache-ttl    Seconds to cache zone metadata from the database
 #
 #
 # lua-records-exec-limit=1000
 
+#################################
+# lua-records-insert-whitespace        Insert whitespace when combining LUA chunks
+#
+# lua-records-insert-whitespace=no
+
 #################################
 # max-cache-entries    Maximum number of entries in the query cache
 #
diff --git a/net/pdns/patches/200-dnsproxy-endian.patch b/net/pdns/patches/200-dnsproxy-endian.patch
deleted file mode 100644 (file)
index 064a0b8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-commit c6b1e59f3b413493551910a7d0a3e9206d488599
-Author: Chris Hofstaedtler <chris.hofstaedtler@deduktiva.com>
-Date:   Sat Apr 6 23:51:35 2024 +0200
-
-    auth dnsproxy: fix build on s390x
-
---- a/pdns/dnsproxy.cc
-+++ b/pdns/dnsproxy.cc
-@@ -240,10 +240,11 @@ void DNSProxy::mainloop()
-       memcpy(&dHead, &buffer[0], sizeof(dHead));
-       {
-         auto conntrack = d_conntrack.lock();
--#if BYTE_ORDER == BIG_ENDIAN
--        // this is needed because spoof ID down below does not respect the native byteorder
--        d.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0];
--#endif
-+        if (BYTE_ORDER == BIG_ENDIAN) {
-+          // this is needed because spoof ID down below does not respect the native byteorder
-+          dHead.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0];
-+        }
-+
-         auto iter = conntrack->find(dHead.id ^ d_xor);
-         if (iter == conntrack->end()) {
-           g_log << Logger::Error << "Discarding untracked packet from recursor backend with id " << (dHead.id ^ d_xor) << ". Conntrack table size=" << conntrack->size() << endl;
index b748a1af5dbaa6cfad5d9f5c8ca25ada17289ce9..d852954b8523de666e028cc0707bb93a5985197d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=respondd
 PKG_SOURCE_DATE:=2019-05-01
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/freifunk-gluon/respondd.git
index b17e4b5cb449629022af45f2e620a036c17264ec..f45a9ce942f983db083a658fcf73d788f3825ee7 100644 (file)
@@ -11,7 +11,7 @@ multicast_group()
 {
        config_get group "$1" group
        config_get interfaces "$1" interface
-       config_get disabled "$1" disabled 0
+       config_get_bool disabled "$1" disabled 0
 
        if [ "$disabled" -gt "0" ]; then
                return
index 62b9d67a890d3bb5d53aa6b0c8ed04c6187d7490..50d2073cd158c516de7bf21115ceef9c4b0ae6c8 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sing-box
-PKG_VERSION:=1.8.12
+PKG_VERSION:=1.9.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/SagerNet/sing-box/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=802eb5e202ac1dd846b1f529b3df9e5d69452182fd5d70f7c8f2a819c9e86162
+PKG_HASH:=cb1d91e362f4dd7c35f7bb040514414861a045a76301af8257134c65f7a45c36
 
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=LICENSE
index e5ca4fe2a8705c90653ea7dc61ba690d21f118f7..9828adfe363fa59bb35b3864d9afb4c6f8a25056 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sslh
-PKG_VERSION:=v1.22c
+PKG_VERSION:=v1.23.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://rutschle.net/tech/sslh/
-PKG_HASH:=8e3742d14edf4119350cfdc7bb96b89134d9218eb6d2a6e1f70891ca18a649b1
+PKG_HASH:=2aac006b40e5ae90e3b0fccb44acc994174e24e64457f25041b06aa2433ae637
 
 PKG_MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -48,6 +48,16 @@ endef
 MAKE_FLAGS += \
   USELIBCAP=1
 
+define Build/Compile
+
+ifeq ($(CONFIG_SSLH_SELECT),y)
+       $(call Build/Compile/Default,sslh-select)
+else
+       $(call Build/Compile/Default,sslh-fork)
+endif
+
+endef
+
 define Package/sslh/install
        $(INSTALL_DIR) $(1)/usr/sbin
 ifeq ($(CONFIG_SSLH_SELECT),y)
index d9344cdaa2a50363d4f0a4b51c65757e0ccf2873..e1ed07344cba1965b142f22933bdfa7a8e5aed65 100644 (file)
@@ -8,23 +8,3 @@
  # This is a basic configuration file that should provide
  # sensible values for "standard" setup.
  
-@@ -15,15 +19,16 @@ chroot: "/var/empty";
- # Change hostname with your external address name.
- listen:
- (
--    { host: "thelonious"; port: "443"; }
-+    { host: "0.0.0.0"; port: "443"; },
-+    { host: "[::]"; port: "443"; }
- );
- protocols:
- (
-      { name: "ssh"; service: "ssh"; host: "localhost"; port: "22"; fork: true; },
-      { name: "openvpn"; host: "localhost"; port: "1194"; },
--     { name: "xmpp"; host: "localhost"; port: "5222"; },
--     { name: "http"; host: "localhost"; port: "80"; },
-+#     { name: "xmpp"; host: "localhost"; port: "5222"; },
-+#     { name: "http"; host: "localhost"; port: "80"; },
-      { name: "tls"; host: "localhost"; port: "443"; log_level: 0; },
-      { name: "anyprot"; host: "localhost"; port: "443"; }
- );
index 7a79004c5984cd9fa7171a597506a05fa8002eff..5bd7a5c076bd7e740df7ce82b604f8363ab7f4a3 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tailscale
-PKG_VERSION:=1.66.3
+PKG_VERSION:=1.66.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=51f26a6fcc8b4b6156354bd12a9f029e93c200de9b753ac72d10f70828fb6277
+PKG_HASH:=db94df254a263110439aa9d6cf6e1e64a5644b6e6e459ab5298ba6e478a988cf
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index f9122c3f91f1d7d665b0397c1286b8330ce2466d..a60429c92ba58e4231f7c053cc891dd5bcb1ee91 100644 (file)
@@ -12,31 +12,31 @@ PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 
 include $(INCLUDE_DIR)/package.mk
 
-GEOIP_VER:=202404250042
+GEOIP_VER:=202405230041
 GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
 define Download/geoip
   URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
   URL_FILE:=geoip.dat
   FILE:=$(GEOIP_FILE)
-  HASH:=8ad42be541dfa7c2e548ba94b6dcb3fe431a105ba14d3907299316a036723760
+  HASH:=0401b0a1b82ad0d01c119f311d7ae0e0bae4d928f287251df2a98281d173f3d7
 endef
 
-GEOSITE_VER:=20240426060244
+GEOSITE_VER:=20240508170917
 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
 define Download/geosite
   URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
   URL_FILE:=dlc.dat
   FILE:=$(GEOSITE_FILE)
-  HASH:=7aa19bb7fa5f99d62d3db87b632334caa356fb9b901f85f7168c064370973646
+  HASH:=25d6120b009498ac83ae723e9751a19ff545fac4800dad53ab6e2592c3407533
 endef
 
-GEOSITE_IRAN_VER:=202404290026
+GEOSITE_IRAN_VER:=202405201648
 GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER)
 define Download/geosite-ir
   URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/
   URL_FILE:=iran.dat
   FILE:=$(GEOSITE_IRAN_FILE)
-  HASH:=dcffe111e31e34bceba3b28afc74eb82df222f440145f46673c79186d392e4f8
+  HASH:=8c37d450d8b756fcc58e71eeef67d4db419c05216259c177bd2cf01c55851d67
 endef
 
 define Package/v2ray-geodata/template
index 02ce268774c23e2e978a5711a06a5c39e7cadd7d..7fde40c391912d85935c5f0885c12983427cf822 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wsdd2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/Netgear/wsdd2.git
diff --git a/net/wsdd2/patches/010-gcc14.patch b/net/wsdd2/patches/010-gcc14.patch
new file mode 100644 (file)
index 0000000..cc17e47
--- /dev/null
@@ -0,0 +1,19 @@
+--- a/wsdd2.c
++++ b/wsdd2.c
+@@ -543,7 +543,15 @@ static int netlink_recv(struct endpoint
+       char buf[PAGE_SIZE];
+       struct sockaddr_nl sa;
+       struct iovec iov = { buf, sizeof buf };
+-      struct msghdr msg = { &sa, sizeof sa, &iov, 1, NULL, 0, 0 };
++      struct msghdr msg = {
++              .msg_name = &sa,
++              .msg_namelen = sizeof(sa),
++              .msg_iov = &iov,
++              .msg_iovlen = 1,
++              .msg_control = NULL,
++              .msg_controllen = 0,
++              .msg_flags = 0,
++      };
+       ssize_t msglen = recvmsg(ep->sock, &msg, 0);
+       DEBUG(2, W, "%s: %zd bytes", __func__, msglen);
index c3654b2153d0a6b28260a0f02862978cdc6145ce..59bc2d6140fb86b1a046b1ded428d549920984b3 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfrpc
-PKG_VERSION:=2.9.644
+PKG_VERSION:=3.05.661
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/liudf0716/xfrpc.git
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=0040476ce8d2a8f7dffe6162ad2cd94797071bd4ccbdcac9433f518bb60340bd
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/liudf0716/xfrpc/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=202b5eb6d4ecee5444ac5a55fea462ad106ebfb88f51ca8499553db4f701f28f
+PKG_BUILD_DIR:=$(BUILD_DIR)/xfrpc-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Dengfeng Liu <liudf0716@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
index 2b4df213af08de9aa804b64c8e7d502a46521747..332c1ef89b0324ec083a2f73008a79366512a7bb 100644 (file)
@@ -1,25 +1,29 @@
-config xfrp 'init'
-       option disabled 1
-       option loglevel 7
-
 config xfrpc 'common'
-       option server_addr frps_ip_address
+       option enabled 0
+       option loglevel 7
+       option server_addr frps.wifidogx.online
        option server_port 7000
 
-config xfrpc 'ssh01'
-       option type tcp
+config tcp 'ssh01'
        option local_ip 127.0.0.1
        option local_port 22
        option remote_port 6000
        
-#config xfrpc 'web01'
-#      option type http
+#config http 'web01'
 #      option local_ip 127.0.0.1
 #      option local_port 8080
 #      option custom_domains your_domain_name
        
-#config xfrpc 'web02'
-#      option type https
+#config https 'web02'
 #      option local_ip 127.0.0.1
 #      option local_port 8443
-#      option custom_domains your_domain_name
+#      option subdomain your_domain_name
+
+#config socks5 'socks01'
+#   option remote_port 6001
+
+#config plugin 'plugin01'
+#      option remote_port 6002
+#      option plugin_name http
+#      option plugin_param 'youtube-url'
+#      option plugin_action 'download'
index cc803b0a27dd63e2d78821caea55aeb3a5b7cc1d..90cd8cca98432e72de5baf7a49b1ab5e09293acd 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2022 Dengfeng Liu <liu_df@qq.com>
+# Copyright (C) 2022 Dengfeng Liu <liudf0716@gmail.com>
 #
 # This is free software, licensed under the GNU General Public License v3.
 # See /LICENSE for more information.
@@ -13,46 +13,107 @@ PROG=/usr/bin/$NAME
 
 
 handle_xfrpc() {
-       local name="$1"
+    local section="$1"
+    local config="$2"
+
+    case "$section" in
+        common)
+            uci_validate_section xfrpc xfrpc common \
+                'server_addr:host' \
+                'server_port:uinteger' \
+                'token:string:'
+            ;;
+    esac
+
+    # Write the validated settings to the config file
+    echo "[${section}]" >> "$config"
+    [ -z "$server_addr" ] || echo "server_addr = $server_addr" >> "$config"
+    [ -z "$server_port" ] || echo "server_port = $server_port" >> "$config"
+    [ -z "$token" ] || echo "token = $token" >> "$config"
+}
+
+handle_tcp() {
+       local section="$1"
        local config="$2"
 
-       echo "[$name]" >> "$config"
-
-       handle_type() {
-               uci_validate_section xfrpc xfrpc "$name" \
-                               'type:or("tcp", "http", "https")' \
-                               'local_ip:ipaddr:127.0.0.1' \
-                               'local_port:uinteger'
-
-               echo "type = $type" >> "$config"
-               echo "local_ip = $local_ip" >> "$config"
-               echo "local_port = $local_port" >> "$config"
-               case "$type" in
-               tcp|mstsc|socks5)
-                       config_get remote_port "$name" remote_port
-                       echo "remote_port = $remote_port" >> "$config"
-                       ;;
-               http|https)
-                       config_get custom_domains "$name" custom_domains
-                       [ -z "$custom_domains" ] || echo "custom_domains = $custom_domains" >> "$config"
-                       config_get subdomain "$name" subdomain
-                       [ -z "$subdomain" ] || echo "subdomain = $subdomain" >> "$config"
-                       ;;
-               esac
-       }
-
-       if [ "$name" = "common" ]; then
-               uci_validate_section xfrpc xfrp "$name" \
-                               'server_addr:host' \
-                               'server_port:uinteger' \
-                               'token:string:' 
-
-               echo "server_addr = $server_addr" >> "$config"
-               echo "server_port = $server_port" >> "$config"
-               [ -z "$token" ] || echo "token = $token" >> "$config"
-       else
-               handle_type
-       fi
+       uci_validate_section xfrpc tcp $section \
+               'enabled:bool:1' \
+               'local_ip:host' \
+               'local_port:uinteger' \
+               'remote_port:uinteger' 
+       
+       # if enabled is 0, then return
+       [ $enabled = 0 ] && return
+
+       # Write the validated settings to the config file
+       echo "[${section}]" >> "$config"
+       echo "type = tcp" >> "$config"
+       [ -z "$local_ip" ] || echo "local_ip = $local_ip" >> "$config"
+       [ -z "$local_port" ] || echo "local_port = $local_port" >> "$config"
+       [ -z "$remote_port" ] || echo "remote_port = $remote_port" >> "$config"
+}
+
+handle_http() {
+       local section="$1"
+       local config="$2"
+
+       uci_validate_section xfrpc http $section \
+               'enabled:bool:1' \
+               'local_ip:host' \
+               'local_port:uinteger' \
+               'custom_domains:string' \
+               'subdomain:string' \
+
+       # if enabled is 0, then return
+       [ $enabled = 0 ] && return
+
+       # Write the validated settings to the config file
+       echo "[${section}]" >> "$config"
+       echo "type = http" >> "$config"
+       [ -z "$local_ip" ] || echo "local_ip = $local_ip" >> "$config"
+       [ -z "$local_port" ] || echo "local_port = $local_port" >> "$config"
+       [ -z "$custom_domains" ] || echo "custom_domains = $custom_domains" >> "$config"
+       [ -z "$subdomain" ] || echo "subdomain = $subdomain" >> "$config"
+}
+
+handle_https() {
+       local section="$1"
+       local config="$2"
+
+       uci_validate_section xfrpc https $section \
+               'enabled:bool:1' \
+               'local_ip:host' \
+               'local_port:uinteger' \
+               'custom_domains:string' \
+               'subdomain:string' 
+       
+       # if enabled is 0, then return
+       [ $enabled = 0 ] && return
+
+       # Write the validated settings to the config file
+       echo "[${section}]" >> "$config"
+       echo "type = https" >> "$config"
+       [ -z "$local_ip" ] || echo "local_ip = $local_ip" >> "$config"
+       [ -z "$local_port" ] || echo "local_port = $local_port" >> "$config"
+       [ -z "$custom_domains" ] || echo "custom_domains = $custom_domains" >> "$config"
+       [ -z "$subdomain" ] || echo "subdomain = $subdomain" >> "$config"
+}
+
+handle_socks5() {
+       local section="$1"
+       local config="$2"
+
+       uci_validate_section xfrpc socks5 $section \
+               'enabled:bool:1' \
+               'remote_port:uinteger' 
+
+       # if enabled is 0, then return
+       [ $enabled = 0 ] && return
+
+       # Write the validated settings to the config file
+       echo "[${section}]" >> "$config"
+       echo "type = socks5" >> "$config"
+       [ -z "$remote_port" ] || echo "remote_port = $remote_port" >> "$config"
 }
 
 service_triggers() {
@@ -65,16 +126,20 @@ start_service() {
        > "$conf_file"
        config_load "$NAME"
 
-       uci_validate_section xfrpc xfrp init \
-                       'disabled:bool:0' \
+       uci_validate_section xfrpc xfrpc common \
+                       'enabled:bool:0' \
                        'loglevel:uinteger:0'
 
-       if [ $disabled = 1 ]; then
+       if [ $enabled = 0 ]; then
                echo "xfrpc service disabled"
                return
        fi
 
        config_foreach handle_xfrpc xfrpc "$conf_file"
+       config_foreach handle_tcp tcp "$conf_file"
+       config_foreach handle_http http "$conf_file"
+       config_foreach handle_https https "$conf_file"
+       config_foreach handle_socks5 socks5 "$conf_file"
 
        procd_open_instance
        procd_set_param command "$PROG" -c "$conf_file" -f -d $loglevel
index 0b5d4dcda1ecd5a6fb2a3caa5a860cf61e7dcbf9..f7f6bf14f49e11b131eccf46b8697f41492c3e35 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xray-core
-PKG_VERSION:=1.8.11
+PKG_VERSION:=1.8.13
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=d99ee6008c508abbad6bbb242d058b22efb50fb35867d15447a2b4602ab4b283
+PKG_HASH:=9e63fbeb4667c19e286389c370d30e9e904f4421784adcbe6cf4d6e172a2ac29
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MPL-2.0
index b46318513220cf8ef9101c1ac8b8641425ca8f00..2982b60ab53a2228d5f8436d45d69dd6e001e3ca 100644 (file)
@@ -8,21 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=upmpdcli
-PKG_VERSION:=1.8.6
+PKG_VERSION:=1.8.11
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=55e3d27bea5bef4560f319137f1a5c7d08abbba5a9aae90ee3240903fdb8c3e4
+PKG_HASH:=d715120b869382ea701f07baa604c77b7895537e0655e1ed4dfa68d986d6a59f
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=COPYING
 
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
 
 define Package/upmpdcli
   SECTION:=sound
index 0d8f513565a36d280a594da58ef32ad94fc030a7..75eb450375d9f0d3d00224750c80ad5697b1439f 100644 (file)
@@ -9,19 +9,19 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acl
 PKG_VERSION:=2.3.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://git.savannah.nongnu.org/cgit/acl.git/snapshot
-PKG_HASH:=0fc318808c1e91925398cbe41399a33b74dcf788a1c0af4feae8f7a322c6e6fd
-PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@SAVANNAH/acl
+PKG_HASH:=97203a72cae99ab89a067fe2210c1cbf052bc492b479eca7d226d9830883b0bd
 
+PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
 PKG_LICENSE:=LGPL-2.1 GPL-2.0
 PKG_LICENSE_FILES:=doc/COPYING doc/COPYING.LGPL
 PKG_CPE_ID:=cpe:/a:acl_project:acl
 
 PKG_INSTALL:=1
-PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/utils/acl/patches/100-no-gettext_configure.patch b/utils/acl/patches/100-no-gettext_configure.patch
deleted file mode 100644 (file)
index c818b39..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -34,12 +34,6 @@ AC_SYS_LARGEFILE
- AM_PROG_AR
- LT_INIT
--dnl Minimal version supporting AM_GNU_GETTEXT_REQUIRE_VERSION.
--AM_GNU_GETTEXT_VERSION([0.19.6])
--dnl Require at least the following version, but use the latest available one.
--AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])
--AM_GNU_GETTEXT([external])
--
- AC_ARG_ENABLE([debug],
-       [AS_HELP_STRING([--enable-debug], [Enable extra debugging])])
- AS_IF([test "x$enable_debug" = "xyes"],
-@@ -69,6 +63,5 @@ AC_CONFIG_COMMANDS([include/sys],
- AC_CONFIG_FILES([
-       libacl.pc
-       Makefile
--      po/Makefile.in
- ])
- AC_OUTPUT
diff --git a/utils/acl/patches/101-no-gettext_autogen.patch b/utils/acl/patches/101-no-gettext_autogen.patch
deleted file mode 100644 (file)
index a800096..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -1,6 +1,4 @@
- #!/bin/sh -ex
--po/update-potfiles
--autopoint --force
- am_libdir=$(automake --print-libdir)
- cp "${am_libdir}/INSTALL" doc/
- exec autoreconf -f -i
diff --git a/utils/acl/patches/102-no-gettext_Makefile.patch b/utils/acl/patches/102-no-gettext_Makefile.patch
deleted file mode 100644 (file)
index 4d562b9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -3,8 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
- EXTRA_DIST = \
-       exports
--SUBDIRS = po
--
- AM_CPPFLAGS = \
-       -I$(top_builddir)/include \
-       -I$(top_srcdir)/include \
index b4f1d197aef874d73e24fe8bd1e06c3005234ce3..710c5e91d40eaf4ecd9f5563f48764dd5858868a 100644 (file)
@@ -8,14 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=at
-PKG_VERSION:=3.2.2
+PKG_VERSION:=3.2.5
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://salsa.debian.org/debian/at.git
-PKG_SOURCE_VERSION:=release/3.2.2
-PKG_MIRROR_HASH=93f7f99c4242dbc5218907981e32f74ddb5e09c5b7922617c8d84c16920f488d
+PKG_SOURCE:=at_$(PKG_VERSION).orig.tar.gz
+PKG_SOURCE_URL:=http://software.calhariz.com/at
+PKG_HASH:=bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8
 
 PKG_MAINTAINER:=Phil Eichinger <phil@zankapfel.net>
 PKG_LICENSE:=GPL-2.0-or-later GPL-3.0-or-later ISC
@@ -28,7 +26,7 @@ define Package/at
   CATEGORY:=Utilities
   DEPENDS:=+libelf
   TITLE:=Delayed job execution and batch processing
-  URL:=http://packages.debian.org/stable/at
+  URL:=https://salsa.debian.org/debian/at
 endef
 
 define Package/at/description
diff --git a/utils/at/patches/100-remove-glibc-assumption.patch b/utils/at/patches/100-remove-glibc-assumption.patch
deleted file mode 100644 (file)
index f8a5e59..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 16:35:30 -0700
-Subject: [PATCH] remove glibc assumption
-
-glibc time.h header has an undocumented __isleap macro
-that we are using anf musl is missing it.
-Since it is undocumented & does not appear
-on any other libc, stop using it and just define the macro in
-locally  instead.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[patch from: http://patchwork.openembedded.org/patch/91893/ ]
-Signed-off-by: Phil Eichinger <phil@zankapfel.net>
----
- parsetime.y | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
---- a/parsetime.y
-+++ b/parsetime.y
-@@ -14,6 +14,9 @@
-     ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
- #endif
-+#define is_leap_year(y) \
-+    ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
-+
- struct tm exectm;
- static int isgmt;
- static char *tz = NULL;
-@@ -230,8 +233,8 @@ date            : month_name day_number
-                                mnum == 12) && dnum > 31)
-                           || ((mnum ==  4 || mnum ==  6 || mnum ==  9 ||
-                                mnum == 11) && dnum > 30)
--                          || (mnum ==  2 && dnum > 29 &&  __isleap(ynum+1900))
--                          || (mnum ==  2 && dnum > 28 && !__isleap(ynum+1900))
-+                          || (mnum ==  2 && dnum > 29 &&  is_leap_year(ynum+1900))
-+                          || (mnum ==  2 && dnum > 28 && !is_leap_year(ynum+1900))
-                          )
-                       {
-                           yyerror("Error in day of month");
-@@ -274,8 +277,8 @@ date            : month_name day_number
-                                mnum == 12) && dnum > 31)
-                           || ((mnum ==  4 || mnum ==  6 || mnum ==  9 ||
-                                mnum == 11) && dnum > 30)
--                          || (mnum ==  2 && dnum > 29 &&  __isleap(ynum+1900))
--                          || (mnum ==  2 && dnum > 28 && !__isleap(ynum+1900))
-+                          || (mnum ==  2 && dnum > 29 &&  is_leap_year(ynum+1900))
-+                          || (mnum ==  2 && dnum > 28 && !is_leap_year(ynum+1900))
-                          )
-                       {
-                           yyerror("Error in day of month");
diff --git a/utils/at/patches/110-getloadavg.patch b/utils/at/patches/110-getloadavg.patch
deleted file mode 100644 (file)
index 0faef97..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/getloadavg.c
-+++ b/getloadavg.c
-@@ -69,8 +69,9 @@ Boston, MA  02110-1301  USA */
- #include <config.h>
- #endif
--#include "lisp.h"
--#include "sysfile.h" /* for encapsulated open, close, read, write */
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
- #ifndef HAVE_GETLOADAVG
index bf9b59337f11b77371a4300676e7b2f2bfe3d1eb..618cf6701261b605918f582a257b06fd41f50fb9 100644 (file)
@@ -9,16 +9,15 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=attr
 PKG_VERSION:=2.5.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://git.savannah.nongnu.org/cgit/attr.git/snapshot
-PKG_HASH:=b266cf45e2256b4d85a86554b42c0218abce40356f5c3026f88e15dcf73df775
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@SAVANNAH/attr
+PKG_HASH:=f2e97b0ab7ce293681ab701915766190d607a1dba7fae8a718138150b700a70b
 
 PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
 PKG_CPE_ID:=cpe:/a:attr_project:attr
 
-PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
diff --git a/utils/attr/patches/100-no-gettext_configure.patch b/utils/attr/patches/100-no-gettext_configure.patch
deleted file mode 100644 (file)
index 716f86e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -37,9 +37,6 @@ AC_SYS_LARGEFILE
- AM_PROG_AR
- LT_INIT
--AM_GNU_GETTEXT_VERSION([0.18.2])
--AM_GNU_GETTEXT([external])
--
- AC_ARG_ENABLE([debug],
-       [AS_HELP_STRING([--enable-debug], [Enable extra debugging])])
- AS_IF([test "x$enable_debug" = "xyes"],
-@@ -65,6 +62,5 @@ AC_CONFIG_COMMANDS([include/attr],
- AC_CONFIG_FILES([
-       libattr.pc
-       Makefile
--      po/Makefile.in
- ])
- AC_OUTPUT
diff --git a/utils/attr/patches/101-no-gettext_autogen.patch b/utils/attr/patches/101-no-gettext_autogen.patch
deleted file mode 100644 (file)
index a800096..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -1,6 +1,4 @@
- #!/bin/sh -ex
--po/update-potfiles
--autopoint --force
- am_libdir=$(automake --print-libdir)
- cp "${am_libdir}/INSTALL" doc/
- exec autoreconf -f -i
diff --git a/utils/attr/patches/102-no-gettext_Makefile.patch b/utils/attr/patches/102-no-gettext_Makefile.patch
deleted file mode 100644 (file)
index 4d562b9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -3,8 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
- EXTRA_DIST = \
-       exports
--SUBDIRS = po
--
- AM_CPPFLAGS = \
-       -I$(top_builddir)/include \
-       -I$(top_srcdir)/include \
index 23fbc2620cb1b3a0491b8192e6a4c083f9472d33..dad70d90d5d8de77bf5f2d57ce0c60f90bf5ebc6 100644 (file)
@@ -8,19 +8,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=augeas
-PKG_VERSION:=1.12.0
-PKG_RELEASE:=3
+PKG_VERSION:=1.14.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://download.augeas.net/
-PKG_HASH:=321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87
+PKG_SOURCE_URL:=https://github.com/hercules-team/augeas/releases/download/release-$(PKG_VERSION)
+PKG_HASH:=368bfdd782e4b9c7163baadd621359c82b162734864b667051ff6bcb57b9edff
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:augeas:augeas
-PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
index 84d8b78bbbc6a9ebc364f60e03bd93bc5d959ee2..b45909b2a21a8b7191c6f63dae8eda95ce180c57 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=avrdude
 PKG_VERSION:=7.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/avrdudes/avrdude
diff --git a/utils/avrdude/patches/0001-Add-support-for-libgpiod-v2-API.patch b/utils/avrdude/patches/0001-Add-support-for-libgpiod-v2-API.patch
new file mode 100644 (file)
index 0000000..cc050e7
--- /dev/null
@@ -0,0 +1,349 @@
+From 315df4ba7670a1e5190373155196a40d5a3fd54b Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Wed, 27 Mar 2024 22:33:21 +0100
+Subject: [PATCH] Add support for libgpiod v2+ API
+
+libgpiod in version 2 or above introduced an API change which results
+in compile error with the current code.
+
+This commit adds some glue magic for the newer versions and
+tries to detect the used libgpiod version based on the information
+available in the pkg-config files.
+
+At the moment, this eliminates the possibility to statically link
+against this library.
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+(cherry picked from commit ea701bc2f59c465f48dc290e8e6cf6d14416205f)
+Upstream-Status: Accepted - will be part of next release
+---
+ CMakeLists.txt        |  39 ++++++++---
+ src/Makefile.am       |   4 +-
+ src/cmake_config.h.in |   3 +
+ src/configure.ac      |  31 +++++++++
+ src/linuxgpio.c       | 156 ++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 222 insertions(+), 11 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -126,7 +126,6 @@ if(USE_STATIC_LIBS)
+     set(PREFERRED_LIBFTDI1 libftdi1.a ftdi1)
+     set(PREFERRED_LIBREADLINE libreadline.a readline)
+     set(PREFERRED_LIBSERIALPORT libserialport.a serialport)
+-    set(PREFERRED_LIBGPIOD libgpiod.a gpiod)
+ else()
+     set(PREFERRED_LIBELF elf)
+     set(PREFERRED_LIBUSB usb)
+@@ -136,7 +135,6 @@ else()
+     set(PREFERRED_LIBFTDI1 ftdi1)
+     set(PREFERRED_LIBREADLINE readline)
+     set(PREFERRED_LIBSERIALPORT serialport)
+-    set(PREFERRED_LIBGPIOD gpiod)
+ endif()
+ # -------------------------------------
+@@ -237,12 +235,32 @@ if(HAVE_LIBSERIALPORT)
+ endif()
+ # -------------------------------------
+-# Find libgpiod, if needed
++# Find libgpiod using pkg-config, if needed
+ if(HAVE_LINUXGPIO)
+-    find_library(HAVE_LIBGPIOD NAMES ${PREFERRED_LIBGPIOD})
+-    if(HAVE_LIBGPIOD)
+-        set(LIB_LIBGPIOD ${HAVE_LIBGPIOD})
+-        set(CMAKE_REQUIRED_LIBRARIES ${LIB_LIBGPIOD})
++    # defaults/fallbacks
++    set(HAVE_LIBGPIOD 0)
++    set(HAVE_LIBGPIOD_V2 0)
++
++    find_package(PkgConfig)
++    if(PKG_CONFIG_FOUND)
++        # check whether we have version >= 2.0
++        pkg_check_modules(LIBGPIODV2 libgpiod>=2.0)
++        if(LIBGPIODV2_FOUND)
++            set(HAVE_LIBGPIOD 1)
++            set(HAVE_LIBGPIOD_V2 1)
++            set(CMAKE_REQUIRED_LIBRARIES ${LIBGPIODV2_LIBRARIES})
++            set(LIB_LIBGPIOD ${LIBGPIODV2_LINK_LIBRARIES})
++        else()
++            # check whether we have at least an older version
++            pkg_check_modules(LIBGPIOD libgpiod)
++            if(LIBGPIOD_FOUND)
++                set(HAVE_LIBGPIOD 1)
++                set(CMAKE_REQUIRED_LIBRARIES ${LIBGPIOD_LIBRARIES})
++                set(LIB_LIBGPIOD ${LIBGPIOD_LINK_LIBRARIES})
++            endif()
++        endif()
++    else()
++        message(WARNING "For using libgpiod, pkg-config would be required which is not available.")
+     endif()
+ endif()
+@@ -339,7 +357,8 @@ if (DEBUG_CMAKE)
+     message(STATUS "HAVE_LIBUSB_1_0_LIBUSB_H: ${HAVE_LIBUSB_1_0_LIBUSB_H}")
+     message(STATUS "HAVE_HIDAPI_HIDAPI_H: ${HAVE_HIDAPI_HIDAPI_H}")
+     message(STATUS "LIBUSB_COMPAT_DIR: ${LIBUSB_COMPAT_DIR}")
+-    message(STATUS "HAVE_LIBGPIOD: ${HAVE_LIBGPIOD}")
++    message(STATUS "LIBGPIODV2_FOUND: ${LIBGPIODV2_FOUND}")
++    message(STATUS "LIBGPIOD_FOUND: ${LIBGPIOD_FOUND}")
+     message(STATUS "----------------------")
+ endif()
+@@ -409,7 +428,9 @@ endif()
+ if(HAVE_LINUXGPIO)
+     message(STATUS "ENABLED    linuxgpio")
+-    if (HAVE_LIBGPIOD)
++    if (LIBGPIODV2_FOUND)
++        message(STATUS "DO HAVE    libgpiod (v2.x)")
++    elseif(LIBGPIOD_FOUND)
+         message(STATUS "DO HAVE    libgpiod")
+     else()
+         message(STATUS "DON'T HAVE libgpiod")
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -62,10 +62,10 @@ libavrdude_la_CPPFLAGS = $(libavrdude_a_
+ avrdude_CFLAGS   = @ENABLE_WARNINGS@
+-libavrdude_a_CFLAGS   = @ENABLE_WARNINGS@
++libavrdude_a_CFLAGS   = @ENABLE_WARNINGS@ $(LIBGPIOD_CFLAGS)
+ libavrdude_la_CFLAGS  = $(libavrdude_a_CFLAGS)
+-avrdude_LDADD  = $(top_builddir)/$(noinst_LIBRARIES) @LIBUSB_1_0@ @LIBHIDAPI@ @LIBUSB@ @LIBFTDI1@ @LIBFTDI@ @LIBHID@ @LIBELF@ @LIBPTHREAD@ @LIBSERIALPORT@ -lm
++avrdude_LDADD  = $(top_builddir)/$(noinst_LIBRARIES) @LIBUSB_1_0@ @LIBHIDAPI@ @LIBUSB@ @LIBFTDI1@ @LIBFTDI@ @LIBHID@ @LIBELF@ @LIBPTHREAD@ @LIBSERIALPORT@ $(LIBGPIOD_LIBS) -lm
+ bin_PROGRAMS = avrdude
+--- a/src/cmake_config.h.in
++++ b/src/cmake_config.h.in
+@@ -30,6 +30,9 @@
+ /* Let linuxgpio know if libgpiod is available. */
+ #cmakedefine HAVE_LIBGPIOD
++/* Let linuxgpio know whether v2 of libgpiod is available. */
++#cmakedefine HAVE_LIBGPIOD_V2
++
+ /* Linux SPI support enabled */
+ #cmakedefine HAVE_LINUXSPI 1
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -65,6 +65,14 @@ AN_MAKEVAR([AR], [AC_PROG_AR])
+ AN_PROGRAM([ar], [AC_PROG_AR])
+ AC_DEFUN([AC_PROG_AR], [AC_CHECK_TARGET_TOOL(AR, ar, :)])
+ AC_PROG_AR
++
++# If macro PKG_PROG_PKG_CONFIG is not available, Autoconf generates a misleading error message,
++# so check for existence first, and otherwise provide helpful advice.
++m4_ifndef([PKG_PROG_PKG_CONFIG], [m4_fatal(m4_normalize([
++  Macro PKG_PROG_PKG_CONFIG is not available.
++  It is usually defined in file pkg.m4 provided by package pkg-config.]))])
++PKG_PROG_PKG_CONFIG([0.23])
++
+ AH_TEMPLATE([HAVE_YYLEX_DESTROY],
+             [Define if lex/flex has yylex_destroy])
+ # flex should have this
+@@ -465,6 +473,22 @@ fi
+ if test "$enabled_linuxgpio" = "yes"; then
+       AC_DEFINE(HAVE_LINUXGPIO, 1, [Linux sysfs GPIO support enabled])
+       confsubst="$confsubst -e /^@HAVE_LINUXGPIO_/d"
++
++      PKG_CHECK_MODULES([LIBGPIOD], [libgpiod >= 2.0], [
++              have_libgpiod=yes
++              have_libgpiodv2=yes
++              AC_DEFINE([HAVE_LIBGPIOD], [1], [Linux libgpiod available])
++              AC_DEFINE([HAVE_LIBGPIOD_V2], [1], [Linux libgpiod (v2.x) available])
++      ], [
++              PKG_CHECK_MODULES([LIBGPIOD], [libgpiod], [
++                      have_libgpiod=yes
++                      have_libgpiodv2=no
++                      AC_DEFINE([HAVE_LIBGPIOD], [1], [Linux libgpiod available])
++              ], [
++                      have_libgpiod=no
++                      have_libgpiodv2=no
++              ])
++      ])
+ else
+       confsubst="$confsubst -e /^@HAVE_LINUXGPIO_BEGIN@/,/^@HAVE_LINUXGPIO_END@/d"
+ fi
+@@ -678,6 +702,13 @@ fi
+ if test x$enabled_linuxgpio = xyes; then
+    echo "ENABLED    linuxgpio"
++   if test "x$have_libgpiodv2" = xyes; then
++       echo "DO HAVE    libgpiod (v2.x)"
++   elif test "x$have_libgpiod" = xyes; then
++       echo "DO HAVE    libgpiod"
++   else
++       echo "DON'T HAVE libgpiod"
++   fi
+ else
+    echo "DISABLED   linuxgpio"
+ fi
+--- a/src/linuxgpio.c
++++ b/src/linuxgpio.c
+@@ -337,6 +337,162 @@ static void linuxgpio_sysfs_close(PROGRA
+ #ifdef HAVE_LIBGPIOD
++#ifdef HAVE_LIBGPIOD_V2
++
++struct gpiod_line {
++  struct gpiod_chip *chip;
++  struct gpiod_line_request *line_request;
++  unsigned int gpio_num;
++};
++
++struct gpiod_line *gpiod_line_get(const char *port, int gpio_num) {
++  struct gpiod_line *rv;
++  char abs_port[32];
++
++  if (snprintf(abs_port, sizeof(abs_port), "/dev/%s", port) >= (int)sizeof(abs_port))
++    return NULL;
++
++  rv = calloc(sizeof(struct gpiod_line), 1);
++  if (!rv)
++    return NULL;
++
++  rv->gpio_num = gpio_num;
++
++  rv->chip = gpiod_chip_open(abs_port);
++  if (!rv->chip) {
++    free(rv);
++    return NULL;
++  }
++
++  return rv;
++}
++
++int gpiod_line_request_input(struct gpiod_line *gpio_line, const char *consumer) {
++  struct gpiod_line_settings *line_settings = NULL;
++  struct gpiod_line_config *line_config = NULL;
++  struct gpiod_request_config *req_cfg = NULL;
++  int retval = -1;
++
++  line_settings = gpiod_line_settings_new();
++  line_config = gpiod_line_config_new();
++  req_cfg = gpiod_request_config_new();
++
++  if (!line_settings || !line_config || !req_cfg)
++    goto err_out;
++
++  retval = gpiod_line_settings_set_direction(line_settings, GPIOD_LINE_DIRECTION_INPUT);
++  if (retval != 0)
++    goto err_out;
++
++  retval = gpiod_line_config_add_line_settings(line_config, &gpio_line->gpio_num, 1, line_settings);
++  if (retval != 0)
++    goto err_out;
++
++  gpiod_request_config_set_consumer(req_cfg, consumer);
++
++  gpio_line->line_request = gpiod_chip_request_lines(gpio_line->chip, req_cfg, line_config);
++  if (!gpio_line->line_request)
++    goto err_out;
++
++  retval = 0;
++
++err_out:
++  gpiod_line_settings_free(line_settings);
++  gpiod_line_config_free(line_config);
++  gpiod_request_config_free(req_cfg);
++  return retval;
++}
++
++int gpiod_line_request_output(struct gpiod_line *gpio_line, const char *consumer, int value) {
++  struct gpiod_line_settings *line_settings = NULL;
++  struct gpiod_line_config *line_config = NULL;
++  struct gpiod_request_config *req_cfg = NULL;
++  int retval = -1;
++
++  line_settings = gpiod_line_settings_new();
++  line_config = gpiod_line_config_new();
++  req_cfg = gpiod_request_config_new();
++
++  if (!line_settings || !line_config || !req_cfg)
++    goto err_out;
++
++  retval = gpiod_line_settings_set_direction(line_settings, GPIOD_LINE_DIRECTION_OUTPUT);
++  if (retval != 0)
++    goto err_out;
++
++  retval = gpiod_line_settings_set_output_value(line_settings, value ? GPIOD_LINE_VALUE_ACTIVE : GPIOD_LINE_VALUE_INACTIVE);
++  if (retval != 0)
++    goto err_out;
++
++  retval = gpiod_line_config_add_line_settings(line_config, &gpio_line->gpio_num, 1, line_settings);
++  if (retval != 0)
++    goto err_out;
++
++  gpiod_request_config_set_consumer(req_cfg, consumer);
++
++  gpio_line->line_request = gpiod_chip_request_lines(gpio_line->chip, req_cfg, line_config);
++  if (!gpio_line->line_request)
++    goto err_out;
++
++  retval = 0;
++
++err_out:
++  gpiod_line_settings_free(line_settings);
++  gpiod_line_config_free(line_config);
++  gpiod_request_config_free(req_cfg);
++  return retval;
++}
++
++int gpiod_line_set_direction_input(struct gpiod_line *gpio_line) {
++  struct gpiod_line_settings *line_settings = NULL;
++  struct gpiod_line_config *line_config = NULL;
++  int retval = -1;
++
++  line_settings = gpiod_line_settings_new();
++  line_config = gpiod_line_config_new();
++
++  if (!line_settings || !line_config)
++    goto err_out;
++
++  retval = gpiod_line_settings_set_direction(line_settings, GPIOD_LINE_DIRECTION_INPUT);
++  if (retval != 0)
++    goto err_out;
++
++  retval = gpiod_line_config_add_line_settings(line_config, &gpio_line->gpio_num, 1, line_settings);
++  if (retval != 0)
++    goto err_out;
++
++  retval = gpiod_line_request_reconfigure_lines(gpio_line->line_request, line_config);
++
++err_out:
++  gpiod_line_settings_free(line_settings);
++  gpiod_line_config_free(line_config);
++  return retval;
++}
++
++/* this helper is not thread safe, but we are not using threads... */
++char *gpiod_line_name(struct gpiod_line *gpio_line) {
++  static char buffer[16];
++  snprintf(buffer, sizeof(buffer), "%u", gpio_line->gpio_num);
++  return buffer;
++}
++
++void gpiod_line_release(struct gpiod_line *gpio_line) {
++  gpiod_line_request_release(gpio_line->line_request);
++  gpiod_chip_close(gpio_line->chip);
++  free(gpio_line);
++}
++
++static inline int gpiod_line_set_value(struct gpiod_line *gpio_line, int value) {
++  return gpiod_line_request_set_value(gpio_line->line_request, gpio_line->gpio_num, value);
++}
++
++static inline int gpiod_line_get_value(struct gpiod_line *gpio_line) {
++  return gpiod_line_request_get_value(gpio_line->line_request, gpio_line->gpio_num);
++}
++
++#endif
++
+ struct gpiod_line * linuxgpio_libgpiod_lines[N_PINS];
+ // Try to tell if libgpiod is going to work.
index 76a22cbe98b7692f5940038d6e5b525e03abb71e..c5660ca389267ff4eb2c12eedc1c5365c91f3ef9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=collectd
 PKG_VERSION:=5.12.0
-PKG_RELEASE:=50
+PKG_RELEASE:=52
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://collectd.org/files/ \
@@ -26,6 +26,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_FLAGS:=no-mips16
+PKG_BUILD_DEPENDS:=PACKAGE_collectd-mod-write-prometheus:protobuf-c/host
 
 PKG_CONFIG_DEPENDS:= \
        PACKAGE_COLLECTD_ENCRYPTED_NETWORK \
@@ -121,7 +122,6 @@ COLLECTD_PLUGINS_DISABLED:= \
        write_kafka \
        write_log \
        write_mongodb \
-       write_prometheus \
        write_redis \
        write_riemann \
        write_sensu \
@@ -209,7 +209,8 @@ COLLECTD_PLUGINS_SELECTED:= \
        vmem \
        wireless \
        write_graphite \
-       write_http
+       write_http \
+       write_prometheus
 
 PKG_CONFIG_DEPENDS:= \
        $(patsubst %,CONFIG_PACKAGE_collectd-mod-%,$(subst _,-,$(COLLECTD_PLUGINS_SELECTED))) \
@@ -533,6 +534,7 @@ $(eval $(call BuildPlugin,vmem,virtual memory usage input,vmem,))
 $(eval $(call BuildPlugin,wireless,wireless status input,wireless,))
 $(eval $(call BuildPlugin,write-graphite,Carbon/Graphite output,write_graphite,+PACKAGE_collectd-mod-write-graphite:libpthread))
 $(eval $(call BuildPlugin,write-http,HTTP POST output,write_http,+PACKAGE_collectd-mod-write-http:libcurl))
+$(eval $(call BuildPlugin,write-prometheus,Prometheus output,write_prometheus,+PACKAGE_collectd-mod-write-prometheus:libprotobuf-c +PACKAGE_collectd-mod-write-prometheus:libmicrohttpd))
 
 $(eval $(call BuildScriptPlugin,sqm,SQM/qdisc collection,sqm_collectd,+PACKAGE_collectd-mod-sqm:collectd-mod-exec))
 $(eval $(call BuildScriptLuaPlugin,ltq-dsl,Lantiq DSL collection,dsl,@ltq-dsl-app +PACKAGE_collectd-mod-ltq-dsl:collectd-mod-lua +libubus-lua))
index 2146a668659d08630604bf022398bfecee4c4463..50c329bb1159c1a5370ca3524039b6e6bf9bd9ba 100644 (file)
@@ -466,7 +466,7 @@ process_plugins() {
 
        local enable keys key option value
 
-       config_get enable "$cfg" enable 0
+       config_get_bool enable "$cfg" enable 0
        [ "$enable" = "1" ] || return 0
 
        [ -f "/usr/lib/collectd/$cfg.so" ] || {
index d14dc8fe89d1159faab59b9fde5be204f634e427..2249b097064e32ec266ad355d67e75a0b9bb3bba 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=compose
-PKG_VERSION:=2.27.0
+PKG_VERSION:=2.27.1
 PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=29b2232d1609dff03db74188a7944c85ba8b612f47a7e39938a43db8fb7d7067
+PKG_HASH:=5abf8de3a413894c2ed061812d68c8d8eb4e255b25bf38e2ac58d3ba0546a218
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 
index dcd00a956d10af1596e185b69cbb99fba4e32c66..928c4a06e452594fc1a1381a6435701eb078c04a 100644 (file)
@@ -119,7 +119,7 @@ SCONS_OPTIONS += \
        implicit_link=no \
        chrpath=no \
        manbuild=no \
-       sysroot="$(TOOLCHAIN_DIR)" \
+       sysroot="$(TOOLCHAIN_ROOT_DIR)" \
        target="$(TARGET_CROSS:-=)"
 
 define Build/InstallDev
index 688764e43ccda647dece2c0862e8f5e24082b4f2..2295a0b39cdb87dc5dc3b2fa4a2b8122f28c768b 100644 (file)
@@ -44,14 +44,14 @@ CONFIGURE_ARGS += \
        --disable-manpages
 
 define Build/Compile
-       +$(MAKE_VARS) EFI_CFLAGS="-I$(TOOLCHAIN_DIR)/include $(TARGET_CFLAGS)" \
+       +$(MAKE_VARS) EFI_CFLAGS="$(patsubst %,-I%,$(TOOLCHAIN_INC_DIRS)) $(TARGET_CFLAGS)" \
        $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
                $(MAKE_FLAGS) \
                $(1);
 endef
 
 define Build/Install
-       $(MAKE_VARS) EFI_CFLAGS="-I$(TOOLCHAIN_DIR)/include $(TARGET_CFLAGS)" \
+       $(MAKE_VARS) EFI_CFLAGS="$(patsubst %,-I%,$(TOOLCHAIN_INC_DIRS)) $(TARGET_CFLAGS)" \
        $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
                $(MAKE_INSTALL_FLAGS) install
 endef
index 00d4310598a4e240649a8ee7430a2ba08cd783e6..05744b6eeba668bd8eb1c16e0f80422639a69a95 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hwdata
-PKG_VERSION:=0.381
+PKG_VERSION:=0.383
 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:=53435c73964ddc24ac53fa86e29e8b9244ca1cab0578ffdd82fd280f35863004
+PKG_HASH:=97f328f85e51ea78ad14620705dba269cbbb47911e56bdd8b35360e6cdccc00c
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later  XFree86-1.0
index 018af96bb6abbcb0e6d3f904a19a97f9f87131f1..a14a4025d9310284036a0e628a98c96a0c463d2e 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=klish
 PKG_VERSION:=2.2.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://libcode.org/attachments/download/82
index 822736259d58fb11f1bda00856a9c6942e44c41a..e62cb2252653ae450fb88ea937f4984fb4d46a6a 100644 (file)
@@ -1,17 +1,20 @@
 --- a/clish/shell/shell_execute.c
 +++ b/clish/shell/shell_execute.c
-@@ -19,12 +19,14 @@
- #include <signal.h>
+@@ -20,7 +20,7 @@
  #include <fcntl.h>
  
-+#if 0
  /* Empty signal handler to ignore signal but don't use SIG_IGN. */
- static void sigignore(int signo)
+-static void sigignore(int signo)
++static void sigignore2(int signo)
  {
        signo = signo; /* Happy compiler */
        return;
- }
-+#endif
- /*-------------------------------------------------------- */
- static int clish_shell_lock(const char *lock_path)
+@@ -361,7 +361,7 @@ int clish_shell_exec_action(clish_contex
+        */
+       sa.sa_flags = 0;
+       sigemptyset(&sa.sa_mask);
+-      sa.sa_handler = sigignore; /* Empty signal handler */
++      sa.sa_handler = sigignore2; /* Empty signal handler */
+       sigaction(SIGINT, &sa, &old_sigint);
+       sigaction(SIGQUIT, &sa, &old_sigquit);
+       sigaction(SIGHUP, &sa, &old_sighup);
index 5c8e18b819b2d5e4223de28a786d6bbfe4f0e39c..056700311f287334ac25324956939716f4abd080 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mg
 PKG_VERSION:=7.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ibara/mg/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
diff --git a/utils/mg/patches/902-fix_for_gcc14.patch b/utils/mg/patches/902-fix_for_gcc14.patch
new file mode 100644 (file)
index 0000000..0f2b6ee
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/main.c
++++ b/main.c
+@@ -18,6 +18,7 @@
+ #include <unistd.h>
+ #if defined(__linux__) || defined(__CYGWIN__)
+ #include <pty.h>
++#include <utmp.h>
+ #elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
+ #include <util.h>
+ #else
index a2e77240786c21f05169d1c2a241cda4925fb2a5..3a44e56ca03b1ce598e4b1b8dd56258b32ec1e1f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openocd
 PKG_SOURCE_VERSION:=v0.12.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://git.code.sf.net/p/openocd/code
diff --git a/utils/openocd/patches/0001-jtag-linuxgpiod-adapt-for-libgpiod-v2-API.patch b/utils/openocd/patches/0001-jtag-linuxgpiod-adapt-for-libgpiod-v2-API.patch
new file mode 100644 (file)
index 0000000..4890531
--- /dev/null
@@ -0,0 +1,688 @@
+From 1de35c0b76ea138895370f65849831c3c7d397ff Mon Sep 17 00:00:00 2001
+From: Antonio Borneo <borneo.antonio@gmail.com>
+Date: Sun, 24 Mar 2024 15:53:33 +0100
+Subject: [PATCH] jtag: linuxgpiod: adapt for libgpiod v2 API
+
+Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+---
+ configure.ac                  |  15 +-
+ src/jtag/drivers/linuxgpiod.c | 487 ++++++++++++++++++++++++++++------
+ 2 files changed, 419 insertions(+), 83 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -659,7 +659,20 @@ PKG_CHECK_MODULES([LIBFTDI], [libftdi1],
+       PKG_CHECK_MODULES([LIBFTDI], [libftdi], [use_libftdi=yes], [use_libftdi=no])
+ ])
+-PKG_CHECK_MODULES([LIBGPIOD], [libgpiod], [use_libgpiod=yes], [use_libgpiod=no])
++PKG_CHECK_MODULES([LIBGPIOD], [libgpiod >= 2.0] , [
++      use_libgpiod=yes
++      AC_DEFINE([HAVE_LIBGPIOD_V1], [0], [define if libgpiod is version v1.x])
++], [
++      PKG_CHECK_MODULES([LIBGPIOD], [libgpiod], [
++              use_libgpiod=yes
++              AC_DEFINE([HAVE_LIBGPIOD_V1], [1], [define if libgpiod is version v1.x])
++
++              PKG_CHECK_EXISTS([libgpiod >= 1.5],
++                      [AC_DEFINE([HAVE_LIBGPIOD1_FLAGS_BIAS], [1], [define if libgpiod v1 has line request flags bias])])
++      ], [
++              use_libgpiod=no
++      ])
++])
+ PKG_CHECK_MODULES([LIBJAYLINK], [libjaylink >= 0.2],
+       [use_libjaylink=yes], [use_libjaylink=no])
+--- a/src/jtag/drivers/linuxgpiod.c
++++ b/src/jtag/drivers/linuxgpiod.c
+@@ -19,8 +19,267 @@
+ #include <transport/transport.h>
+ #include "bitbang.h"
++/*
++ * In case of libgpiod v1, use as much as possible API from v2 plus
++ * the dummy wrappers below.
++ */
++#if HAVE_LIBGPIOD_V1
++
++#define GPIOD_LINE_DIRECTION_INPUT      GPIOD_LINE_REQUEST_DIRECTION_INPUT
++#define GPIOD_LINE_DIRECTION_OUTPUT     GPIOD_LINE_REQUEST_DIRECTION_OUTPUT
++
++#define GPIOD_LINE_VALUE_INACTIVE       0
++#define GPIOD_LINE_VALUE_ACTIVE         1
++
++#define GPIOD_LINE_DRIVE_PUSH_PULL      0
++#define GPIOD_LINE_DRIVE_OPEN_DRAIN     GPIOD_LINE_REQUEST_FLAG_OPEN_DRAIN
++#define GPIOD_LINE_DRIVE_OPEN_SOURCE    GPIOD_LINE_REQUEST_FLAG_OPEN_SOURCE
++
++#define GPIOD_LINE_BIAS_DISABLED        GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE
++#define GPIOD_LINE_BIAS_PULL_UP         GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP
++#define GPIOD_LINE_BIAS_PULL_DOWN       GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN
++
++struct gpiod_line_settings {
++      int direction;
++      int value;
++      int drive;
++      int bias;
++      int active_low;
++};
++
++static struct gpiod_line_settings *gpiod_line_settings_new(void)
++{
++      struct gpiod_line_settings *rv;
++
++      rv = calloc(sizeof(struct gpiod_line_settings), 1);
++      if (!rv)
++              return NULL;
++
++      return rv;
++}
++
++static void gpiod_line_settings_free(struct gpiod_line_settings *settings)
++{
++      free(settings);
++}
++
++static int gpiod_line_settings_set_direction(struct gpiod_line_settings *settings,
++      int direction)
++{
++      settings->direction = direction;
++
++      return 0;
++}
++
++static int gpiod_line_settings_set_output_value(struct gpiod_line_settings *settings,
++      int value)
++{
++      settings->value = value;
++
++      return 0;
++}
++
++static int gpiod_line_settings_set_drive(struct gpiod_line_settings *settings, int drive)
++{
++      settings->drive = drive;
++
++      return 0;
++}
++
++static void gpiod_line_settings_set_active_low(struct gpiod_line_settings *settings,
++      bool active_low)
++{
++      if (active_low)
++              settings->active_low = GPIOD_LINE_REQUEST_FLAG_ACTIVE_LOW;
++}
++
++#ifdef HAVE_LIBGPIOD1_FLAGS_BIAS
++
++static int gpiod_line_settings_set_bias(struct gpiod_line_settings *settings, int bias)
++{
++      settings->bias = bias;
++
++      return 0;
++}
++
++#else /* HAVE_LIBGPIOD1_FLAGS_BIAS */
++
++static int gpiod_line_settings_set_bias(struct gpiod_line_settings *settings, int bias)
++{
++      if (bias == GPIOD_LINE_BIAS_DISABLED)
++              return 0;
++
++      LOG_WARNING("linuxgpiod: ignoring request for pull-%s: not supported by libgpiod v%s",
++                              (bias == GPIOD_LINE_BIAS_PULL_UP) ? "up" : "down",
++                              gpiod_version_string());
++
++      return 0;
++}
++
++#endif /* HAVE_LIBGPIOD1_FLAGS_BIAS */
++
++struct gpiod_line_config {
++      unsigned int gpio_num;
++      struct gpiod_line_settings *line_settings;
++};
++
++static struct gpiod_line_config *gpiod_line_config_new(void)
++{
++      struct gpiod_line_config *rv;
++
++      rv = calloc(sizeof(struct gpiod_line_config), 1);
++      if (!rv)
++              return NULL;
++
++      return rv;
++}
++
++static void gpiod_line_config_free(struct gpiod_line_config *config)
++{
++      free(config);
++}
++
++static int gpiod_line_config_add_line_settings(struct gpiod_line_config *config,
++      const unsigned int *offsets, size_t num_offsets, struct gpiod_line_settings *settings)
++{
++      assert(num_offsets == 1);
++
++      config->gpio_num = *offsets;
++      config->line_settings = settings;
++
++      return 0;
++}
++
++struct gpiod_request_config {
++      const char *consumer;
++};
++
++static struct gpiod_request_config *gpiod_request_config_new(void)
++{
++      struct gpiod_request_config *rv;
++
++      rv = calloc(sizeof(struct gpiod_request_config), 1);
++      if (!rv)
++              return NULL;
++
++      return rv;
++}
++
++static void gpiod_request_config_free(struct gpiod_request_config *config)
++{
++      free(config);
++}
++
++static void gpiod_request_config_set_consumer(struct gpiod_request_config *config,
++      const char *consumer)
++{
++      config->consumer = consumer;
++}
++
++struct gpiod_line_request {
++      struct gpiod_line *gpio_line;
++      struct gpiod_chip *chip;
++      struct gpiod_request_config *req_cfg;
++      struct gpiod_line_config *line_cfg;
++};
++
++static struct gpiod_line_request *gpiod_chip_request_lines(struct gpiod_chip *chip,
++      struct gpiod_request_config *req_cfg, struct gpiod_line_config *line_cfg)
++{
++      struct gpiod_line_request *line_req;
++      int rv, flags = 0;
++
++      assert(req_cfg);
++
++      line_req = calloc(sizeof(struct gpiod_line_request), 1);
++      if (!line_req)
++              return NULL;
++
++      line_req->gpio_line = gpiod_chip_get_line(chip, line_cfg->gpio_num);
++      if (!line_req->gpio_line) {
++              free(line_req);
++              return NULL;
++      }
++
++      /* remember stuff in case we need to reconfigure later */
++      line_req->chip = chip;
++      line_req->req_cfg = req_cfg;
++      line_req->line_cfg = line_cfg;
++
++      flags |= line_cfg->line_settings->drive;
++      flags |= line_cfg->line_settings->bias;
++      flags |= line_cfg->line_settings->active_low;
++
++      struct gpiod_line_request_config config = {
++              .consumer = line_req->req_cfg->consumer,
++              .request_type = line_cfg->line_settings->direction,
++              .flags = flags,
++      };
++
++      rv = gpiod_line_request(line_req->gpio_line, &config, line_cfg->line_settings->value);
++      if (rv < 0) {
++              gpiod_line_release(line_req->gpio_line);
++              free(line_req);
++              return NULL;
++      }
++
++      return line_req;
++}
++
++static int gpiod_line_request_get_value(struct gpiod_line_request *request,
++                                      __attribute__((unused)) unsigned int offset)
++{
++      return gpiod_line_get_value(request->gpio_line);
++}
++
++static int gpiod_line_request_set_value(struct gpiod_line_request *request,
++                                      __attribute__((unused)) unsigned int offset, int value)
++{
++      return gpiod_line_set_value(request->gpio_line, value);
++}
++
++static void gpiod_line_request_release(struct gpiod_line_request *request)
++{
++      gpiod_line_release(request->gpio_line);
++      free(request);
++}
++
++static int gpiod_line_request_reconfigure_lines(struct gpiod_line_request *request,
++                                                                                              struct gpiod_line_config *line_cfg)
++{
++      int rv, flags = 0;
++
++      /* in libgpiod v1 we have to release the line and re-aquire it */
++      gpiod_line_release(request->gpio_line);
++      request->gpio_line = gpiod_chip_get_line(request->chip, request->line_cfg->gpio_num);
++      if (!request->gpio_line)
++              return -1;
++
++      flags |= line_cfg->line_settings->drive;
++      flags |= line_cfg->line_settings->bias;
++      flags |= line_cfg->line_settings->active_low;
++
++      struct gpiod_line_request_config config = {
++              .consumer = request->req_cfg->consumer,
++              .request_type = line_cfg->line_settings->direction,
++              .flags = flags,
++      };
++
++      rv = gpiod_line_request(request->gpio_line, &config, line_cfg->line_settings->value);
++      if (rv < 0)
++              return -1;
++
++      /* remember updated line_cfg */
++      request->line_cfg = line_cfg;
++      return 0;
++}
++
++#endif /* HAVE_LIBGPIOD_V1 */
++
+ static struct gpiod_chip *gpiod_chip[ADAPTER_GPIO_IDX_NUM] = {};
+-static struct gpiod_line *gpiod_line[ADAPTER_GPIO_IDX_NUM] = {};
++static struct gpiod_line_settings *gpiod_line_settings[ADAPTER_GPIO_IDX_NUM] = {};
++static struct gpiod_line_config *gpiod_line_config[ADAPTER_GPIO_IDX_NUM] = {};
++static struct gpiod_line_request *gpiod_line_req[ADAPTER_GPIO_IDX_NUM] = {};
+ static int last_swclk;
+ static int last_swdio;
+@@ -29,6 +288,20 @@ static bool swdio_input;
+ static const struct adapter_gpio_config *adapter_gpio_config;
++/* Helper to get/set a single line */
++static int linuxgpiod_line_get_value(enum adapter_gpio_config_index idx)
++{
++      return gpiod_line_request_get_value(gpiod_line_req[idx],
++                              adapter_gpio_config[idx].gpio_num);
++}
++
++static int linuxgpiod_line_set_value(enum adapter_gpio_config_index idx, int value)
++{
++      return gpiod_line_request_set_value(gpiod_line_req[idx],
++                              adapter_gpio_config[idx].gpio_num,
++                              value);
++}
++
+ /*
+  * Helper function to determine if gpio config is valid
+  *
+@@ -48,7 +321,7 @@ static bb_value_t linuxgpiod_read(void)
+ {
+       int retval;
+-      retval = gpiod_line_get_value(gpiod_line[ADAPTER_GPIO_IDX_TDO]);
++      retval = linuxgpiod_line_get_value(ADAPTER_GPIO_IDX_TDO);
+       if (retval < 0) {
+               LOG_WARNING("reading tdo failed");
+               return 0;
+@@ -81,20 +354,20 @@ static int linuxgpiod_write(int tck, int
+       }
+       if (tdi != last_tdi) {
+-              retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_TDI], tdi);
++              retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_TDI, tdi);
+               if (retval < 0)
+                       LOG_WARNING("writing tdi failed");
+       }
+       if (tms != last_tms) {
+-              retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_TMS], tms);
++              retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_TMS, tms);
+               if (retval < 0)
+                       LOG_WARNING("writing tms failed");
+       }
+       /* write clk last */
+       if (tck != last_tck) {
+-              retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_TCK], tck);
++              retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_TCK, tck);
+               if (retval < 0)
+                       LOG_WARNING("writing tck failed");
+       }
+@@ -110,7 +383,7 @@ static int linuxgpiod_swdio_read(void)
+ {
+       int retval;
+-      retval = gpiod_line_get_value(gpiod_line[ADAPTER_GPIO_IDX_SWDIO]);
++      retval = linuxgpiod_line_get_value(ADAPTER_GPIO_IDX_SWDIO);
+       if (retval < 0) {
+               LOG_WARNING("Fail read swdio");
+               return 0;
+@@ -123,30 +396,54 @@ static void linuxgpiod_swdio_drive(bool
+ {
+       int retval;
+-      /*
+-       * FIXME: change direction requires release and re-require the line
+-       * https://stackoverflow.com/questions/58735140/
+-       * this would change in future libgpiod
+-       */
+-      gpiod_line_release(gpiod_line[ADAPTER_GPIO_IDX_SWDIO]);
+-
+       if (is_output) {
+-              if (gpiod_line[ADAPTER_GPIO_IDX_SWDIO_DIR]) {
+-                      retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWDIO_DIR], 1);
++              if (gpiod_line_req[ADAPTER_GPIO_IDX_SWDIO_DIR]) {
++                      retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_SWDIO_DIR, 1);
+                       if (retval < 0)
+-                              LOG_WARNING("Fail set swdio_dir");
++                              LOG_WARNING("Failed to set swdio_dir=1");
+               }
+-              retval = gpiod_line_request_output(gpiod_line[ADAPTER_GPIO_IDX_SWDIO], "OpenOCD", 1);
++
++              retval = gpiod_line_settings_set_direction(gpiod_line_settings[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                      GPIOD_LINE_DIRECTION_OUTPUT);
+               if (retval < 0)
+-                      LOG_WARNING("Fail request_output line swdio");
++                      LOG_WARNING("Failed to set new direction of swdio");
++
++              retval = gpiod_line_settings_set_output_value(gpiod_line_settings[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              GPIOD_LINE_VALUE_ACTIVE);
++              if (retval < 0)
++                      LOG_WARNING("Failed to set output value of swdio");
++
++              retval = gpiod_line_config_add_line_settings(gpiod_line_config[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              (unsigned int *)&adapter_gpio_config[ADAPTER_GPIO_IDX_SWDIO].gpio_num, 1,
++                                                                                                              gpiod_line_settings[ADAPTER_GPIO_IDX_SWDIO]);
++              if (retval < 0)
++                      LOG_WARNING("Failed to apply output configuration to swdio");
++
++              retval = gpiod_line_request_reconfigure_lines(gpiod_line_req[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              gpiod_line_config[ADAPTER_GPIO_IDX_SWDIO]);
++              if (retval < 0)
++                      LOG_WARNING("Failed to switch swdio to output");
+       } else {
+-              retval = gpiod_line_request_input(gpiod_line[ADAPTER_GPIO_IDX_SWDIO], "OpenOCD");
++              retval = gpiod_line_settings_set_direction(gpiod_line_settings[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              GPIOD_LINE_DIRECTION_INPUT);
++              if (retval < 0)
++                      LOG_WARNING("Failed to switch swdio to output");
++
++              retval = gpiod_line_config_add_line_settings(gpiod_line_config[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              (unsigned int *)&adapter_gpio_config[ADAPTER_GPIO_IDX_SWDIO].gpio_num, 1,
++                                                                                                              gpiod_line_settings[ADAPTER_GPIO_IDX_SWDIO]);
+               if (retval < 0)
+-                      LOG_WARNING("Fail request_input line swdio");
+-              if (gpiod_line[ADAPTER_GPIO_IDX_SWDIO_DIR]) {
+-                      retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWDIO_DIR], 0);
++                      LOG_WARNING("Failed to apply input configuration to swdio");
++
++              retval = gpiod_line_request_reconfigure_lines(gpiod_line_req[ADAPTER_GPIO_IDX_SWDIO],
++                                                                                                              gpiod_line_config[ADAPTER_GPIO_IDX_SWDIO]);
++              if (retval < 0)
++                      LOG_WARNING("Failed to switch swdio to input");
++
++              if (gpiod_line_req[ADAPTER_GPIO_IDX_SWDIO_DIR]) {
++                      retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_SWDIO_DIR, 0);
+                       if (retval < 0)
+-                              LOG_WARNING("Fail set swdio_dir");
++                              LOG_WARNING("Failed to set swdio_dir=0");
+               }
+       }
+@@ -159,16 +456,16 @@ static int linuxgpiod_swd_write(int swcl
+       int retval;
+       if (!swdio_input) {
+-              if (!last_stored || (swdio != last_swdio)) {
+-                      retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWDIO], swdio);
++              if (!last_stored || swdio != last_swdio) {
++                      retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_SWDIO, swdio);
+                       if (retval < 0)
+                               LOG_WARNING("Fail set swdio");
+               }
+       }
+       /* write swclk last */
+-      if (!last_stored || (swclk != last_swclk)) {
+-              retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWCLK], swclk);
++      if (!last_stored || swclk != last_swclk) {
++              retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_SWCLK, swclk);
+               if (retval < 0)
+                       LOG_WARNING("Fail set swclk");
+       }
+@@ -187,7 +484,7 @@ static int linuxgpiod_blink(int on)
+       if (!is_gpio_config_valid(ADAPTER_GPIO_IDX_LED))
+               return ERROR_OK;
+-      retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_LED], on);
++      retval = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_LED, on);
+       if (retval < 0)
+               LOG_WARNING("Fail set led");
+       return retval;
+@@ -214,17 +511,17 @@ static int linuxgpiod_reset(int trst, in
+       LOG_DEBUG("linuxgpiod_reset");
+       /*
+-       * active low behaviour handled by "adaptor gpio" command and
++       * active low behavior handled by "adaptor gpio" command and
+        * GPIOD_LINE_REQUEST_FLAG_ACTIVE_LOW flag when requesting the line.
+        */
+-      if (gpiod_line[ADAPTER_GPIO_IDX_SRST]) {
+-              retval1 = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SRST], srst);
++      if (gpiod_line_req[ADAPTER_GPIO_IDX_SRST]) {
++              retval1 = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_SRST, srst);
+               if (retval1 < 0)
+                       LOG_WARNING("set srst value failed");
+       }
+-      if (gpiod_line[ADAPTER_GPIO_IDX_TRST]) {
+-              retval2 = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_TRST], trst);
++      if (gpiod_line_req[ADAPTER_GPIO_IDX_TRST]) {
++              retval2 = linuxgpiod_line_set_value(ADAPTER_GPIO_IDX_TRST, trst);
+               if (retval2 < 0)
+                       LOG_WARNING("set trst value failed");
+       }
+@@ -256,9 +553,17 @@ static bool linuxgpiod_swd_mode_possible
+ static inline void helper_release(enum adapter_gpio_config_index idx)
+ {
+-      if (gpiod_line[idx]) {
+-              gpiod_line_release(gpiod_line[idx]);
+-              gpiod_line[idx] = NULL;
++      if (gpiod_line_req[idx]) {
++              gpiod_line_request_release(gpiod_line_req[idx]);
++              gpiod_line_req[idx] = NULL;
++      }
++      if (gpiod_line_config[idx]) {
++              gpiod_line_config_free(gpiod_line_config[idx]);
++              gpiod_line_config[idx] = NULL;
++      }
++      if (gpiod_line_settings[idx]) {
++              gpiod_line_settings_free(gpiod_line_settings[idx]);
++              gpiod_line_settings[idx] = NULL;
+       }
+       if (gpiod_chip[idx]) {
+               gpiod_chip_close(gpiod_chip[idx]);
+@@ -277,84 +582,102 @@ static int linuxgpiod_quit(void)
+ static int helper_get_line(enum adapter_gpio_config_index idx)
+ {
++      struct gpiod_request_config *req_cfg = NULL;
++      char chip_path[24];
++      int rv = 0;
++
+       if (!is_gpio_config_valid(idx))
+               return ERROR_OK;
+-      int dir = GPIOD_LINE_REQUEST_DIRECTION_INPUT, flags = 0, val = 0, retval;
+-
+-      gpiod_chip[idx] = gpiod_chip_open_by_number(adapter_gpio_config[idx].chip_num);
++      snprintf(chip_path, sizeof(chip_path), "/dev/gpiochip%u", adapter_gpio_config[idx].chip_num);
++      gpiod_chip[idx] = gpiod_chip_open(chip_path);
+       if (!gpiod_chip[idx]) {
+               LOG_ERROR("Cannot open LinuxGPIOD chip %d for %s", adapter_gpio_config[idx].chip_num,
+                       adapter_gpio_get_name(idx));
+               return ERROR_JTAG_INIT_FAILED;
+       }
+-      gpiod_line[idx] = gpiod_chip_get_line(gpiod_chip[idx], adapter_gpio_config[idx].gpio_num);
+-      if (!gpiod_line[idx]) {
+-              LOG_ERROR("Error get line %s", adapter_gpio_get_name(idx));
++      gpiod_line_settings[idx] = gpiod_line_settings_new();
++      gpiod_line_config[idx] = gpiod_line_config_new();
++      req_cfg = gpiod_request_config_new();
++
++      if (!gpiod_line_settings[idx] || !gpiod_line_config[idx] || !req_cfg) {
++              LOG_ERROR("Cannot configure LinuxGPIOD line for %s", adapter_gpio_get_name(idx));
++              gpiod_request_config_free(req_cfg);
+               return ERROR_JTAG_INIT_FAILED;
+       }
++      gpiod_request_config_set_consumer(req_cfg, "OpenOCD");
++
+       switch (adapter_gpio_config[idx].init_state) {
+       case ADAPTER_GPIO_INIT_STATE_INPUT:
+-              dir = GPIOD_LINE_REQUEST_DIRECTION_INPUT;
++              rv = gpiod_line_settings_set_direction(gpiod_line_settings[idx], GPIOD_LINE_DIRECTION_INPUT);
+               break;
+       case ADAPTER_GPIO_INIT_STATE_INACTIVE:
+-              dir = GPIOD_LINE_REQUEST_DIRECTION_OUTPUT;
+-              val = 0;
++              rv = gpiod_line_settings_set_direction(gpiod_line_settings[idx], GPIOD_LINE_DIRECTION_OUTPUT);
++              rv |= gpiod_line_settings_set_output_value(gpiod_line_settings[idx], GPIOD_LINE_VALUE_INACTIVE);
+               break;
+       case ADAPTER_GPIO_INIT_STATE_ACTIVE:
+-              dir = GPIOD_LINE_REQUEST_DIRECTION_OUTPUT;
+-              val = 1;
++              rv = gpiod_line_settings_set_direction(gpiod_line_settings[idx], GPIOD_LINE_DIRECTION_OUTPUT);
++              rv |= gpiod_line_settings_set_output_value(gpiod_line_settings[idx], GPIOD_LINE_VALUE_ACTIVE);
+               break;
+       }
++      if (rv < 0) {
++              LOG_ERROR("Error while configuring LinuxGPIOD line init state for %s", adapter_gpio_get_name(idx));
++              gpiod_request_config_free(req_cfg);
++              return ERROR_JTAG_INIT_FAILED;
++      }
+       switch (adapter_gpio_config[idx].drive) {
+       case ADAPTER_GPIO_DRIVE_MODE_PUSH_PULL:
++              rv = gpiod_line_settings_set_drive(gpiod_line_settings[idx], GPIOD_LINE_DRIVE_PUSH_PULL);
+               break;
+       case ADAPTER_GPIO_DRIVE_MODE_OPEN_DRAIN:
+-              flags |= GPIOD_LINE_REQUEST_FLAG_OPEN_DRAIN;
++              rv = gpiod_line_settings_set_drive(gpiod_line_settings[idx], GPIOD_LINE_DRIVE_OPEN_DRAIN);
+               break;
+       case ADAPTER_GPIO_DRIVE_MODE_OPEN_SOURCE:
+-              flags |= GPIOD_LINE_REQUEST_FLAG_OPEN_SOURCE;
++              rv = gpiod_line_settings_set_drive(gpiod_line_settings[idx], GPIOD_LINE_DRIVE_OPEN_SOURCE);
+               break;
+       }
++      if (rv < 0) {
++              LOG_ERROR("Error while configuring LinuxGPIOD line driving for %s", adapter_gpio_get_name(idx));
++              gpiod_request_config_free(req_cfg);
++              return ERROR_JTAG_INIT_FAILED;
++      }
+       switch (adapter_gpio_config[idx].pull) {
+       case ADAPTER_GPIO_PULL_NONE:
+-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE
+-              flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE;
+-#endif
++              rv = gpiod_line_settings_set_bias(gpiod_line_settings[idx], GPIOD_LINE_BIAS_DISABLED);
+               break;
+       case ADAPTER_GPIO_PULL_UP:
+-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP
+-              flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP;
+-#else
+-              LOG_WARNING("linuxgpiod: ignoring request for pull-up on %s: not supported by gpiod v%s",
+-                      adapter_gpio_get_name(idx), gpiod_version_string());
+-#endif
++              rv = gpiod_line_settings_set_bias(gpiod_line_settings[idx], GPIOD_LINE_BIAS_PULL_UP);
+               break;
+       case ADAPTER_GPIO_PULL_DOWN:
+-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN
+-              flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN;
+-#else
+-              LOG_WARNING("linuxgpiod: ignoring request for pull-down on %s: not supported by gpiod v%s",
+-                      adapter_gpio_get_name(idx), gpiod_version_string());
+-#endif
++              rv = gpiod_line_settings_set_bias(gpiod_line_settings[idx], GPIOD_LINE_BIAS_PULL_DOWN);
+               break;
+       }
++      if (rv < 0) {
++              LOG_ERROR("Error while configuring LinuxGPIOD line biasing for %s", adapter_gpio_get_name(idx));
++              gpiod_request_config_free(req_cfg);
++              return ERROR_JTAG_INIT_FAILED;
++      }
+-      if (adapter_gpio_config[idx].active_low)
+-              flags |= GPIOD_LINE_REQUEST_FLAG_ACTIVE_LOW;
++      gpiod_line_settings_set_active_low(gpiod_line_settings[idx], adapter_gpio_config[idx].active_low);
+-      struct gpiod_line_request_config config = {
+-              .consumer = "OpenOCD",
+-              .request_type = dir,
+-              .flags = flags,
+-      };
++      rv = gpiod_line_config_add_line_settings(gpiod_line_config[idx],
++                                                                                              (unsigned int *)&adapter_gpio_config[idx].gpio_num, 1,
++                                                                                              gpiod_line_settings[idx]);
++      if (rv < 0) {
++              LOG_ERROR("Error configuring gpio line %s", adapter_gpio_get_name(idx));
++              gpiod_request_config_free(req_cfg);
++              return ERROR_JTAG_INIT_FAILED;
++      }
+-      retval = gpiod_line_request(gpiod_line[idx], &config, val);
+-      if (retval < 0) {
++      gpiod_line_req[idx] = gpiod_chip_request_lines(gpiod_chip[idx], req_cfg, gpiod_line_config[idx]);
++
++      gpiod_request_config_free(req_cfg);
++
++      if (!gpiod_line_req[idx]) {
+               LOG_ERROR("Error requesting gpio line %s", adapter_gpio_get_name(idx));
+               return ERROR_JTAG_INIT_FAILED;
+       }
+@@ -380,12 +703,12 @@ static int linuxgpiod_init(void)
+                       goto out_error;
+               }
+-              if (helper_get_line(ADAPTER_GPIO_IDX_TDO) != ERROR_OK ||
+-                      helper_get_line(ADAPTER_GPIO_IDX_TDI) != ERROR_OK ||
+-                      helper_get_line(ADAPTER_GPIO_IDX_TCK) != ERROR_OK ||
+-                      helper_get_line(ADAPTER_GPIO_IDX_TMS) != ERROR_OK ||
+-                      helper_get_line(ADAPTER_GPIO_IDX_TRST) != ERROR_OK)
+-                              goto out_error;
++              if (helper_get_line(ADAPTER_GPIO_IDX_TDO) != ERROR_OK
++                              || helper_get_line(ADAPTER_GPIO_IDX_TDI) != ERROR_OK
++                              || helper_get_line(ADAPTER_GPIO_IDX_TCK) != ERROR_OK
++                              || helper_get_line(ADAPTER_GPIO_IDX_TMS) != ERROR_OK
++                              || helper_get_line(ADAPTER_GPIO_IDX_TRST) != ERROR_OK)
++                      goto out_error;
+       }
+       if (transport_is_swd()) {
+@@ -415,9 +738,9 @@ static int linuxgpiod_init(void)
+                       goto out_error;
+       }
+-      if (helper_get_line(ADAPTER_GPIO_IDX_SRST) != ERROR_OK ||
+-              helper_get_line(ADAPTER_GPIO_IDX_LED) != ERROR_OK)
+-                      goto out_error;
++      if (helper_get_line(ADAPTER_GPIO_IDX_SRST) != ERROR_OK
++                      || helper_get_line(ADAPTER_GPIO_IDX_LED) != ERROR_OK)
++              goto out_error;
+       return ERROR_OK;
index 8ba77aa33b8be9ada422469c3ab0ec39519716e1..7a86c6ad9943447b8414d84aae17ec68c5cf5e16 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pciutils
 PKG_VERSION:=3.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/utils/pciutils
diff --git a/utils/pciutils/patches/110-gcc14.patch b/utils/pciutils/patches/110-gcc14.patch
new file mode 100644 (file)
index 0000000..98aec76
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/lib/sysfs.c
++++ b/lib/sysfs.c
+@@ -20,6 +20,7 @@
+ #include <dirent.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
++#include <libgen.h>
+ #include "internal.h"
index f787d0e8a8489e43adc95cc8996316b29ea9668d..6c0d1a949e009c8e0ade7fa8127965ab4527416e 100644 (file)
@@ -4,8 +4,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
-PKG_VERSION:=2023.07.13
-PKG_RELEASE:=1
+PKG_VERSION:=2024.06.02
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
 PKG_LICENSE:=Apache-2.0
@@ -23,7 +23,7 @@ endef
 
 define Package/prometheus-node-exporter-lua
   $(call Package/prometheus-node-exporter-lua/Default)
-  DEPENDS:=+luasocket +lua +uhttpd +uhttpd-mod-lua
+  DEPENDS:=+luasocket +lua +uhttpd +uhttpd-mod-lua +libubus-lua
 endef
 
 define Package/prometheus-node-exporter-lua/install
@@ -73,7 +73,7 @@ endef
 define Package/prometheus-node-exporter-lua-dawn
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (dawn collector)
-  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua
 endef
 
 define Package/prometheus-node-exporter-lua-dawn/install
@@ -84,7 +84,7 @@ endef
 define Package/prometheus-node-exporter-lua-hostapd_stations
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (hostapd_stations collector) - Requires a full hostapd / wpad build
-  DEPENDS:=prometheus-node-exporter-lua +hostapd-utils +lua-bit32 +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua +hostapd-utils +lua-bit32
 endef
 
 define Package/prometheus-node-exporter-lua-hostapd_stations/install
@@ -95,7 +95,7 @@ endef
 define Package/prometheus-node-exporter-lua-hostapd_ubus_stations
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (hostapd_ubus_stations collector)
-  DEPENDS:=prometheus-node-exporter-lua +luabitop +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua +luabitop
 endef
 
 define Package/prometheus-node-exporter-lua-hostapd_ubus_stations/install
@@ -150,7 +150,7 @@ endef
 define Package/prometheus-node-exporter-lua-openwrt
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (openwrt collector)
-  DEPENDS:=prometheus-node-exporter-lua +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua
 endef
 
 define Package/prometheus-node-exporter-lua-openwrt/install
@@ -205,7 +205,7 @@ endef
 define Package/prometheus-node-exporter-lua-wifi
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (wifi collector)
-  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua
 endef
 
 define Package/prometheus-node-exporter-lua-wifi/install
@@ -216,7 +216,7 @@ endef
 define Package/prometheus-node-exporter-lua-wifi_stations
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (wifi_stations collector)
-  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua +libubus-lua
+  DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua
 endef
 
 define Package/prometheus-node-exporter-lua-wifi_stations/install
@@ -227,7 +227,7 @@ 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
+  DEPENDS:=prometheus-node-exporter-lua
 endef
 
 define Package/prometheus-node-exporter-lua-snmp6/install
@@ -238,7 +238,7 @@ endef
 define Package/prometheus-node-exporter-lua-realtek-poe
   $(call Package/prometheus-node-exporter-lua/Default)
   TITLE+= (realtek-poe collector)
-  DEPENDS:=prometheus-node-exporter-lua +libubus-lua +realtek-poe
+  DEPENDS:=prometheus-node-exporter-lua +realtek-poe
 endef
 
 define Package/prometheus-node-exporter-lua-realtek-poe/install
index 2b97c70523cbdc89974b900dbffaa58a8fff0cf0..86b406c8a074a3bc20b3ea813e9a29bd0f5bf88d 100644 (file)
@@ -31,12 +31,10 @@ local function get_wifi_interface_labels()
 
   for _, dev_table in pairs(status) do
     for _, intf in ipairs(dev_table['interfaces']) do
-      local cfg = intf['config']
-
-      if is_ubus_interface(ubus_interfaces, cfg['ifname']) then
+      if is_ubus_interface(ubus_interfaces, intf['ifname']) then
 
         -- Migrate this to ubus interface once it exposes all interesting labels
-        local handle = io.popen("hostapd_cli -i " .. cfg['ifname'] .." status")
+        local handle = io.popen("hostapd_cli -i " .. intf['ifname'] .." status")
         local hostapd_status = handle:read("*a")
         handle:close()
 
@@ -50,7 +48,7 @@ local function get_wifi_interface_labels()
             hostapd["channel"] = value
           -- hostapd gives us all bss on the relevant phy, find the one we're interested in
           elseif string.match(name, "bss%[%d%]") then
-            if value == cfg['ifname'] then
+            if value == intf['ifname'] then
               bss_idx = tonumber(string.match(name, "bss%[(%d)%]"))
             end
           elseif bss_idx >= 0 then
@@ -63,10 +61,10 @@ local function get_wifi_interface_labels()
         end
 
         local labels = {
-          vif = cfg['ifname'],
+          vif = intf['ifname'],
           ssid = hostapd['ssid'],
           bssid = hostapd['bssid'],
-          encryption = cfg['encryption'], -- In a mixed scenario it would be good to know if A or B was used
+          encryption = intf['config']['encryption'], -- In a mixed scenario it would be good to know if A or B was used
           frequency = hostapd['freq'],
           channel = hostapd['channel'],
         }
index 2deb6d3b8a8cc05ff66a715307041e6b58a5aeb3..bb0a86d8efc742c3f4c4c7af34ce0f7b4a23ada2 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unrar
-PKG_VERSION:=7.0.7
+PKG_VERSION:=7.0.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=unrarsrc-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.rarlab.com/rar
-PKG_HASH:=da95829c7e66fe461c06eb4bea8145e58d88d76909432d0875cd1ff86669f728
+PKG_HASH:=505c13f9e4c54c01546f2e29b2fcc2d7fabc856a060b81e5cdfe6012a9198326
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/unrar
 
index f16beb20e95b2fd188852faba52226823fffae58..f7ac6d1c70b97f6eef413af6b18df4c4ee39fadf 100644 (file)
@@ -1,12 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=whois
-PKG_VERSION:=5.5.22
+PKG_VERSION:=5.5.23
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/w/whois
-PKG_HASH:=03f12c27ae85870d7bcd95b14f3fb8b174532b2f2a59d8380c42ae436d0630d7
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/rfc1036/whois
+PKG_MIRROR_HASH:=114893f8dd18fb9a4912deba2afaf09bce593b04a72c73381ec2303d71ff708d
 
 PKG_BUILD_DEPENDS:=perl/host
 
index 0c313dfc26e206ba69bb3d4a99b451cd177e2507..a1d5ad8cbeea152c384cca553f567b0ea3fa9b5e 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yq
-PKG_VERSION:=4.43.1
+PKG_VERSION:=4.44.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=e5581d28bae2bcdf70501dfd251233c592eb3e39a210956ee74965b784435d63
+PKG_HASH:=e66da5ee0c081d7974bae6a59e4791ba354178ee32ea78ab1b95d4dd60b2813d
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MIT
index 16349a917ac866c925253c24861b32ab3e9509a0..efca24cadba08cf2266bf4dc161181433ba4150b 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zstd
-PKG_VERSION:=1.5.5
+PKG_VERSION:=1.5.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/facebook/zstd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4
+PKG_HASH:=8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1
 
-PKG_MAINTAINER:=
+PKG_MAINTAINER:=Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING