strategy:
fail-fast: false
matrix:
- arch:
- - arc_archs
- - arm_cortex-a9_vfpv3-d16
- - mips_24kc
- - powerpc_464fp
- - powerpc_8540
- runtime_test: [false]
include:
+ - arch: arc_archs
+ target: archs38-generic
+ runtime_test: false
+
+ - arch: arm_cortex-a9_vfpv3-d16
+ target: mvebu-cortexa9
+ runtime_test: false
+
+ - arch: mips_24kc
+ target: ath79-generic
+ runtime_test: false
+
+ - arch: powerpc_464fp
+ target: apm821xx-nand
+ runtime_test: false
+
+ - arch: powerpc_8540
+ target: mpc85xx-p1010
+ runtime_test: false
+
- arch: aarch64_cortex-a53
+ target: mvebu-cortexa53
runtime_test: true
+
- arch: arm_cortex-a15_neon-vfpv4
+ target: armvirt-32
runtime_test: true
+
- arch: i386_pentium-mmx
+ target: x86-geode
runtime_test: true
+
- arch: x86_64
+ target: x86-64
runtime_test: true
steps:
- name: Determine changed packages
run: |
# only detect packages with changes
- PKG_ROOTS=$(find . -name Makefile | grep -v ".*/src/Makefile" | sed -e 's@./\(.*\)/Makefile@\1/@')
+ PKG_ROOTS=$(find . -name Makefile | \
+ grep -v ".*/src/Makefile" | \
+ sed -e 's@./\(.*\)/Makefile@\1/@')
CHANGES=$(git diff --diff-filter=d --name-only origin/$BRANCH)
for ROOT in $PKG_ROOTS; do
# fallback to test packages if nothing explicitly changes this is
# should run if other mechanics in packages.git changed
- PACKAGES="${PACKAGES:-vim tmux bmon}"
+ PACKAGES="${PACKAGES:-vim attendedsysupgrade-common bmon}"
echo "Building $PACKAGES"
echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
include $(TOPDIR)/rules.mk
PKG_NAME:=netdata
-PKG_VERSION:=1.29.2
+PKG_VERSION:=1.29.3
PKG_RELEASE:=1
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Daniel Engberg <daniel.engberg.lists@pyret.net>
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/netdata/netdata/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=def61f78b03b92ff95d0511681f125afb0338961b7e6a7d7ea91f7463dc7d11e
+PKG_HASH:=8e045ea153db99317a95232d1d7a76711bee46f4bc2666d22e268ff03011aa43
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
#
-# Copyright (C) 2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+# Copyright (C) 2020-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=gitlab-runner
-PKG_VERSION:=13.9.0
+PKG_VERSION:=13.10.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://gitlab.com/gitlab-org/gitlab-runner/-/archive/v$(PKG_VERSION)
-PKG_HASH:=35e128eba8cae5269ba5e17d8a5610b39493cc030f110a2a331bbe642c878191
+PKG_HASH:=f179d6c51867c2a7dcda4a537d152214b25734f78dcfb7bb05fe07b67c1a9b17
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=MIT
define Host/Configure/Meson
$(call Meson/CreateNativeFile,$(HOST_BUILD_DIR)/openwrt-native.txt)
$(call Meson, \
- setup $(if $(wildcard $(MESON_HOST_BUILD_DIR)/meson-*),--reconfigure,) \
--native-file $(HOST_BUILD_DIR)/openwrt-native.txt \
$(MESON_HOST_ARGS) \
$(MESON_HOST_BUILD_DIR) \
$(call Meson/CreateNativeFile,$(PKG_BUILD_DIR)/openwrt-native.txt)
$(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt)
$(call Meson, \
- setup $(if $(wildcard $(MESON_BUILD_DIR)/meson-*),--reconfigure,) \
--buildtype plain \
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
CMAKE_OPTIONS += -DCMAKE_GENERATOR="Ninja"
define Host/Compile/Default
- $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR),)
+ $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) $(1),)
endef
define Host/Install/Default
endef
define Build/Compile/Default
- $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR),)
+ $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) $(1),)
endef
define Build/Install/Default
include $(TOPDIR)/rules.mk
PKG_NAME:=pkgconf
-PKG_VERSION:=1.7.3
-PKG_RELEASE:=1
+PKG_VERSION:=1.7.4
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://distfiles.dereferenced.org/pkgconf
-PKG_HASH:=b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0
+PKG_HASH:=d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab
PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
PKG_LICENSE:=MIT
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/libpkgconf
- $(CP) $(PKG_INSTALL_DIR)/usr/include/libpkgconf/*.h $(1)/usr/include/libpkgconf/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/pkgconf/libpkgconf/*.h $(1)/usr/include/libpkgconf
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpkgconf.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/share/aclocal/
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/lua-cjson
SUBMENU:=Lua
include $(TOPDIR)/rules.mk
PKG_NAME:=lua-openssl
-PKG_VERSION:=0.7.4
-PKG_RELEASE:=1
-PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com>
-PKG_LICENSE:=MIT
+PKG_RELEASE:=$(AUTORELEASE)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=c27cedee438de95877823b1ae0607556564d82c8692be40f43743ca9cc5a029a
-PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=96effbaf477ca205f1787aaf1cce643bd208066b
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
+PKG_SOURCE_VERSION:=0.7.8-0
+PKG_MIRROR_HASH:=890dda7b23ff303e70ca8aa0d729836de347c0e58057282f55c6abf87e39c602
+
+PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/lua-openssl
SUBMENU:=Lua
define Package/lua-openssl/install
$(INSTALL_DIR) $(1)/usr/lib/lua
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/openssl.so $(1)/usr/lib/lua/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/5.1/openssl.so $(1)/usr/lib/lua/
endef
$(eval $(call BuildPackage,lua-openssl))
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -1,121 +1,52 @@
- T=openssl
-+.PHONY: install clean
-
--PREFIX ?=/usr/local
--CC := $(CROSS)$(CC)
--AR := $(CROSS)$(AR)
--LD := $(CROSS)$(LD)
--
--#OS auto detect
--ifneq (,$(TARGET_SYS))
-- SYS := $(TARGET_SYS)
--else
-- SYS := $(shell gcc -dumpmachine)
--endif
--
--#Lua auto detect
--LUA_VERSION := $(shell pkg-config luajit --print-provides)
--ifeq ($(LUA_VERSION),)
-- # Not found luajit package, try lua
-- LUA_VERSION := $(shell pkg-config lua --print-provides)
-- ifeq ($(LUA_VERSION),)
-- # Not found lua package, try from prefix
-- LUA_VERSION := $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
-- LUA_CFLAGS ?= -I$(PREFIX)/include/lua$(LUA_VERSION)
-- LUA_LIBS ?= -L$(PREFIX)/lib -llua
-- LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
-- else
-- # Found lua package
-- LUA_VERSION := $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
-- LUA_CFLAGS ?= $(shell pkg-config lua --cflags)
-- LUA_LIBS ?= $(shell pkg-config lua --libs)
-- LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
-- endif
--else
-- # Found luajit package
-- LUA_VERSION := $(shell luajit -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
-- LUA_CFLAGS ?= $(shell pkg-config luajit --cflags)
-- LUA_LIBS ?= $(shell pkg-config luajit --libs)
-- LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
--endif
--
--#OpenSSL auto detect
--OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
--OPENSSL_LIBS ?= $(shell pkg-config openssl --static --libs)
--
--ifneq (, $(findstring linux, $(SYS)))
-- # Do linux things
-- CFLAGS = -fpic
-- LDFLAGS = -Wl,--no-undefined -fpic -lrt -ldl -lm
--endif
--
--ifneq (, $(findstring apple, $(SYS)))
-- # Do darwin things
-- CFLAGS = -fPIC
-- LDFLAGS = -fPIC -undefined dynamic_lookup -ldl
-- #MACOSX_DEPLOYMENT_TARGET="10.3"
-- CC := MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(CC)
--endif
-+PKGC ?= pkg-config
-
--ifneq (, $(findstring mingw, $(SYS)))
-- # Do mingw things
-- CFLAGS = -DLUA_LIB -DLUA_BUILD_AS_DLL -DWIN32_LEAN_AND_MEAN
--endif
-+LIB_OPTION = -shared
-+LUAPKGC = lua
-
--ifneq (, $(findstring cygwin, $(SYS)))
-- # Do cygwin things
-- CFLAGS = -fPIC
--endif
-+# LUA include/libraries build flags
-+LUA_CFLAGS := $(shell $(PKGC) --cflags $(LUAPKGC))
-+LUA_LIBS_DIR := $(shell $(PKGC) --libs $(LUAPKGC))
-
--ifneq (, $(findstring iOS, $(SYS)))
-- # Do iOS things
-- CFLAGS = -fPIC
-- LDFLAGS = -fPIC -ldl
--endif
-+# openssl include/libraries build flags
-+OPENSSL_CFLAGS ?= $(shell $(PKGC) openssl --cflags)
-+OPENSSL_LIBS_DIR ?= $(shell $(PKGC) openssl --libs)
-
--#custom config
-+LDFLAGS = -Wl,--no-undefined -fpic -lrt -ldl -lm $(OPENSSL_LIBS_DIR) $(LUA_LIBS_DIR)
-+CFLAGS += -fPIC -DPTHREADS $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
- ifeq (.config, $(wildcard .config))
-- include .config
-+include .config
- endif
-
--LIBNAME= $T.so.$V
-+LIBNAME= $T.so
-
--CFLAGS += $(OPENSSL_CFLAGS) $(LUA_CFLAGS) $(TARGET_FLAGS)
--LDFLAGS += -shared $(OPENSSL_LIBS) $(LUA_LIBS)
- # Compilation directives
- WARN_MIN = -Wall -Wno-unused-value
- WARN = -Wall
- WARN_MOST = $(WARN) -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
- CFLAGS += -g $(WARN_MIN) -DPTHREADS -Ideps -Ideps/lua-compat -Ideps/auxiliar
-
--
- OBJS=src/asn1.o deps/auxiliar/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \
- src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o \
- src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o \
- src/xalgor.o src/callback.o src/srp.o deps/auxiliar/subsidiar.o
-
--.c.o:
-- $(CC) $(CFLAGS) -c -o $@ $?
-+%.o: %.c
-+ $(CC) $(CFLAGS) -c $< -o $@
-
- all: $T.so
-- @echo "Target system: "$(SYS)
-+ echo $(SYS)
-+ $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@
-
--$T.so: lib$T.a
-- $(CC) -o $@ src/openssl.o -L. -l$T $(LDFLAGS)
--
--lib$T.a: $(OBJS)
-- $(AR) rcs $@ $?
-+$T.so: $(OBJS)
-+ echo "LUA LIBS_DIR: " $(LUA_LIBS_DIR)
-+ $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(LDFLAGS)
-
- install: all
- mkdir -p $(LUA_LIBDIR)
- cp $T.so $(LUA_LIBDIR)
-
--info:
-- @echo "Target system: "$(SYS)
-- @echo "CC:" $(CC)
-- @echo "AR:" $(AR)
-- @echo "PREFIX:" $(PREFIX)
--
- clean:
-- rm -f $T.so lib$T.a $(OBJS)
--
--# vim: ts=8 sw=8 noet
-+ rm -f $T.so $(OBJS)
--- /dev/null
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,8 +21,6 @@ add_definitions(-DPTHREADS)
+
+ if(BUILD_SHARED_LUA_OPENSSL)
+ set(LUA_OPENSSL_LIBTYPE SHARED)
+- add_definitions(-DLUA_BUILD_AS_DLL -DLUA_LIB)
+- set(EXTRA_LIBS "ws2_32.lib" "crypt32.lib")
+ else()
+ set(LUA_OPENSSL_LIBTYPE STATIC)
+ endif()
--- /dev/null
+--- a/src/cipher.c
++++ b/src/cipher.c
+@@ -8,6 +8,10 @@ cipher module for lua-openssl binding
+ #include "openssl.h"
+ #include "private.h"
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_init
++#endif
++
+ /***
+ list all support cipher algs
+
+@@ -109,7 +113,7 @@ static LUA_FUNCTION(openssl_evp_encrypt)
+ memcpy(evp_iv, iv, iv_len);
+ }
+
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ ret = EVP_EncryptInit_ex(c, cipher, e, (const byte*)evp_key, iv_len > 0 ? (const byte*)evp_iv : NULL);
+ if (ret == 1)
+ {
+@@ -131,8 +135,12 @@ static LUA_FUNCTION(openssl_evp_encrypt)
+ OPENSSL_free(buffer);
+ }
+ }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++ EVP_CIPHER_CTX_reset(c);
++#else
+ EVP_CIPHER_CTX_cleanup(c);
+ EVP_CIPHER_CTX_free(c);
++#endif
+ return (ret == 1) ? ret : openssl_pushresult(L, ret);
+ }
+ else
+@@ -196,7 +204,7 @@ static LUA_FUNCTION(openssl_evp_decrypt)
+ memcpy(evp_iv, iv, iv_len);
+ }
+
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ ret = EVP_DecryptInit_ex(c, cipher, e, key ? (const byte*)evp_key : NULL, iv_len > 0 ? (const byte*)evp_iv : NULL);
+ if (ret == 1)
+ {
+@@ -220,8 +228,12 @@ static LUA_FUNCTION(openssl_evp_decrypt)
+ OPENSSL_free(buffer);
+ }
+ }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++ EVP_CIPHER_CTX_reset(c);
++#else
+ EVP_CIPHER_CTX_cleanup(c);
+ EVP_CIPHER_CTX_free(c);
++#endif
+ return (ret == 1) ? ret : openssl_pushresult(L, ret);
+ }
+ else
+@@ -292,7 +304,7 @@ static LUA_FUNCTION(openssl_evp_cipher)
+ memcpy(evp_iv, iv, iv_len);
+ }
+
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ ret = EVP_CipherInit_ex(c, cipher, e, (const byte*)evp_key, iv_len > 0 ? (const byte*)evp_iv : NULL, enc);
+ if (ret == 1)
+ {
+@@ -317,8 +329,12 @@ static LUA_FUNCTION(openssl_evp_cipher)
+ OPENSSL_free(buffer);
+ }
+ }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++ EVP_CIPHER_CTX_reset(c);
++#else
+ EVP_CIPHER_CTX_cleanup(c);
+ EVP_CIPHER_CTX_free(c);
++#endif
+ return (ret == 1) ? ret : openssl_pushresult(L, ret);
+ }
+ else
+@@ -376,7 +392,7 @@ static LUA_FUNCTION(openssl_cipher_new)
+ memcpy(evp_iv, iv, iv_len);
+ }
+ c = EVP_CIPHER_CTX_new();
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ if (!EVP_CipherInit_ex(c, cipher, e, key ? (const byte*)evp_key : NULL, iv_len > 0 ? (const byte*)evp_iv : NULL, enc))
+ {
+ luaL_error(L, "EVP_CipherInit_ex failed, please check openssl error");
+@@ -431,7 +447,7 @@ static LUA_FUNCTION(openssl_cipher_encry
+ memcpy(evp_iv, iv, iv_len);
+ }
+ c = EVP_CIPHER_CTX_new();
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ ret = EVP_EncryptInit_ex(c, cipher, e,
+ key ? (const byte*)evp_key : NULL,
+ iv_len > 0 ? (const byte*)evp_iv : NULL);
+@@ -491,7 +507,7 @@ static LUA_FUNCTION(openssl_cipher_decry
+ memcpy(evp_iv, iv, iv_len);
+ }
+ c = EVP_CIPHER_CTX_new();
+- EVP_CIPHER_CTX_init(c);
++ EVP_CIPHER_CTX_reset(c);
+ ret = EVP_DecryptInit_ex(c, cipher, e,
+ key ? (const byte*)evp_key : NULL,
+ iv_len > 0 ? (const byte*)evp_iv : NULL);
+@@ -937,8 +953,12 @@ static LUA_FUNCTION(openssl_cipher_ctx_f
+ return 0;
+ lua_pushnil(L);
+ lua_rawsetp(L, LUA_REGISTRYINDEX, ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++ EVP_CIPHER_CTX_reset(ctx);
++#else
+ EVP_CIPHER_CTX_cleanup(ctx);
+ EVP_CIPHER_CTX_free(ctx);
++#endif
+ FREE_OBJECT(1);
+ return 0;
+ }
+--- a/src/openssl.c
++++ b/src/openssl.c
+@@ -523,9 +523,7 @@ LUALIB_API int luaopen_openssl(lua_State
+ #endif
+
+ #ifndef OPENSSL_NO_ENGINE
+- ENGINE_load_dynamic();
+- ENGINE_load_openssl();
+- ENGINE_load_builtin_engines();
++ ENGINE_register_all_complete();
+ #endif
+ #ifdef LOAD_ENGINE_CUSTOM
+ LOAD_ENGINE_CUSTOM
+--- a/src/th-lock.c
++++ b/src/th-lock.c
+@@ -310,7 +310,7 @@ unsigned long irix_thread_id(void)
+
+ /* Linux and a few others */
+ #ifdef PTHREADS
+-#ifndef OPENSSL_SYS_WIN32
++#if !defined(OPENSSL_SYS_WIN32) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ static pthread_mutex_t *lock_cs;
+ static long *lock_count;
+
--- /dev/null
+--- a/src/lj_arch.h
++++ b/src/lj_arch.h
+@@ -391,9 +391,6 @@
+ #endif
+ #endif
+ #elif !LJ_TARGET_PS3
+-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
+-#error "Need at least GCC 4.3 or newer"
+-#endif
+ #endif
+ #endif
+
include $(TOPDIR)/rules.mk
PKG_NAME:=luv
-PKG_VERSION:=1.22.0-1
-PKG_RELEASE:=1
+PKG_VERSION:=1.36.0-0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/luvit/luv/releases/download/$(PKG_VERSION)
-PKG_HASH:=27886acb3d3f531a3d6ca70360d2593ddf1a8d4daf94ca3beea14d9381227ff7
+PKG_HASH:=f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445
PKG_MAINTAINER:=Morteza Milani <milani@pichak.co>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
+CMAKE_INSTALL:=1
+
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/luv
SUBMENU:=Lua
CMAKE_OPTIONS += -DWITH_LUA_ENGINE=Lua
endif
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include/luv
- $(CP) $(PKG_INSTALL_DIR)/usr/include/luv/*.h $(1)/usr/include/luv
- $(INSTALL_DIR) $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
-endef
-
define Package/luv/install
$(INSTALL_DIR) $(1)/usr/lib/lua
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so.1.9.1 $(1)/usr/lib/lua/luv.so
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so.1.36.0 $(1)/usr/lib/lua/luv.so
endef
PKG_HASH:=cf70200045b8bcb0e929c338ad421b6a291cf1038053532888dc201af3224d8b
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/lzmq
SUBMENU:=Lua
include $(TOPDIR)/rules.mk
PKG_NAME:=perl-mail-spamassassin
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_VERSION:=3.4.4
PKG_HASH:=8ea27a165b81e3ce8c84ae85c3ecba1f2edfa04ef4a86f07fe28ab612fc8ff60
--- /dev/null
+--- a/spamc/libspamc.c
++++ b/spamc/libspamc.c
+@@ -1213,9 +1213,11 @@ int message_filter(struct transport *tp,
+
+ if (flags & SPAMC_USE_SSL) {
+ #ifdef SPAMC_SSL
++#if 0
+ SSLeay_add_ssl_algorithms();
+- meth = SSLv23_client_method();
+ SSL_load_error_strings();
++#endif
++ meth = SSLv23_client_method();
+ ctx = SSL_CTX_new(meth);
+ #else
+ UNUSED_VARIABLE(ssl);
+@@ -1600,9 +1602,11 @@ int message_tell(struct transport *tp, c
+
+ if (flags & SPAMC_USE_SSL) {
+ #ifdef SPAMC_SSL
++#if 0
+ SSLeay_add_ssl_algorithms();
+- meth = SSLv23_client_method();
+ SSL_load_error_strings();
++#endif
++ meth = SSLv23_client_method();
+ ctx = SSL_CTX_new(meth);
+ #else
+ UNUSED_VARIABLE(ssl);
include $(TOPDIR)/rules.mk
PKG_NAME:=django-restframework
-PKG_VERSION:=3.12.2
+PKG_VERSION:=3.12.4
PKG_RELEASE:=1
PYPI_NAME:=djangorestframework
-PKG_HASH:=0898182b4737a7b584a2c73735d89816343369f259fea932d90dc78e35d8ac33
+PKG_HASH:=f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=BSD-3-Clause
include $(TOPDIR)/rules.mk
PKG_NAME:=gunicorn
-PKG_VERSION:=20.0.4
-PKG_RELEASE:=2
+PKG_VERSION:=20.1.0
+PKG_RELEASE:=1
PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626
+PKG_HASH:=e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
include $(TOPDIR)/rules.mk
PKG_NAME:=numpy
-PKG_VERSION:=1.20.1
+PKG_VERSION:=1.20.2
PKG_RELEASE:=1
PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a
+PKG_HASH:=878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-bidict
+PKG_VERSION:=0.21.2
+PKG_RELEASE:=1
+
+PYPI_NAME:=bidict
+PKG_HASH:=4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-bidict
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=The bidirectional mapping library
+ URL:=https://github.com/jab/bidict
+ DEPENDS:= \
+ +python3-light
+endef
+
+define Package/python3-bidict/description
+ The bidirectional mapping library for Python.
+endef
+
+$(eval $(call Py3Package,python3-bidict))
+$(eval $(call BuildPackage,python3-bidict))
+$(eval $(call BuildPackage,python3-bidict-src))
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-engineio
+PKG_VERSION:=4.0.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=python-engineio
+PKG_HASH:=bb575c1a3512b4b5d4706f3071d5cc36e592459e99a47d9a4b7faabeba941377
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-engineio
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Engine.IO server
+ URL:=https://github.com/miguelgrinberg/python-engineio
+ DEPENDS:= \
+ +python3-light \
+ +python3-asyncio \
+ +python3-logging \
+ +python3-openssl \
+ +python3-urllib
+endef
+
+define Package/python3-engineio/description
+ Python implementation of the Engine.IO realtime client and server.
+endef
+
+$(eval $(call Py3Package,python3-engineio))
+$(eval $(call BuildPackage,python3-engineio))
+$(eval $(call BuildPackage,python3-engineio-src))
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-flask-httpauth
+PKG_VERSION:=4.2.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=Flask-HTTPAuth
+PKG_HASH:=8c7e49e53ce7dc14e66fe39b9334e4b7ceb8d0b99a6ba1c3562bb528ef9da84a
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-flask-httpauth
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Basic and Digest HTTP authentication for Flask routes
+ URL:=https://github.com/miguelgrinberg/flask-httpauth
+ DEPENDS:= \
+ +python3-light \
+ +python3-flask
+endef
+
+define Package/python3-flask-httpauth/description
+ Flask-HTTPAuth is a Flask extension that simplifies the
+ use of HTTP authentication with Flask routes
+endef
+
+$(eval $(call Py3Package,python3-flask-httpauth))
+$(eval $(call BuildPackage,python3-flask-httpauth))
+$(eval $(call BuildPackage,python3-flask-httpauth-src))
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-flask-socketio
+PKG_VERSION:=5.0.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=Flask-SocketIO
+PKG_HASH:=5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-flask-socketio
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Socket.IO integration for Flask
+ URL:=https://github.com/miguelgrinberg/Flask-SocketIO/
+ DEPENDS:= \
+ +python3-light \
+ +python3-flask \
+ +python3-socketio
+endef
+
+define Package/python3-flask-socketio/description
+ Flask-SocketIO gives Flask applications access to low latency
+ bi-directional communications between the clients and the server.
+endef
+
+$(eval $(call Py3Package,python3-flask-socketio))
+$(eval $(call BuildPackage,python3-flask-socketio))
+$(eval $(call BuildPackage,python3-flask-socketio-src))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-lxml
-PKG_VERSION:=4.6.2
+PKG_VERSION:=4.6.3
PKG_RELEASE:=1
PYPI_NAME:=lxml
-PKG_HASH:=cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc
+PKG_HASH:=39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSES.txt
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pysocks
+PKG_VERSION:=1.7.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=PySocks
+PKG_HASH:=3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-pysocks
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python SOCKS client module
+ URL:=https://github.com/Anorov/PySocks
+ DEPENDS:= \
+ +python3-light \
+ +python3-logging \
+ +python3-openssl \
+ +python3-urllib
+endef
+
+define Package/python3-pysocks/description
+ PySocks lets you send traffic through SOCKS proxy servers.
+ It is a modern fork of SocksiPy with bug fixes and extra features.
+endef
+
+$(eval $(call Py3Package,python3-pysocks))
+$(eval $(call BuildPackage,python3-pysocks))
+$(eval $(call BuildPackage,python3-pysocks-src))
--- /dev/null
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-socketio
+PKG_VERSION:=5.1.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=python-socketio
+PKG_HASH:=338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-socketio
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Socket.IO server and client
+ URL:=https://github.com/miguelgrinberg/python-socketio
+ DEPENDS:= \
+ +python3-light \
+ +python3-bidict \
+ +python3-engineio \
+ +python3-asyncio \
+ +python3-logging \
+ +python3-urllib
+endef
+
+define Package/python3-socketio/description
+ Python implementation of the Socket.IO realtime client and server.
+endef
+
+$(eval $(call Py3Package,python3-socketio))
+$(eval $(call BuildPackage,python3-socketio))
+$(eval $(call BuildPackage,python3-socketio-src))
#
-# Copyright (C) 2019-2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+# Copyright (C) 2019-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=python3-pyroute2
-PKG_VERSION:=0.5.14
+PKG_VERSION:=0.5.16
PKG_RELEASE:=1
PYPI_NAME:=pyroute2
-PKG_HASH:=774c5ecf05fe40f0f601a7ab33c19ca0b24f00bf4a094e58deaa5333b7ca49b5
+PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989
PKG_MAINTAINER:=Martin Matějek <martin.matejek@nic.cz>
PKG_LICENSE:=GPL-2.0-or-later Apache-2.0
CONFIG_AFALG_ZERO_COPY
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
ENGINES_DIR:=engines-1.1
PKG_NAME:=boost
PKG_VERSION:=1.75.0
PKG_SOURCE_VERSION:=1_75_0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
# define cpu_relax() asm volatile ("nop" ::: "memory");
# endif
-#elif BOOST_ARCH_MIPS && (__mips_isa_rev > 1)
-+#elif BOOST_ARCH_MIPS && (__mips_isa_rev > 1) && !defined(_MIPS_ARCH_OCTEONP)
++#elif BOOST_ARCH_MIPS && (((__mips_isa_rev > 1) && defined(__mips32)) || ((__mips_isa_rev > 2) && defined(__mips64)))
# define cpu_relax() asm volatile ("pause" ::: "memory");
#elif BOOST_ARCH_PPC
// http://code.metager.de/source/xref/gnu/glibc/sysdeps/powerpc/sys/platform/ppc.h
PKG_CPE_ID:=cpe:/a:c-ares_project:c-ares
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libcares
SECTION:=libs
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += \
-DCMAKE_CXX_FLAGS=-latomic \
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:cjson_project:cjson
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/cJSON
SECTION:=libs
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/czmq
SECTION:=libs
PKG_BUILD_DEPENDS:= lua
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
include $(INCLUDE_DIR)/nls.mk
define Package/libelektra/Default
CMAKE_BINARY_SUBDIR=build
-CMAKE_OPTIONS = \
+CMAKE_OPTIONS += \
-DTARGET_PLUGIN_FOLDER="" \
-DCARGO_EXECUTABLE=OFF \
-DBUILD_FULL=OFF \
PKG_CPE_ID:=cpe:/a:libexpat:expat
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libexpat
SECTION:=libs
PKG_HASH:=40e5737471a3902ba8304b0fd63aa7c95802f66ebbc6eae53c487c8e8a380f4a
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_GETDNS_ENABLE_STUB_ONLY \
CONFIG_GETDNS_ENABLE_IDN_LIBIDN2
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/getdns/Default
TITLE:=getdns
include $(TOPDIR)/rules.mk
PKG_NAME:=gnutls
-PKG_VERSION:=3.7.0
-PKG_RELEASE:=2
+PKG_VERSION:=3.7.1
+PKG_RELEASE:=1
PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7
-PKG_HASH:=49e2a22691d252c9f24a9829b293a8f359095bc5a818351f05f1c0a5188a1df8
+PKG_HASH:=3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e5cac6f
PKG_FIXUP:=autoreconf gettext-version
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
PKG_LICENSE:=LGPL-2.1-or-later
[AC_COMPILE_IFELSE(
--- a/src/gl/m4/gnulib-comp.m4
+++ b/src/gl/m4/gnulib-comp.m4
-@@ -1061,7 +1061,7 @@ changequote([, ])dnl
+@@ -1064,7 +1064,7 @@ changequote([, ])dnl
gl_UNISTD_MODULE_INDICATOR([sleep])
AC_CHECK_DECLS_ONCE([alarm])
AC_REQUIRE([gt_TYPE_WCHAR_T])
PKG_LICENSE:=OpenSSL
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)"
PKG_INSTALL:=
--- /dev/null
+--- a/gost_pmeth.c
++++ b/gost_pmeth.c
+@@ -608,7 +608,7 @@ static int pkey_gost_mac_ctrl_str(EVP_PK
+ if (strcmp(type, hexkey_ctrl_string) == 0) {
+ long keylen;
+ int ret;
+- unsigned char *keybuf = string_to_hex(value, &keylen);
++ unsigned char *keybuf = OPENSSL_hexstr2buf(value, &keylen);
+ if (!keybuf || keylen != 32) {
+ GOSTerr(GOST_F_PKEY_GOST_MAC_CTRL_STR,
+ GOST_R_INVALID_MAC_KEY_LENGTH);
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
PKG_BUILD_DEPENDS:=ruby/host libwslay
-PKG_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
+CMAKE_OPTIONS += \
-DBUILD_SHARED_LIBS=ON \
-DWITH_MRUBY=OFF
include $(TOPDIR)/rules.mk
PKG_NAME:=ipfs-http-client
-PKG_RELEASE:=3
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/vasild/cpp-ipfs-http-client.git
+PKG_SOURCE_DATE:=2021-03-01
+PKG_SOURCE_VERSION:=27f6439303f7afb5b8b2e4154f4269ba296059c7
+PKG_MIRROR_HASH:=61814d666bbd927750a0af7d350ad8ba27c2a78e0b5f5196ec4e0b5049ef2690
PKG_MAINTAINER:=Leonid Esman <leonid.esman@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.MIT
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/vasild/cpp-ipfs-http-client.git
-PKG_SOURCE_DATE:=2019-11-05
-PKG_SOURCE_VERSION:=763e59ad698f3e3846f85df11e01c18ef3fbc401
-PKG_MIRROR_HASH:=a2b5721faf0d43ddb4a892245ef382666149c83f3f97e558e1a6acf2402fb9fd
-
-PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=nlohmannjson
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/ipfs-http-client/Default/description
IPFS (the InterPlanetary File System) is the Distributed Web.
define Package/ipfs-http-client-tests/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/block $(1)/usr/bin/ipfs-block
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/config $(1)/usr/bin/ipfs-config
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/dht $(1)/usr/bin/ipfs-dht
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/files $(1)/usr/bin/ipfs-files
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/generic $(1)/usr/bin/ipfs-generic
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/key $(1)/usr/bin/ipfs-key
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/name $(1)/usr/bin/ipfs-name
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/object $(1)/usr/bin/ipfs-object
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/pin $(1)/usr/bin/ipfs-pin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/swarm $(1)/usr/bin/ipfs-swarm
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_block $(1)/usr/bin/ipfs-block
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_config $(1)/usr/bin/ipfs-config
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_dht $(1)/usr/bin/ipfs-dht
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_files $(1)/usr/bin/ipfs-files
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_generic $(1)/usr/bin/ipfs-generic
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_key $(1)/usr/bin/ipfs-key
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_name $(1)/usr/bin/ipfs-name
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_object $(1)/usr/bin/ipfs-object
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_pin $(1)/usr/bin/ipfs-pin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/test_swarm $(1)/usr/bin/ipfs-swarm
endef
$(eval $(call BuildPackage,libipfs-http-client))
---- a/test/block.cc
-+++ b/test/block.cc
+--- a/test/test_block.cc
++++ b/test/test_block.cc
@@ -24,9 +24,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <sstream>
#include <stdexcept>
/** [ipfs::Client::BlockPut] */
ipfs::Json block;
---- a/test/config.cc
-+++ b/test/config.cc
+--- a/test/test_config.cc
++++ b/test/test_config.cc
@@ -23,9 +23,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <iostream>
#include <stdexcept>
/** [ipfs::Client::ConfigSet] */
client.ConfigSet("Datastore.StorageMax", "20GB");
---- a/test/dht.cc
-+++ b/test/dht.cc
+--- a/test/test_dht.cc
++++ b/test/test_dht.cc
@@ -23,9 +23,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <iostream>
#include <stdexcept>
ipfs::Json add_result;
client.FilesAdd(
---- a/test/error.cc
-+++ b/test/error.cc
+--- a/test/test_error.cc
++++ b/test/test_error.cc
@@ -35,16 +35,23 @@ extern std::string replace_body;
}
} // namespace ipfs
std::string object_id;
client.ObjectNew(&object_id);
---- a/test/files.cc
-+++ b/test/files.cc
-@@ -24,9 +24,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
+--- a/test/test_files.cc
++++ b/test/test_files.cc
+@@ -24,10 +24,17 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <sstream>
#include <stdexcept>
+ srvaddr=argv[1];
+
try {
-- ipfs::Client client("localhost", 5001);
-+ ipfs::Client client(srvaddr, 5001);
+ // Try Files API tests with time-out setting of 20 seconds
+- ipfs::Client client("localhost", 5001, "20s");
++ ipfs::Client client(srvaddr, 5001, "20s");
/** [ipfs::Client::FilesGet] */
std::stringstream contents;
---- a/test/generic.cc
-+++ b/test/generic.cc
-@@ -24,16 +24,23 @@ CONNECTION WITH THE SOFTWARE OR THE USE
+--- a/test/test_generic.cc
++++ b/test/test_generic.cc
+@@ -24,11 +24,18 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <stdexcept>
#include <utility>
+ srvaddr=argv[1];
+
try {
+ // Test client constructor
/** [ipfs::Client::Client] */
- ipfs::Client client("localhost", 5001);
+ ipfs::Client client(srvaddr, 5001);
/** [ipfs::Client::Client] */
+ // Test client constructor with additional parameters
+@@ -38,7 +45,7 @@ int main(int, char**) {
ipfs::Client clientA(client);
clientA = client;
ipfs::Client clientB(std::move(clientA));
clientC = std::move(clientB);
#pragma GCC diagnostic push
---- a/test/key.cc
-+++ b/test/key.cc
+--- a/test/test_key.cc
++++ b/test/test_key.cc
@@ -26,9 +26,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
using Json = nlohmann::json;
/** [ipfs::Client::KeyGen] */
std::string key_id;
---- a/test/name.cc
-+++ b/test/name.cc
+--- a/test/test_name.cc
++++ b/test/test_name.cc
@@ -24,9 +24,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <sstream>
#include <stdexcept>
// We need a key here, so as not to clobber the "self" key.
std::string key_id;
---- a/test/object.cc
-+++ b/test/object.cc
+--- a/test/test_object.cc
++++ b/test/test_object.cc
@@ -24,9 +24,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <stdexcept>
#include <string>
/** [ipfs::Client::ObjectNew] */
std::string object_id;
---- a/test/pin.cc
-+++ b/test/pin.cc
+--- a/test/test_pin.cc
++++ b/test/test_pin.cc
@@ -23,9 +23,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <stdexcept>
#include <string>
std::string object_id;
---- a/test/swarm.cc
-+++ b/test/swarm.cc
+--- a/test/test_swarm.cc
++++ b/test/test_swarm.cc
@@ -23,9 +23,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE
#include <stdexcept>
#include <string>
include $(TOPDIR)/rules.mk
PKG_NAME:=leptonica
-PKG_VERSION:=1.78.0
-PKG_RELEASE:=3
+PKG_VERSION:=1.80.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.leptonica.org/source/
-PKG_HASH:=e2ed2e81e7a22ddf45d2c05f0bc8b9ae7450545d995bfe28517ba408d14a5a88
+PKG_HASH:=ec9c46c2aefbb960fb6a6b7f800fe39de48343437b6ce08e30a8d9688ed14ba4
PKG_MAINTAINER:=Valentín Kivachuk <vk18496@gmail.com>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=leptonica-license.txt
-PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libleptonica
SECTION:=libs
DEPENDS:=+giflib +libjpeg +libpng +libtiff +libwebp +zlib
endef
+CMAKE_OPTIONS += \
+ -DBUILD_SHARED_LIBS=ON \
+ -DWEBPMUX_INCLUDE_DIR=$(STAGING_DIR)/usr/include
+
TARGET_CFLAGS:=$(filter-out -O%,$(TARGET_CFLAGS)) -O3
define Build/InstallDev
--- /dev/null
+--- a/cmake/Configure.cmake
++++ b/cmake/Configure.cmake
+@@ -113,7 +113,6 @@ endif()
+
+ if (WEBP_FOUND)
+ set(HAVE_LIBWEBP 1)
+- set(HAVE_LIBWEBP_ANIM 1)
+ endif()
+
+ if (ZLIB_FOUND)
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libarchive:libarchive
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libarchive/Default
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libcbor
SECTION:=libs
PKG_CONFIG_DEPENDS:=LIBEVHTP_BUILD_DEPENDS
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libevhtp
SECTION:=libs
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libfido2
SECTION:=libs
libfido2 supports the FIDO U2F (CTAP 1) and FIDO 2.0 (CTAP 2) protocols.
endef
+CMAKE_OPTIONS += \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_MANPAGES=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DBUILD_TOOLS=OFF \
+ -DFUZZ=OFF \
+ -DLIBFUZZER=OFF \
+ -DUSE_HIDAPI=OFF
define Package/libfido2/install
$(INSTALL_DIR) $(1)/usr/lib
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += -DBUILD_SHARED_LIBS=ON
CMAKE_OPTIONS += -DFMT_DOC=OFF
PKG_LICENSE_FILES:=COPYING.LIB
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libftdi
SECTION:=libs
PKG_LICENSE_FILES:=COPYING.LIB
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libftdi1
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libical
-PKG_VERSION:=3.0.6
-PKG_RELEASE:=1
+PKG_VERSION:=3.0.9
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=5c8a21c2b732ece4a33e5c862970b4f35a8548bbcda50de5695f6fc211ac4d97
+PKG_HASH:=bd26d98b7fcb2eb0cd5461747bbb02024ebe38e293ca53a7dfdcb2505265a728
PKG_SOURCE_URL:=https://github.com/libical/libical/releases/download/v$(PKG_VERSION)/
PKG_MAINTAINER:=Jose Zapater <jzapater@gmail.com>
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libical
SECTION:=libs
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -170,43 +170,43 @@ endif()
+@@ -192,7 +192,6 @@ endif()
# libicu is highly recommended for RSCALE support
# libicu can be found at http://www.icu-project.org
- # RSCALE info at http://tools.ietf.org/html/rfc7529
+ # RSCALE info at https://tools.ietf.org/html/rfc7529
-find_package(ICU)
--set_package_properties(ICU PROPERTIES
-- TYPE RECOMMENDED
-- PURPOSE "For RSCALE (RFC7529) support"
--)
--add_feature_info(
-- "RSCALE support (RFC7529)"
-- ICU_FOUND
-- "build in RSCALE support"
--)
--if(ICU_FOUND)
-- set(REQUIRES_PRIVATE_ICU "Requires.private: icu-i18n") #for libical.pc
-- set(HAVE_LIBICU 1)
-- if(ICU_MAJOR_VERSION VERSION_GREATER 50)
-- set(HAVE_ICU_DANGI TRUE)
-- else()
-- set(HAVE_ICU_DANGI FALSE)
-- endif()
--endif()
--if(ICU_I18N_FOUND)
-- set(HAVE_LIBICU_I18N 1)
--endif()
-+# find_package(ICU)
-+# set_package_properties(ICU PROPERTIES
-+# TYPE RECOMMENDED
-+# PURPOSE "For RSCALE (RFC7529) support"
-+# )
-+# add_feature_info(
-+# "RSCALE support (RFC7529)"
-+# ICU_FOUND
-+# "build in RSCALE support"
-+# )
-+# if(ICU_FOUND)
-+# set(REQUIRES_PRIVATE_ICU "Requires.private: icu-i18n") #for libical.pc
-+# set(HAVE_LIBICU 1)
-+# if(ICU_MAJOR_VERSION VERSION_GREATER 50)
-+# set(HAVE_ICU_DANGI TRUE)
-+# else()
-+# set(HAVE_ICU_DANGI FALSE)
-+# endif()
-+# endif()
-+# if(ICU_I18N_FOUND)
-+# set(HAVE_LIBICU_I18N 1)
-+# endif()
+ set_package_properties(ICU PROPERTIES
+ TYPE RECOMMENDED
+ PURPOSE "For RSCALE (RFC7529) support"
+@@ -216,7 +215,6 @@ if(ICU_I18N_FOUND)
+ endif()
# compile in Berkeley DB support
-find_package(BDB)
--set_package_properties(BDB PROPERTIES
-- TYPE OPTIONAL
-- PURPOSE "For Berkeley DB storage support"
--)
--add_feature_info(
-- "Berkeley DB storage support"
-- BDB_FOUND
-- "build in support for Berkeley DB storage"
--)
--if(BDB_FOUND)
-- set(HAVE_BDB True)
--endif()
-+# find_package(BDB)
-+# set_package_properties(BDB PROPERTIES
-+# TYPE OPTIONAL
-+# PURPOSE "For Berkeley DB storage support"
-+# )
-+# add_feature_info(
-+# "Berkeley DB storage support"
-+# BDB_FOUND
-+# "build in support for Berkeley DB storage"
-+# )
-+# if(BDB_FOUND)
-+# set(HAVE_BDB True)
-+# endif()
-
- # MSVC specific definitions
- if(WIN32)
+ set_package_properties(BDB PROPERTIES
+ TYPE OPTIONAL
+ PURPOSE "For Berkeley DB storage support"
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
CMAKE_INSTALL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_LIBIIO_XML_BACKEND
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += -DWITH_DOC=OFF
CMAKE_OPTIONS += -DENABLE_IPV6=$(if $(CONFIG_IPV6),ON,OFF)
PKG_LICENSE_FILES:=LICENSE.md
PKG_USE_MIPS16:=0 #Allows ASM compilation for speed.
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libjpeg-turbo/Default
TITLE:=libjpeg-turbo
CMAKE_INSTALL:=1
CMAKE_SOURCE_SUBDIR:=cmake
-PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_liblo-utils
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/liblo/Default
TITLE:=Lightweight Open Sound Control (OSC)
include $(TOPDIR)/rules.mk
PKG_NAME:=libmariadb
-PKG_VERSION:=3.1.10
-PKG_RELEASE:=2
+PKG_VERSION:=3.1.12
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=mariadb-connector-c-$(PKG_VERSION)-src.tar.gz
PKG_SOURCE_URL := \
https://mirror.lstn.net/mariadb/connector-c-$(PKG_VERSION) \
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/connector-c-$(PKG_VERSION) \
https://downloads.mariadb.org/interstitial/connector-c-$(PKG_VERSION)
-PKG_HASH:=af3e5613cb9e811f70db85a8a704c7140dc3e35f7c39912d0509511638f9658f
+PKG_HASH:=2f5ae14708b4813e4ff6857d152c22e6fc0e551c9fa743c1ef81a68e3254fe63
PKG_BUILD_DIR:=$(BUILD_DIR)/mariadb-connector-c-$(PKG_VERSION)-src
PKG_MAINTAINER:=Michal Hrusecky <Michal@Hrusecky.net>
PKG_LICENSE_FILES:=COPYING.LIB
PKG_CPE_ID:=cpe:/a:mariadb:mariadb
-CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
MARIADB_CONF_DIR:=/etc/mysql
MARIADB_PLUGIN_DIR:=/usr/lib/mariadb/plugin
plugin-remote_io := CLIENT_PLUGIN_REMOTE_IO
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/ninja/ninja-cmake.mk
# Pass CPPFLAGS in the CFLAGS as otherwise the build system will
# ignore them.
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
include ../../lang/python/python3-package.mk
-CMAKE_OPTIONS=-DENABLEEXAMPLES=0 \
+CMAKE_OPTIONS += \
+ -DENABLEEXAMPLES=0 \
-DBUILDSWIGNODE=$(if $(CONFIG_PACKAGE_libmraa-node),ON,OFF) \
-DFIRMATA=ON
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libnatpmp/Default
TITLE:=NAT Port Mapping Protocol (NAT-PMP)
+add_executable(natpmpc natpmpc.c)
+target_link_libraries(natpmpc natpmp)
+
-+install(FILES natpmpc DESTINATION bin)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/natpmpc DESTINATION bin)
+
+add_executable(testgetgateway
+ testgetgateway.c
include $(TOPDIR)/rules.mk
PKG_NAME:=libnetconf2
-PKG_VERSION:=1.1.36
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.43
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libnetconf2/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=17aa551380ffcccc3bfd928edbcc170cbe85b0f336b361d5f03ede8f3e5f6348
+PKG_HASH:=66139fc9e68aa89c82235f4135dba9e44f5db663541279c14c74131e22b7f571
PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libnetconf2
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=liborcania
-PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_VERSION:=2.2.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/babelouest/orcania/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=960074f6aa198e9db5440347d20cff8be3b82ee1c15ac7b23c0ac54a301a85cd
+PKG_HASH:=2a46460c6d93e5b8dd97db520edc1e9b3297577fdd8c485b2b6ebf315ceab6f0
PKG_MAINTAINER:=Toni Uhlig <matzeton@googlemail.com>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/orcania-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/liborcania
SECTION:=libs
PKG_NAME:=libpng
PKG_VERSION:=1.6.37
-PKG_RELEASE:=10
+PKG_RELEASE:=11
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/libpng
PKC_LICENSE_FILES:=LICENSE contrib/gregbook/COPYING contrib/gregbook/LICENSE
PKG_CPE_ID:=cpe:/a:libpng:libpng
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libpng
SECTION:=libs
-DPNG_TESTS=OFF \
-DPNG_FRAMEWORK=OFF \
-DPNG_DEBUG=OFF \
- -DPNG_HARDWARE_OPTIMIZATIONS=O$(if $(findstring powerpc,$(CONFIG_ARCH))$(findstring mipsel,$(CONFIG_ARCH)),FF,N) \
+ -DPNG_HARDWARE_OPTIMIZATIONS=O$(if $(findstring powerpc,$(CONFIG_ARCH))$(findstring mips,$(CONFIG_ARCH)),FF,N) \
-Dld-version-script=OFF
define Build/InstallDev
PKG_MAINTAINER:=Igor Bezzubchenko <garikello@gmail.com>
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libpqxx
SECTION:=libs
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libradiotap
SECTION:=libs
PKG_LICENSE_FILES:=License.txt
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libroxml
SECTION:=libs
define Package/libseccomp
$(call Package/libseccomp/Default)
TITLE+= (library)
+ DEPENDS+= @!arc
endef
define Package/scmp_sys_resolver
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libsndfile_project:libsndfile
-PKG_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libsndfile
SECTION:=libs
PKG_CPE_ID:=cpe:/a:sox:sox
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libsoxr
SECTION:=libs
High quality, one-dimensional sample-rate conversion library
endef
-CMAKE_OPTIONS:= -DBUILD_TESTS=0 -DBUILD_EXAMPLES=0
-CMAKE_OPTIONS+= -DHAVE_WORDS_BIGENDIAN_EXITCODE=$(if $(CONFIG_BIG_ENDIAN),0,1)
-CMAKE_OPTIONS+= -DWITH_OPENMP=0
+CMAKE_OPTIONS += \
+ -DBUILD_TESTS=0 \
+ -DBUILD_EXAMPLES=0 \
+ -DWITH_OPENMP=0 \
+ -DHAVE_WORDS_BIGENDIAN_EXITCODE=$(if $(CONFIG_BIG_ENDIAN),0,1)
define Package/libsoxr/install
$(INSTALL_DIR) $(1)/usr/lib
CMAKE_INSTALL:=1
CMAKE_BINARY_SUBDIR:=build
-PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libssh
SECTION:=libs
for client and server implementations.
endef
-CMAKE_OPTIONS = \
+CMAKE_OPTIONS += \
-DHAVE_STRTOULL=1 \
-DHAVE_GETADDRINFO=1 \
-DHAVE_TERMIOS_H=1 \
PKG_CPE_ID:=cpe:/a:libssh2:libssh2
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_LIBSSH2_MBEDTLS \
CONFIG_LIBSSH2_OPENSSL
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libssh2
SECTION:=libs
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libtins
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=libtorrent-rasterbar
-PKG_VERSION:=2.0.1
-PKG_RELEASE:=1
+PKG_VERSION:=2.0.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/arvidn/libtorrent/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=cf906167e0b332681f6304a9bb740404a53bb0efed39897e1d2bd0f6f0d9e9cd
+PKG_HASH:=d5960e8c9f80f62126d723c6cc0522e7900c9c323f28994027eae3325fe03a3f
PKG_MAINTAINER:=David Yang <mmyangfl@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libtorrent-rasterbar/Default
TITLE:=Rasterbar BitTorrent library
$(call Package/libtorrent-rasterbar/Default)
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+boost-system +libopenssl
+ DEPENDS:=+boost-system +libopenssl +libatomic
endef
#define Package/python3-libtorrent
#endef
define Download/try_signal
- VERSION:=2a99893f92b29a5948569cba1e16fd259dbc2016
+ VERSION:=334fd139e2bb387017b42d36753a03935e3bca75
SUBDIR:=deps/try_signal
FILE:=$(PKG_NAME)-try_signal-$$(VERSION).tar.xz
URL:=https://github.com/arvidn/try_signal.git
- MIRROR_HASH:=4dee408897de3475e6f7eca9c4e4617c3e746351d01cec3cccac38b9b4d38302
+ MIRROR_HASH:=c85d65352c20713cb6cfb005942b46ab7579dc7eef3b876666bff9347149d47f
PROTO:=git
endef
$(eval $(call Download,try_signal))
include $(TOPDIR)/rules.mk
PKG_NAME:=libudev-zero
-PKG_VERSION:=0.4.5
-PKG_RELEASE:=2
+PKG_VERSION:=0.4.8
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/illiliti/libudev-zero/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=12d1b15478b033adbb1f34d49053afa5f42d862b82b2085e025dc184f5b64450
+PKG_HASH:=19e8af430997283a8a830797634757c299da13e9ca5a151bb919d45b46f5e95d
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYRIGHT
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libuecc
SECTION:=libs
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libuhttpd/Default
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libulfius
-PKG_VERSION:=2.6.9
-PKG_RELEASE:=1
+PKG_VERSION:=2.7.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/babelouest/ulfius/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=2255346a7715f14e8a9b8caeeb4f6ccd75e3617371a7028ac062742a972fcc0b
+PKG_HASH:=8d3456e85302d1218f83602f2166889d7e1a3d039fce579db7020d619f36c6e3
PKG_MAINTAINER:=Toni Uhlig <matzeton@googlemail.com>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/ulfius-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libulfius/default
SECTION:=libs
$(call Package/libulfius/default)
TITLE+= with SSL support
VARIANT:=gnutls
- DEPENDS:=+libmicrohttpd +libcurl +libgnutls +liborcania
+ DEPENDS:=+libmicrohttpd +libcurl +liborcania +libgnutls +zlib
PROVIDES:=libulfius
endef
CMAKE_INSTALL:=1
CMAKE_BINARY_SUBDIR:=build
PKG_USE_MIPS16:=0
-PKG_BUILD_PARALLEL:=1
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
include ../../lang/python/python3-package.mk
UPM_MODULES:= \
# (require libbacnet) tb7300 t8100 e50hx bacnetmstp
# (require libtinyb) 2jciebu01_ble 2jciebu01_usb
-CMAKE_OPTIONS=-DBUILDSWIGNODE=$(if $(CONFIG_PACKAGE_libmraa-node),ON,OFF) \
+CMAKE_OPTIONS += \
+ -DBUILDSWIGNODE=$(if $(CONFIG_PACKAGE_libmraa-node),ON,OFF) \
-DPYTHON2LIBS_FOUND=FALSE \
-DPYTHON2INTERP_FOUND=FALSE \
include $(TOPDIR)/rules.mk
PKG_NAME:=libuwsc
-PKG_VERSION:=3.3.4
-PKG_RELEASE:=1
+PKG_VERSION:=3.3.5
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/libuwsc/releases/download/v$(PKG_VERSION)
-PKG_HASH:=ef789ff35e537e5191ec0d13f3e0df54187a54eace611e283ad4172d4411d08b
+PKG_HASH:=a06b7324671e181ffe3165e93e6f94c7ac1380f69e32a52e80c8da7016acd60d
PKG_MAINTAINER:=Jianhui Zhao <jianhuizhao329@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_LIBUWSC_nossl_LUA_BINDING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libuwsc/Default
SECTION:=libs
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:xiph.org:libvorbis
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libvorbis
SECTION:=libs
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libwebp
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += -DLWS_IPV6=$(if $(CONFIG_IPV6),ON,OFF)
CMAKE_OPTIONS += -DISABLE_WERROR=ON
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libwslay
SECTION:=libs
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libxerces-c/Default
SECTION:=libs
PKG_CPE_ID:=cpe:/a:yaml-cpp_project:yaml-cpp
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libyaml-cpp
SECTION:=development
include $(TOPDIR)/rules.mk
PKG_NAME:=libyang
-PKG_VERSION:=1.0.215
-PKG_RELEASE:=1
+PKG_VERSION:=1.0.225
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libyang/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=c4498a77a7c12a28c9911f993eeafbf2badd2ecea58bb74781bd61cfc635e4c9
+PKG_HASH:=1b736443d2c69b5d7a71ac412655e6edab0647b18f35f7bf504b0a24e06cb046
PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=build
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libyang
SECTION:=libs
-DGEN_LANGUAGE_BINDINGS=ON \
-DGEN_PYTHON_BINDINGS=OFF
-
define Package/libyang/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libyang.so* $(1)/usr/lib/
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libzip/Default
TITLE:=libzip ($(2))
include $(TOPDIR)/rules.mk
PKG_NAME:=log4cplus
-PKG_VERSION:=2.0.5
-PKG_RELEASE:=2
+PKG_VERSION:=2.0.6
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=6046f0867ce4734f298418c7b7db0d35c27403090bb751d98e6e76aa4935f1af
+PKG_HASH:=73519a5e47c40cf375aa6cd28a703b01908b5dcd3f4cb4290db2fef237c8180c
PKG_MAINTAINER:=BangLang Huang <banglang.huang@foxmail.com>, Rosy Song <rosysong@rosinson.com>
PKG_LICENSE:=BSD-2-Clause Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-HOST_BUILD_PARALLEL:=1
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/log4cplus
SECTION:=libs
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/liblzo
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=minizip-ng
-PKG_VERSION:=3.0.0
+PKG_VERSION:=3.0.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/zlib-ng/minizip-ng/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=13b4afd96fbf2456f441a32dc9f5d3c983a5ece9e6a3903fc9322c8ad5518546
+PKG_HASH:=96c95b274dd535984ce0e87691691388f2b976106e8cf8d527b15da552ac94e4
PKG_MAINTAINER:=David Woodhouse <dwmw2@infradead.org>
PKG_LICENSE:=Zlib
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libnghttp2
SECTION:=libs
PKG_LICENSE_FILES:=LICENCE
PKG_CPE_ID:=cpe:/a:pcre:pcre
-PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:=\
CONFIG_PACKAGE_libpcre2-16 \
CONFIG_PACKAGE_libpcre2-32 \
CONFIG_PCRE2_JIT_ENABLED
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libpcre2/default
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=poco
-PKG_RELEASE:=2
-PKG_VERSION:=1.9.0
+PKG_VERSION:=1.10.1
+PKG_RELEASE:=$(AUTORELEASE)
ifeq ($(BUILD_VARIANT),all)
_PKG_VERSION:=${PKG_VERSION}-all
-PKG_HASH:=b6e33898588e74337efec4e8d8b9b277bb653b08318a79215f9aa4a3ff1ea9fd
+PKG_HASH:=2cde4b50778013ab3b7a522aa59bccaa7e85a8ccfc654a354c4d9611b6ce1758
else
_PKG_VERSION:=${PKG_VERSION}
-PKG_HASH:=a0a5a03d87c585f1a43def33bfc52c0c34a528e43a7b13bc83841a7c00adde39
+PKG_HASH:=cdab379d7d0394a763821d058eee1e7d4d8214a3caec05c775b60962b2f20762
endif
PKG_SOURCE:=$(PKG_NAME)-$(_PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
+PKG_MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
PKG_LICENSE:=BSL-1.0
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:pocoproject:poco
+PKG_BUILD_DEPENDS:=postgresql
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(_PKG_VERSION)
TITLE:=Poco C++ libraries
URL:=https://www.pocoproject.org/
DEPENDS:=+libstdcpp +libpthread +librt @!arc
- MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
VARIANT:=minimal
endef
--- a/Foundation/src/Error.cpp
+++ b/Foundation/src/Error.cpp
-@@ -70,7 +70,7 @@ namespace Poco {
+@@ -64,7 +64,7 @@ namespace Poco {
#if (_XOPEN_SOURCE >= 600) || POCO_OS == POCO_OS_ANDROID || __APPLE__
setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
include $(TOPDIR)/rules.mk
PKG_NAME:=postgresql
-PKG_VERSION:=13.1
-PKG_RELEASE:=1
+PKG_VERSION:=13.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=PostgreSQL
PKG_CPE_ID:=cpe:/a:postgresql:postgresql
http://ftp.postgresql.org/pub/source/v$(PKG_VERSION) \
ftp://ftp.postgresql.org/pub/source/v$(PKG_VERSION)
-PKG_HASH:=12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f
+PKG_HASH:=5fd7fcd08db86f5b2aed28fcfaf9ae0aca8e9428561ac547764c2a2b0f41adfc
PKG_USE_MIPS16:=0
PKG_FIXUP:=autoreconf
PKG_BUILD_DEPENDS:=protobuf
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
CMAKE_SOURCE_SUBDIR:=build-cmake
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libprotobuf-c
TITLE:=Protocol Buffers library
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_qrencode
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libqrencode
SECTION:=libs
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/include/qrencode.h $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libqrencode.so* $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/libqrencode.pc $(1)/usr/lib/pkgconfig/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libqrencode.pc $(1)/usr/lib/pkgconfig/
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libqrencode.pc
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libqrencode.pc
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=spdlog
-PKG_VERSION:=1.8.2
-PKG_RELEASE:=1
+PKG_VERSION:=1.8.3
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/gabime/spdlog/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=e20e6bd8f57e866eaf25a5417f0a38a116e537f1a77ac7b5409ca2b180cec0d5
+PKG_HASH:=6f5b88ca4c9b96264e6c961716fec6f1a7b94c80a5edce667c3e42507caa8a82
PKG_MAINTAINER:=
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/spdlog
SECTION:=libs
PKG_LICENSE_FILES:=COPYRIGHT
PKG_CPE_ID:=cpe:/a:libtiff:libtiff
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/tiff/Default
TITLE:=TIFF
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libuci2/Default
TITLE:=AST-based C parser library for UCI
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_INSTALL:=1
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/yajl
SECTION:=libs
PKG_LICENSE_FILES:=LICENCE.txt
PKG_CPE_ID:=cpe:/a:zeromq:libzmq
-PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libzmq/default
TITLE:=ZeroMQ - Message Queue engine
PKG_NAME:=exim
PKG_VERSION:=4.94
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ftp.exim.org/pub/exim/exim4/
--- /dev/null
+--- a/src/dane-openssl.c
++++ b/src/dane-openssl.c
+@@ -1098,8 +1098,8 @@ if (dane->selectors[DANESSL_USAGE_DANE_T
+ * Check that setting the untrusted chain updates the expected
+ * structure member at the expected offset.
+ */
+- X509_STORE_CTX_trusted_stack(ctx, dane->roots);
+- X509_STORE_CTX_set_chain(ctx, dane->chain);
++ X509_STORE_CTX_set0_trusted_stack(ctx, dane->roots);
++ X509_STORE_CTX_set0_untrusted(ctx, dane->chain);
+ OPENSSL_assert(dane->chain == X509_STORE_CTX_get0_untrusted(ctx));
+ }
+ }
+--- a/src/pdkim/signing.c
++++ b/src/pdkim/signing.c
+@@ -699,7 +699,6 @@ return NULL;
+ void
+ exim_dkim_init(void)
+ {
+-ERR_load_crypto_strings();
+ }
+
+
+--- a/src/tls-openssl.c
++++ b/src/tls-openssl.c
+@@ -22,7 +22,10 @@ functions from the OpenSSL library. */
+ #include <openssl/lhash.h>
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
++#include <openssl/bn.h>
++#include <openssl/dh.h>
+ #include <openssl/rand.h>
++#include <openssl/rsa.h>
+ #ifndef OPENSSL_NO_ECDH
+ # include <openssl/ec.h>
+ #endif
+@@ -1462,8 +1465,8 @@ if (!EVP_PKEY_assign_RSA(pkey, rsa))
+
+ X509_set_version(x509, 2); /* N+1 - version 3 */
+ ASN1_INTEGER_set(X509_get_serialNumber(x509), 1);
+-X509_gmtime_adj(X509_get_notBefore(x509), 0);
+-X509_gmtime_adj(X509_get_notAfter(x509), (long)60 * 60); /* 1 hour */
++X509_gmtime_adj(X509_getm_notBefore(x509), 0);
++X509_gmtime_adj(X509_getm_notAfter(x509), (long)60 * 60); /* 1 hour */
+ X509_set_pubkey(x509, pkey);
+
+ name = X509_get_subject_name(x509);
+@@ -3900,8 +3903,8 @@ fprintf(f, "Library version: OpenSSL: Co
+ " Runtime: %s\n"
+ " : %s\n",
+ OPENSSL_VERSION_TEXT,
+- SSLeay_version(SSLEAY_VERSION),
+- SSLeay_version(SSLEAY_BUILT_ON));
++ OpenSSL_version(OPENSSL_VERSION),
++ OpenSSL_version(OPENSSL_BUILT_ON));
+ /* third line is 38 characters for the %s and the line is 73 chars long;
+ the OpenSSL output includes a "built on: " prefix already. */
+ }
+@@ -3943,8 +3946,6 @@ if (pidnow != pidlast)
+ is unique for each thread", this doesn't apparently apply across processes,
+ so our own warning from vaguely_random_number_fallback() applies here too.
+ Fix per PostgreSQL. */
+- if (pidlast != 0)
+- RAND_cleanup();
+ pidlast = pidnow;
+ }
+
+--- a/src/tlscert-openssl.c
++++ b/src/tlscert-openssl.c
+@@ -217,13 +217,13 @@ return mod ? tls_field_from_dn(cp, mod)
+ uschar *
+ tls_cert_not_before(void * cert, uschar * mod)
+ {
+-return asn1_time_copy(X509_get_notBefore((X509 *)cert), mod);
++return asn1_time_copy(X509_getm_notBefore((X509 *)cert), mod);
+ }
+
+ uschar *
+ tls_cert_not_after(void * cert, uschar * mod)
+ {
+-return asn1_time_copy(X509_get_notAfter((X509 *)cert), mod);
++return asn1_time_copy(X509_getm_notAfter((X509 *)cert), mod);
+ }
+
+ uschar *
PKG_NAME:=icecast
PKG_VERSION:=2.4.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.xiph.org/releases/icecast/
# Startup script
# Copyright (C) 2015 OpenWrt.org
-
+
USE_PROCD=1
START=90
STOP=15
start_service() {
user_exists icecast 87 || user_add icecast 87
group_exists icecast 87 || group_add icecast 87
-
+
[ -d /var/log/icecast ] || {
mkdir -m 0755 -p /var/log/icecast
chown icecast:icecast /var/log/icecast
PKG_NAME:=imagemagick
PKG_VERSION:=7.0.9
PKG_REVISION:=5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REVISION).tar.gz
PKG_SOURCE_URL:=http://github.com/ImageMagick/ImageMagick/archive/$(PKG_VERSION)-$(PKG_REVISION)
PKG_HASH:=d15abd31e7e18f7edec47df156773a23e5100386e55c6ce50f5353e9572d3413
PKG_BUILD_DIR:=$(BUILD_DIR)/ImageMagick-$(PKG_VERSION)-$(PKG_REVISION)
+PKG_FIXUP:=autoreconf
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_NAME:=acme
PKG_VERSION:=2.8.7
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/acmesh-official/acme.sh/tar.gz/$(PKG_VERSION)?
for listener in $(get_listeners); do
pid="${listener%/*}"
- cmd="${listener#*/}"
+ cmd="$(basename $(readlink /proc/$pid/exe))"
case "$cmd" in
uhttpd)
return 1
fi
;;
- nginx*)
+ nginx)
if [ "$NGINX_WEBSERVER" -eq "1" ]; then
debug "Already handled nginx; skipping"
continue
PKG_NAME:=adblock
PKG_VERSION:=4.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
Adblock deposits the final blocklist 'adb_list.overall' in '/etc/kresd', no further configuration needed.
<b>Please note:</b> The knot-resolver (kresd) is only available on Turris devices and does not support the SafeSearch functionality yet.
+**Use restrictive jail modes:**
+You can enable a restrictive 'adb_list.jail' to block access to all domains except those listed in the whitelist file. Usually this list will be generated as an additional list for guest or kidsafe configurations (for a separate dns server instance). If the jail directory points to your primary dns directory, adblock enables the restrice jail mode (jail mode only).
+
**Enable E-Mail notification via 'msmtp':**
To use the email notification you have to install & configure the package 'msmtp'.
Modify the file '/etc/msmtprc':
f_log "err" "dns backend not found, please set 'adb_dns' manually"
fi
- if [ "${adb_dns}" != "raw" ] && { [ "${adb_dnsdir}" = "${adb_tmpbase}" ] || [ "${adb_dnsdir}" = "${adb_backupdir}" ] || \
- [ "${adb_dnsdir}" = "${adb_reportdir}" ] || [ "${adb_dnsdir}" = "${adb_jaildir}" ]; }
+ if [ "${adb_dns}" != "raw" ] && { [ "${adb_dnsdir}" = "${adb_tmpbase}" ] || [ "${adb_dnsdir}" = "${adb_backupdir}" ] || [ "${adb_dnsdir}" = "${adb_reportdir}" ]; }
then
- f_log "err" "dns directory '${adb_dnsdir}' has been misconfigured, it must not point to the 'adb_tmpbase', 'adb_backupdir', 'adb_reportdir' or 'adb_jaildir'"
+ f_log "err" "dns directory '${adb_dnsdir}' has been misconfigured, it must not point to the 'adb_tmpbase', 'adb_backupdir', 'adb_reportdir'"
fi
if [ "${adb_action}" = "start" ] && [ -z "${adb_trigger}" ]
case "${mode}" in
"blacklist"|"whitelist")
src_name="${mode}"
- if [ "${src_name}" = "blacklist" ] && [ -s "${adb_blacklist}" ]
+ if [ "${src_name}" = "blacklist" ] && [ -f "${adb_blacklist}" ]
then
rset="/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}"
"${adb_awk}" "${rset}" "${adb_blacklist}" | \
"${adb_sort}" ${adb_srtopts} -u "${adb_tmpdir}/tmp.raw.${src_name}" 2>/dev/null > "${adb_tmpfile}.${src_name}"
out_rc="${?}"
rm -f "${adb_tmpdir}/tmp.raw.${src_name}"
- elif [ "${src_name}" = "whitelist" ] && [ -s "${adb_whitelist}" ]
+ elif [ "${src_name}" = "whitelist" ] && [ -f "${adb_whitelist}" ]
then
rset="/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}"
"${adb_awk}" "${rset}" "${adb_whitelist}" > "${adb_tmpdir}/tmp.raw.${src_name}"
then
f_env
printf "${adb_dnsheader}" > "${adb_dnsdir}/${adb_dnsfile}"
+ if [ "${adb_jail}" = "1" ] && [ "${adb_jaildir}" = "${adb_dnsdir}" ]
+ then
+ printf "${adb_dnsheader}" > "${adb_jaildir}/${adb_dnsjail}"
+ elif [ -f "${adb_dnsdir}/${adb_dnsjail}" ]
+ then
+ rm -f "${adb_dnsdir}/${adb_dnsjail}"
+ fi
f_count
done="true"
elif [ "${mode}" = "resume" ] && [ "${status}" = "paused" ]
json_get_var runtime "last_run"
fi
fi
- sources="$(printf "%s\n" ${adb_sources} | "${adb_sort}" | "${adb_awk}" '{ORS=" ";print $0}')"
+ if [ "${adb_jail}" = "1" ] && [ "${adb_jaildir}" = "${adb_dnsdir}" ]
+ then
+ adb_cnt="0"
+ sources="restrictive_jail"
+ else
+ sources="$(printf "%s\n" ${adb_sources} | "${adb_sort}" | "${adb_awk}" '{ORS=" ";print $0}')"
+ fi
> "${adb_rtfile}"
json_load_file "${adb_rtfile}" >/dev/null 2>&1
( f_list "${entry}" "${entry}" )&
done
+ if [ "${adb_dns}" != "raw" ] && [ "${adb_jail}" = "1" ] && [ "${adb_jaildir}" = "${adb_dnsdir}" ]
+ then
+ printf "${adb_dnsheader}" > "${adb_dnsdir}/${adb_dnsfile}"
+ chown "${adb_dnsuser}" "${adb_jaildir}/${adb_dnsjail}" 2>/dev/null
+ f_dnsup
+ if [ "${?}" = "0" ]
+ then
+ if [ "${adb_action}" != "resume" ]
+ then
+ f_jsnup "enabled"
+ fi
+ f_log "info" "restrictive jail mode enabled successfully (${adb_sysver})"
+ else
+ f_log "err" "dns backend restart in jail mode failed"
+ fi
+ f_rmtemp
+ return
+ elif [ -f "${adb_dnsdir}/${adb_dnsjail}" ]
+ then
+ rm -f "${adb_dnsdir}/${adb_dnsjail}"
+ f_dnsup
+ fi
+
# safe search preparation
#
if [ "${adb_safesearch}" = "1" ] && [ "${adb_dnssafesearch}" != "0" ]
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/apfree-wifidog
SUBMENU:=Captive Portals
include $(TOPDIR)/rules.mk
PKG_NAME:=banip
-PKG_VERSION:=0.7.5
-PKG_RELEASE:=3
+PKG_VERSION:=0.7.6
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
set -o pipefail
-ban_ver="0.7.5"
+ban_ver="0.7.6"
ban_enabled="0"
ban_mail_enabled="0"
ban_proto4_enabled="0"
then
json_load_file "${ban_srcfile}"
json_get_keys ban_allsources
- ban_allsources="${ban_allsources} ${ban_localsources}"
+ ban_allsources="${ban_allsources} maclist blacklist whitelist"
else
f_log "err" "banIP source file not found"
fi
{
local rc timeout="-w 5" action="${1}" chain="${2}" rule="${3}" pos="${4}"
- if [ "${src_name}" = "maclist" ] || [ "${src_name##*_}" = "4" ]
+ if [ "${ban_proto4_enabled}" = "1" ] && { [ "${src_name}" = "maclist" ] || [ "${src_name##*_}" = "4" ]; }
then
rc="$("${ban_ipt4_cmd}" "${timeout}" -C ${chain} ${rule} 2>/dev/null; printf "%u" ${?})"
if { [ "${rc}" != "0" ] && { [ "${action}" = "-A" ] || [ "${action}" = "-I" ]; }; } || \
rc=0
fi
fi
- if [ "${src_name}" = "maclist" ] || [ "${src_name##*_}" = "6" ]
+ if [ "${ban_proto6_enabled}" = "1" ] && { [ "${src_name}" = "maclist" ] || [ "${src_name##*_}" = "6" ]; }
then
rc="$("${ban_ipt6_cmd}" "${timeout}" -C ${chain} ${rule} 2>/dev/null; printf "%u" ${?})"
if { [ "${rc}" != "0" ] && { [ "${action}" = "-A" ] || [ "${action}" = "-I" ]; }; } || \
if [ -n "${rc}" ] && [ "${rc}" != "0" ]
then
> "${tmp_err}"
- f_log "info" "iptables action '${action:-"-"}' failed with '${chain}, ${pos:-"-"}, ${rule:-"-"}'"
+ f_log "info" "${src_name}: iptables action '${action:-"-"}' failed with '${chain}, ${pos:-"-"}, ${rule:-"-"}'"
fi
}
#
f_iptables()
{
- local destroy="${1}" dev
+ local ipt_cmd chain chainsets dev pos timeout="-w 5" destroy="${1}"
if [ "${ban_action}" != "refresh" ] && [ "${ban_action}" != "resume" ]
then
do
if [ "${src_name}" = "maclist" ]
then
- f_iptrule "-D" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j RETURN"
+ f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} src -j RETURN"
elif [ "${src_name%_*}" = "whitelist" ]
then
- f_iptrule "-D" "${ban_chain}" "-i ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j RETURN"
- f_iptrule "-D" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} dst -j RETURN"
+ f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j RETURN"
+ f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j RETURN"
else
- f_iptrule "-D" "${ban_chain}" "-i ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j ${ban_logtarget_src}"
- f_iptrule "-D" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} dst -j ${ban_logtarget_dst}"
- f_iptrule "-D" "${ban_chain}" "-i ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j ${ban_logchain_src}"
- f_iptrule "-D" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} dst -j ${ban_logchain_dst}"
+ f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logtarget_src}"
+ f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logtarget_dst}"
+ f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logchain_src}"
+ f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logchain_dst}"
fi
done
fi
- if [ -z "${destroy}" ] && [ "${cnt}" -gt "0" ]
+ if [ -z "${destroy}" ] && { [ "${cnt}" -gt "0" ] || [ "${src_name%_*}" = "blacklist" ] || [ "${src_name%_*}" = "whitelist" ]; }
then
- if [ "${src_settype}" != "dst" ]
+ if [ "${src_name##*_}" = "4" ]
then
- if [ "${src_name##*_}" = "4" ]
+ ipt_cmd="${ban_ipt4_cmd}"
+ if [ ! -f "${ban_tmpfile}.${src_name##*_}.chains" ]
then
- for chain in ${ban_wan_inputchains_4}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- for chain in ${ban_wan_forwardchains_4}
+ > "${ban_tmpfile}.${src_name##*_}.chains"
+ chainsets="${ban_lan_inputchains_4} ${ban_wan_inputchains_4} ${ban_lan_forwardchains_4} ${ban_wan_forwardchains_4}"
+ for chain in ${chainsets}
do
f_iptrule "-I" "${chain}" "-j ${ban_chain}"
done
f_iptrule "-A" "${ban_chain}" "-p udp --dport 67:68 --sport 67:68 -j RETURN"
- elif [ "${src_name##*_}" = "6" ]
+ f_iptrule "-A" "${ban_chain}" "-m conntrack ! --ctstate NEW -j RETURN"
+ fi
+ elif [ "${src_name##*_}" = "6" ]
+ then
+ ipt_cmd="${ban_ipt6_cmd}"
+ if [ ! -f "${ban_tmpfile}.${src_name##*_}.chains" ]
then
- for chain in ${ban_wan_inputchains_6}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- for chain in ${ban_wan_forwardchains_6}
+ > "${ban_tmpfile}.${src_name##*_}.chains"
+ chainsets="${ban_lan_inputchains_6} ${ban_wan_inputchains_6} ${ban_lan_forwardchains_6} ${ban_wan_forwardchains_6}"
+ for chain in ${chainsets}
do
f_iptrule "-I" "${chain}" "-j ${ban_chain}"
done
f_iptrule "-A" "${ban_chain}" "-p ipv6-icmp -s fe80::/10 -d fe80::/10 -j RETURN"
f_iptrule "-A" "${ban_chain}" "-p udp -s fc00::/6 --sport 547 -d fc00::/6 --dport 546 -j RETURN"
+ f_iptrule "-A" "${ban_chain}" "-m conntrack ! --ctstate NEW -j RETURN"
fi
+ fi
+ if [ "${src_settype}" != "dst" ]
+ then
for dev in ${ban_devs}
do
if [ "${src_name}" = "maclist" ]
then
- f_iptrule "-I" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j RETURN" "1"
+ f_iptrule "-I" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} src -j RETURN" "1"
elif [ "${src_name%_*}" = "whitelist" ]
then
- f_iptrule "-I" "${ban_chain}" "-i ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j RETURN" "2"
+ pos="$(( $("${ipt_cmd}" "${timeout}" -vnL "${ban_chain}" --line-numbers | grep -cF "RETURN")+1))"
+ f_iptrule "-I" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j RETURN" "${pos}"
else
- f_iptrule "${action:-"-A"}" "${ban_chain}" "-i ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} src -j ${ban_target_src}"
+ f_iptrule "${action:-"-A"}" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_target_src}"
fi
done
fi
if [ "${src_settype}" != "src" ]
then
- if [ "${src_name##*_}" = "4" ]
- then
- for chain in ${ban_lan_inputchains_4}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- for chain in ${ban_lan_forwardchains_4}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- f_iptrule "-A" "${ban_chain}" "-p udp --dport 67:68 --sport 67:68 -j RETURN"
- elif [ "${src_name##*_}" = "6" ]
- then
- for chain in ${ban_lan_inputchains_6}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- for chain in ${ban_lan_forwardchains_6}
- do
- f_iptrule "-I" "${chain}" "-j ${ban_chain}"
- done
- f_iptrule "-A" "${ban_chain}" "-p ipv6-icmp -s fe80::/10 -d fe80::/10 -j RETURN"
- f_iptrule "-A" "${ban_chain}" "-p udp -s fc00::/6 --sport 547 -d fc00::/6 --dport 546 -j RETURN"
- fi
for dev in ${ban_devs}
do
if [ "${src_name%_*}" = "whitelist" ]
then
- f_iptrule "-I" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} dst -j RETURN" "3"
+ pos="$(( $("${ipt_cmd}" "${timeout}" -vnL "${ban_chain}" --line-numbers | grep -cF "RETURN")+1))"
+ f_iptrule "-I" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j RETURN" "${pos}"
elif [ "${src_name}" != "maclist" ]
then
- f_iptrule "${action:-"-A"}" "${ban_chain}" "-o ${dev} -m conntrack --ctstate NEW -m set --match-set ${src_name} dst -j ${ban_target_dst}"
+ f_iptrule "${action:-"-A"}" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_target_dst}"
fi
done
fi
#
f_ipset()
{
- local src src_list action rule ipt_cmd out_rc cnt="0" cnt_ip="0" cnt_cidr="0" cnt_mac="0" timeout="-w 5" mode="${1}" in_rc="4"
+ local src src_list action rule ipt_cmd out_rc max="0" cnt="0" cnt_ip="0" cnt_cidr="0" cnt_mac="0" timeout="-w 5" mode="${1}" in_rc="4"
case "${mode}" in
"backup")
if [ -z "$("${ban_ipset_cmd}" -q -n list "${src_name}")" ] && \
{ [ -s "${tmp_file}" ] || [ "${src_name%_*}" = "whitelist" ] || [ "${src_name%_*}" = "blacklist" ]; }
then
- cnt="$(awk 'END{print NR}' "${tmp_file}" 2>/dev/null)"
- cnt=$((cnt+262144))
+ max="$(awk 'END{print NR}' "${tmp_file}" 2>/dev/null)"
+ max=$((max+262144))
if [ "${src_name}" = "maclist" ]
then
- "${ban_ipset_cmd}" create "${src_name}" hash:mac hashsize 64 maxelem "${cnt}" counters timeout "${ban_maclist_timeout:-"0"}"
+ "${ban_ipset_cmd}" create "${src_name}" hash:mac hashsize 64 maxelem "${max}" counters timeout "${ban_maclist_timeout:-"0"}"
out_rc="${?}"
elif [ "${src_name%_*}" = "whitelist" ]
then
- "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${cnt}" family "${src_ipver}" counters timeout "${ban_whitelist_timeout:-"0"}"
+ "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${max}" family "${src_ipver}" counters timeout "${ban_whitelist_timeout:-"0"}"
out_rc="${?}"
elif [ "${src_name%_*}" = "blacklist" ]
then
- "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${cnt}" family "${src_ipver}" counters timeout "${ban_blacklist_timeout:-"0"}"
+ "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${max}" family "${src_ipver}" counters timeout "${ban_blacklist_timeout:-"0"}"
out_rc="${?}"
else
- "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${cnt}" family "${src_ipver}" counters
+ "${ban_ipset_cmd}" create "${src_name}" hash:net hashsize 64 maxelem "${max}" family "${src_ipver}" counters
out_rc="${?}"
fi
elif [ -n "$("${ban_ipset_cmd}" -q -n list "${src_name}")" ]
then
src_list="$("${ban_ipset_cmd}" -q list "${src_name}")"
cnt="$(printf "%s\n" "${src_list}" | awk '/^Number of entries:/{print $4}')"
- cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} packets)")"
- cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} packets)")"
+ cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} )")"
+ cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} )")"
cnt_ip=$((cnt-cnt_cidr-cnt_mac))
printf "%s\n" "${cnt}" > "${tmp_cnt}"
fi
out_rc=0
src_list="$("${ban_ipset_cmd}" -q list "${src_name}")"
cnt="$(printf "%s\n" "${src_list}" | awk '/^Number of entries:/{print $4}')"
- cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} packets)")"
- cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} packets)")"
+ cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} )")"
+ cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} )")"
cnt_ip=$((cnt-cnt_cidr-cnt_mac))
printf "%s\n" "${cnt}" > "${tmp_cnt}"
f_iptables
rm -f "${ban_backupdir}/${src_name}.file"
src_list="$("${ban_ipset_cmd}" -q list "${src_name}")"
cnt="$(printf "%s\n" "${src_list}" | awk '/^Number of entries:/{print $4}')"
- cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} packets)")"
- cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} packets)")"
+ cnt_mac="$(printf "%s\n" "${src_list}" | grep -cE "^(([0-9A-Z][0-9A-Z]:){5}[0-9A-Z]{2} )")"
+ cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "(/[0-9]{1,3} )")"
cnt_ip=$((cnt-cnt_cidr-cnt_mac))
printf "%s\n" "${cnt}" > "${tmp_cnt}"
fi
"${ban_ipt6_cmd}" "${timeout}" -X "${chain}" 2>/dev/null
fi
done
- for src in ${ban_sources} ${ban_localsources}
+ for src in ${ban_sources} maclist blacklist whitelist
do
if [ "${src}" = "maclist" ] && [ -n "$("${ban_ipset_cmd}" -q -n list "${src}")" ]
then
f_down "${src_name}" "4" "inet" "${ban_whitelist}" "${src_rule_4}"
)&
fi
+ else
+ (
+ src_name="${src_name}_4"
+ f_ipset "flush"
+ )&
fi
if [ "${ban_proto6_enabled}" = "1" ]
then
f_down "${src_name}" "6" "inet6" "${ban_whitelist}" "${src_rule_6}"
)&
fi
+ else
+ (
+ src_name="${src_name}_6"
+ f_ipset "flush"
+ )&
fi
done
wait
if [ -z "$(printf "%s" "${ban_sources}" | grep -F "${src_name%_*}")" ]
then
ban_sources="${ban_sources} ${src_name%_*}"
- ban_allsources="${ban_allsources/${src_name%_*}/}"
+ ban_allsources="${ban_allsources//${src_name%_*}/}"
fi
fi
done
if [ -n "${src_list}" ]
then
cnt="$(printf "%s" "${src_list}" | awk '/^Number of entries:/{print $4}')"
- cnt_acc="$(printf "%s" "${src_list}" | grep -cE " packets [1-9]+")"
+ cnt_acc="$(printf "%s" "${src_list}" | grep -cE "packets [1-9]+")"
cnt_acc_sum=$((cnt_acc_sum+cnt_acc))
cnt_mac_sum="${cnt}"
cnt_sum=$((cnt_sum+cnt))
if [ -n "${src_list}" ]
then
cnt="$(printf "%s\n" "${src_list}" | awk '/^Number of entries:/{print $4}')"
- cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "/[0-9]{1,3} packets [0-9]+")"
+ cnt_cidr="$(printf "%s\n" "${src_list}" | grep -cE "/[0-9]{1,3} ")"
cnt_ip=$((cnt-cnt_cidr-cnt_mac))
- cnt_acc="$(printf "%s\n" "${src_list}" | grep -cE " packets [1-9]+")"
+ cnt_acc="$(printf "%s\n" "${src_list}" | grep -cE "packets [1-9]+")"
cnt_cidr_sum=$((cnt_cidr_sum+cnt_cidr))
cnt_ip_sum=$((cnt_ip_sum+cnt_ip))
cnt_acc_sum=$((cnt_acc_sum+cnt_acc))
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/cgi-io
SECTION:=net
PKG_CPE_ID:=cpe:/a:clamav:clamav
PKG_BUILD_DEPENDS:=ncurses
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/clamav/Default
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=cshark
-PKG_SOURCE_DATE:=2018-08-20
-PKG_SOURCE_VERSION:=7a7cf7f35074b85c6fb0c52067e640d2433ef73b
-PKG_RELEASE:=1
+PKG_SOURCE_DATE:=2020-07-22
+PKG_SOURCE_VERSION:=c0d32fb6df3cd095fecac8aefe8d188170246403
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cloudshark/cshark.git
-PKG_MIRROR_HASH:=b09822e93d7de7f4aa9fa018c304ebc52dd3419de3dd2eff463986d3a3b8ca71
+PKG_MIRROR_HASH:=35fd177653725e64c330fca62e674c1106d5893c8a33bad29b8e6dac4a4d4dcc
PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org>
PKG_LICENSE:=BSD-2-Clause
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/cshark
SECTION:=net
DEPENDS:=+libjson-c +libpcap +libuci +libubox +libuclient +libustream-mbedtls
endef
-CMAKE_OPTIONS = \
+CMAKE_OPTIONS += \
-DWITH_DEBUG=OFF
define Package/cshark/conffiles
$(INSTALL_CONF) \
$(PKG_BUILD_DIR)/config/cshark \
$(1)/etc/config/
-
- $(INSTALL_DIR) $(1)/etc/ssl/certs
- $(INSTALL_CONF) \
- $(PKG_BUILD_DIR)/config/ca-the_usertrust_network.pem \
- $(1)/etc/ssl/certs/
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=curl
-PKG_VERSION:=7.75.0
+PKG_VERSION:=7.76.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
https://curl.mirror.anstey.ca/ \
https://curl.askapache.com/download/ \
https://curl.haxx.se/download/
-PKG_HASH:=fe0c49d8468249000bda75bcfdf9e30ff7e9a86d35f1a21f428d79c389d55675
+PKG_HASH:=6302e2d75c59cdc6b35ce3fbe716481dd4301841bbb5fd71854653652a014fc8
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/dawn
SECTION:=net
PKG_LICENSE:=GPL-2.0-or-later
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/etherwake-nfqueue
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=frr
-PKG_VERSION:=7.5
-PKG_RELEASE:=5
-PKG_SOURCE_DATE:=2021-02-26
+PKG_VERSION:=7.5.1
+PKG_RELEASE:=1
+PKG_SOURCE_DATE:=2021-03-25
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
-PKG_SOURCE_VERSION:=13a8efb4b6e3c92e8b9361c9cb1e78a86b0194cf
+PKG_SOURCE_VERSION:=18f209926fb659790926b82dd4e30727311d22aa
PKG_SOURCE_URL:=https://codeload.github.com/FRRouting/frr/tar.gz/$(PKG_SOURCE_VERSION)?
-PKG_HASH:=6e313edff69cd12444b53dbc5593892b280280b7735e620c00189a669f80bdcc
+PKG_HASH:=a2e21ea5f5c73afda521280c7b1bab3e6734f78517e7cf1b86cbbc0e5f9856cc
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
$(SED) 's/$$$$(MAKE) $$$$(AM_MAKEFLAGS) install-am/# $$$$(MAKE) $$$$(AM_MAKEFLAGS) install-am/' $(HOST_BUILD_DIR)/Makefile.in
endef
+#HOST_CPPFLAGS += -I$(STAGING_DIR_HOST)/include/libelf
HOST_CONFIGURE_ARGS+= \
--enable-clippy-only
--prefix=/usr \
--enable-shared \
--disable-static \
+ --disable-pathd \
--enable-user=network \
--enable-group=network \
--disable-ospfclient \
-From f9ff7bf497894b74fd02d54dc0f0a39981f7cc06 Mon Sep 17 00:00:00 2001
+From 6ea5d99456b14db5e82abc2461228bb37aa7556d Mon Sep 17 00:00:00 2001
From: Amol Lad <amol.lad@4rf.com>
Date: Wed, 17 Feb 2021 13:47:32 +1300
-Subject: [PATCH 1/6] nhrpd: Add support for forwarding multicast packets
+Subject: [PATCH 01/14] nhrpd: Add support for forwarding multicast packets
Forwarding multicast is a pre-requisite for allowing multicast based routing
protocols such as OSPF to work with DMVPN
---
nhrpd/linux.c | 11 +-
nhrpd/nhrp_interface.c | 2 +
- nhrpd/nhrp_multicast.c | 312 +++++++++++++++++++++++++++++++++++++++++
+ nhrpd/nhrp_multicast.c | 307 +++++++++++++++++++++++++++++++++++++++++
nhrpd/nhrp_peer.c | 3 +-
nhrpd/nhrp_vty.c | 63 +++++++++
nhrpd/nhrpd.h | 16 +++
nhrpd/os.h | 2 +-
nhrpd/subdir.am | 1 +
- 8 files changed, 403 insertions(+), 7 deletions(-)
- create mode 100644 nhrpd/nhrp_multicast.c
+ 8 files changed, 398 insertions(+), 7 deletions(-)
+ create mode 100755 nhrpd/nhrp_multicast.c
--- a/nhrpd/linux.c
+++ b/nhrpd/linux.c
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <sys/types.h>
-@@ -42,7 +43,7 @@ int os_socket(void)
+@@ -31,6 +32,11 @@
+ #include "os.h"
+ #include "netlink.h"
+
++#ifndef HAVE_STRLCPY
++size_t strlcpy(char *__restrict dest,
++ const char *__restrict src, size_t destsize);
++#endif
++
+ static int nhrp_socket_fd = -1;
+
+ int os_socket(void)
+@@ -42,7 +48,7 @@ int os_socket(void)
}
int os_sendmsg(const uint8_t *buf, size_t len, int ifindex, const uint8_t *addr,
{
struct sockaddr_ll lladdr;
struct iovec iov = {
-@@ -61,16 +62,16 @@ int os_sendmsg(const uint8_t *buf, size_
+@@ -61,16 +67,16 @@ int os_sendmsg(const uint8_t *buf, size_
memset(&lladdr, 0, sizeof(lladdr));
lladdr.sll_family = AF_PACKET;
}
int os_recvmsg(uint8_t *buf, size_t *len, int *ifindex, uint8_t *addr,
+@@ -111,7 +117,7 @@ static int linux_configure_arp(const cha
+ {
+ struct ifreq ifr;
+
+- strncpy(ifr.ifr_name, iface, IFNAMSIZ - 1);
++ strlcpy(ifr.ifr_name, iface, IFNAMSIZ);
+ if (ioctl(nhrp_socket_fd, SIOCGIFFLAGS, &ifr))
+ return -1;
+
--- a/nhrpd/nhrp_interface.c
+++ b/nhrpd/nhrp_interface.c
@@ -42,6 +42,7 @@ static int nhrp_if_new_hook(struct inter
if (nifp->ipsec_profile)
--- /dev/null
+++ b/nhrpd/nhrp_multicast.c
-@@ -0,0 +1,312 @@
+@@ -0,0 +1,309 @@
+/* NHRP Multicast Support
+ * Copyright (c) 2020-2021 4RF Limited
+ *
+
+DEFINE_MTYPE_STATIC(NHRPD, NHRP_MULTICAST, "NHRP Multicast")
+
-+static int netlink_mcast_nflog_group;
++int netlink_mcast_nflog_group;
+static int netlink_mcast_log_fd = -1;
+static struct thread *netlink_mcast_log_thread;
-+static int nhrp_multicast_ip_count;
+
+struct mcast_ctx {
+ struct interface *ifp;
+
+ addrlen = sockunion_get_addrlen(&p->vc->remote.nbma);
+ ret = os_sendmsg(zb->head, zbuf_used(zb), p->ifp->ifindex,
-+ sockunion_get_addr(&p->vc->remote.nbma),
-+ addrlen, addrlen == 4 ? 0x0800 : 0x86DD);
-+
-+ debugf(NHRP_DEBUG_COMMON, "Multicast Packet: %s -> %s, ret = %d, size = %zu, addrlen = %zu",
-+ sockunion2str(&p->vc->local.nbma, buf[0], sizeof(buf[0])),
-+ sockunion2str(&p->vc->remote.nbma, buf[1], sizeof(buf[1])),
-+ ret, zbuf_used(zb), addrlen);
++ sockunion_get_addr(&p->vc->remote.nbma), addrlen,
++ addrlen == 4 ? ETH_P_IP : ETH_P_IPV6);
++
++ debugf(NHRP_DEBUG_COMMON,
++ "Multicast Packet: %s -> %s, ret = %d, size = %zu, addrlen = %zu",
++ sockunion2str(&p->vc->local.nbma, buf[0], sizeof(buf[0])),
++ sockunion2str(&p->vc->remote.nbma, buf[1], sizeof(buf[1])), ret,
++ zbuf_used(zb), addrlen);
+}
+
-+static void nhrp_multicast_forward_nbma(union sockunion *nbma_addr, struct interface *ifp, struct zbuf *pkt)
++static void nhrp_multicast_forward_nbma(union sockunion *nbma_addr,
++ struct interface *ifp, struct zbuf *pkt)
+{
+ struct nhrp_peer *p = nhrp_peer_get(ifp, nbma_addr);
-+ if(p && p->online) {
++
++ if (p && p->online) {
+ /* Send packet */
+ nhrp_multicast_send(p, pkt);
+ }
+ struct mcast_ctx *ctx = (struct mcast_ctx *)pctx;
+
+ if (c->cur.type == NHRP_CACHE_DYNAMIC && c->cur.peer)
-+ nhrp_multicast_forward_nbma(&c->cur.peer->vc->remote.nbma, ctx->ifp, ctx->pkt);
++ nhrp_multicast_forward_nbma(&c->cur.peer->vc->remote.nbma,
++ ctx->ifp, ctx->pkt);
+}
+
+static void nhrp_multicast_forward(struct nhrp_multicast *mcast, void *pctx)
+
+ /* dynamic */
+ if (sockunion_family(&mcast->nbma_addr) == AF_UNSPEC) {
-+ nhrp_cache_foreach(ctx->ifp, nhrp_multicast_forward_cache, pctx);
++ nhrp_cache_foreach(ctx->ifp, nhrp_multicast_forward_cache,
++ pctx);
+ return;
+ }
+
+{
+ struct nfgenmsg *nf;
+ struct rtattr *rta;
-+ struct zbuf rtapl, pktpl;
-+ struct interface *ifp;
++ struct zbuf rtapl;
+ uint32_t *out_ndx = NULL;
+ afi_t afi;
+ struct mcast_ctx ctx;
+
-+ debugf(NHRP_DEBUG_COMMON,"Inside %s\n", __func__);
-+
+ nf = znl_pull(zb, sizeof(*nf));
+ if (!nf)
+ return;
+
-+ memset(&pktpl, 0, sizeof(pktpl));
++ ctx.pkt = NULL;
+ while ((rta = znl_rta_pull(zb, &rtapl)) != NULL) {
+ switch (rta->rta_type) {
+ case NFULA_IFINDEX_OUTDEV:
+ out_ndx = znl_pull(&rtapl, sizeof(*out_ndx));
+ break;
+ case NFULA_PAYLOAD:
-+ pktpl = rtapl;
++ ctx.pkt = &rtapl;
+ break;
+ /* NFULA_HWHDR exists and is supposed to contain source
+ * hardware address. However, for ip_gre it seems to be
+ * the nexthop destination address if the packet matches
-+ * route. */
++ * route.
++ */
+ }
+ }
+
-+ if (!out_ndx || !zbuf_used(&pktpl))
++ if (!out_ndx || !ctx.pkt)
+ return;
+
-+ ifp = if_lookup_by_index(htonl(*out_ndx), VRF_DEFAULT);
-+ if (!ifp)
++ ctx.ifp = if_lookup_by_index(htonl(*out_ndx), VRF_DEFAULT);
++ if (!ctx.ifp)
+ return;
+
-+ debugf(NHRP_DEBUG_COMMON,"Outgoing interface = %s\n", ifp->name);
-+
-+ ctx = (struct mcast_ctx) {
-+ .ifp = ifp,
-+ .pkt = &pktpl,
-+ };
++ debugf(NHRP_DEBUG_COMMON, "Received multicast packet on %s len %zu\n",
++ ctx.ifp->name, zbuf_used(ctx.pkt));
+
+ for (afi = 0; afi < AFI_MAX; afi++) {
-+ nhrp_multicast_foreach(ifp, afi, nhrp_multicast_forward, (void *)&ctx);
++ nhrp_multicast_foreach(ctx.ifp, afi, nhrp_multicast_forward,
++ (void *)&ctx);
+ }
+}
+
+ zbuf_free(zb);
+}
+
-+static void netlink_mcast_set_nflog_group(struct interface *ifp, int nlgroup)
++void netlink_mcast_set_nflog_group(int nlgroup)
+{
+ if (netlink_mcast_log_fd >= 0) {
+ THREAD_OFF(netlink_mcast_log_thread);
+ return;
+
+ netlink_mcast_log_register(netlink_mcast_log_fd, nlgroup);
-+ thread_add_read(master, netlink_mcast_log_recv, 0, netlink_mcast_log_fd,
++ thread_add_read(master, netlink_mcast_log_recv, 0,
++ netlink_mcast_log_fd,
+ &netlink_mcast_log_thread);
-+ debugf(NHRP_DEBUG_COMMON, "Register nflog group: %d", netlink_mcast_nflog_group);
++ debugf(NHRP_DEBUG_COMMON, "Register nflog group: %d",
++ netlink_mcast_nflog_group);
+ }
+}
+
-+static int nhrp_multicast_free(struct interface *ifp, struct nhrp_multicast *mcast)
++static int nhrp_multicast_free(struct interface *ifp,
++ struct nhrp_multicast *mcast)
+{
+ list_del(&mcast->list_entry);
+ XFREE(MTYPE_NHRP_MULTICAST, mcast);
-+ if (--nhrp_multicast_ip_count == 0)
-+ netlink_mcast_set_nflog_group(ifp, 0);
+ return 0;
+}
+
-+int nhrp_multicast_add(struct interface *ifp, afi_t afi, union sockunion *nbma_addr)
++int nhrp_multicast_add(struct interface *ifp, afi_t afi,
++ union sockunion *nbma_addr)
+{
+ struct nhrp_interface *nifp = ifp->info;
+ struct nhrp_multicast *mcast;
+ mcast = XMALLOC(MTYPE_NHRP_MULTICAST, sizeof(struct nhrp_multicast));
+
+ *mcast = (struct nhrp_multicast){
-+ .afi = afi,
-+ .ifp = ifp,
-+ .nbma_addr = *nbma_addr,
++ .afi = afi, .ifp = ifp, .nbma_addr = *nbma_addr,
+ };
+ list_add_tail(&mcast->list_entry, &nifp->afi[afi].mcastlist_head);
+
-+ if (netlink_mcast_log_fd == -1)
-+ netlink_mcast_set_nflog_group(ifp, MCAST_NFLOG_GROUP);
-+
-+ nhrp_multicast_ip_count++;
-+
+ sockunion2str(nbma_addr, buf, sizeof(buf));
-+ debugf(NHRP_DEBUG_COMMON, "Adding multicast entry (%s) [%d]", buf, nhrp_multicast_ip_count);
++ debugf(NHRP_DEBUG_COMMON, "Adding multicast entry (%s)", buf);
+
+ return NHRP_OK;
+}
+
-+int nhrp_multicast_del(struct interface *ifp, afi_t afi, union sockunion *nbma_addr)
++int nhrp_multicast_del(struct interface *ifp, afi_t afi,
++ union sockunion *nbma_addr)
+{
+ struct nhrp_interface *nifp = ifp->info;
+ struct nhrp_multicast *mcast, *tmp;
+ continue;
+
+ sockunion2str(nbma_addr, buf, sizeof(buf));
-+ debugf(NHRP_DEBUG_COMMON, "Deleting multicast entry (%s) [%d]", buf, nhrp_multicast_ip_count);
++ debugf(NHRP_DEBUG_COMMON, "Deleting multicast entry (%s)", buf);
+
+ nhrp_multicast_free(ifp, mcast);
+
+ afi_t afi;
+
+ for (afi = 0; afi < AFI_MAX; afi++) {
-+ debugf(NHRP_DEBUG_COMMON, "Cleaning up multicast entries (%d, %d)", !list_empty(&nifp->afi[afi].mcastlist_head), nhrp_multicast_ip_count);
++ debugf(NHRP_DEBUG_COMMON,
++ "Cleaning up multicast entries (%d)",
++ !list_empty(&nifp->afi[afi].mcastlist_head));
+
+ list_for_each_entry_safe(
-+ mcast, tmp, &nifp->afi[afi].mcastlist_head,
-+ list_entry) {
++ mcast, tmp, &nifp->afi[afi].mcastlist_head, list_entry)
++ {
+ nhrp_multicast_free(ifp, mcast);
+ }
+ }
+}
+
+void nhrp_multicast_foreach(struct interface *ifp, afi_t afi,
-+ void (*cb)(struct nhrp_multicast *, void *),
-+ void *ctx)
++ void (*cb)(struct nhrp_multicast *, void *),
++ void *ctx)
+{
+ struct nhrp_interface *nifp = ifp->info;
+ struct nhrp_multicast *mcast;
+
+ list_for_each_entry(mcast, &nifp->afi[afi].mcastlist_head, list_entry)
+ {
-+ cb (mcast, ctx);
++ cb(mcast, ctx);
+ }
+}
--- a/nhrpd/nhrp_peer.c
+++ b/nhrpd/nhrp_peer.c
-@@ -337,7 +337,8 @@ void nhrp_peer_send(struct nhrp_peer *p,
+@@ -337,7 +337,7 @@ void nhrp_peer_send(struct nhrp_peer *p,
os_sendmsg(zb->head, zbuf_used(zb), p->ifp->ifindex,
sockunion_get_addr(&p->vc->remote.nbma),
- sockunion_get_addrlen(&p->vc->remote.nbma));
-+ sockunion_get_addrlen(&p->vc->remote.nbma),
-+ ETH_P_NHRP);
++ sockunion_get_addrlen(&p->vc->remote.nbma), ETH_P_NHRP);
zbuf_reset(zb);
}
--- a/nhrpd/nhrp_vty.c
+++ b/nhrpd/nhrp_vty.c
-@@ -569,6 +569,53 @@ DEFUN(if_no_nhrp_map, if_no_nhrp_map_cmd
+@@ -187,6 +187,9 @@ static int nhrp_config_write(struct vty
+ if (netlink_nflog_group) {
+ vty_out(vty, "nhrp nflog-group %d\n", netlink_nflog_group);
+ }
++ if (netlink_mcast_nflog_group)
++ vty_out(vty, "nhrp multicast-nflog-group %d\n",
++ netlink_mcast_nflog_group);
+
+ return 0;
+ }
+@@ -257,6 +260,31 @@ DEFUN(no_nhrp_nflog_group, no_nhrp_nflog
+ return CMD_SUCCESS;
+ }
+
++DEFUN(nhrp_multicast_nflog_group, nhrp_multicast_nflog_group_cmd,
++ "nhrp multicast-nflog-group (1-65535)",
++ NHRP_STR
++ "Specify NFLOG group number for Multicast Packets\n"
++ "NFLOG group number\n")
++{
++ uint32_t nfgroup;
++
++ nfgroup = strtoul(argv[2]->arg, NULL, 10);
++ netlink_mcast_set_nflog_group(nfgroup);
++
++ return CMD_SUCCESS;
++}
++
++DEFUN(no_nhrp_multicast_nflog_group, no_nhrp_multicast_nflog_group_cmd,
++ "no nhrp multicast-nflog-group [(1-65535)]",
++ NO_STR
++ NHRP_STR
++ "Specify NFLOG group number\n"
++ "NFLOG group number\n")
++{
++ netlink_mcast_set_nflog_group(0);
++ return CMD_SUCCESS;
++}
++
+ DEFUN(tunnel_protection, tunnel_protection_cmd,
+ "tunnel protection vici profile PROFILE [fallback-profile FALLBACK]",
+ "NHRP/GRE integration\n"
+@@ -569,6 +597,53 @@ DEFUN(if_no_nhrp_map, if_no_nhrp_map_cmd
return CMD_SUCCESS;
}
DEFUN(if_nhrp_nhs, if_nhrp_nhs_cmd,
AFI_CMD " nhrp nhs <A.B.C.D|X:X::X:X|dynamic> nbma <A.B.C.D|FQDN>",
AFI_STR
-@@ -1040,6 +1087,7 @@ static int interface_config_write(struct
+@@ -644,8 +719,8 @@ static void show_ip_nhrp_cache(struct nh
+
+ sockunion2str(&c->remote_addr, buf[0], sizeof(buf[0]));
+ if (c->cur.peer)
+- sockunion2str(&c->cur.peer->vc->remote.nbma,
+- buf[1], sizeof(buf[1]));
++ sockunion2str(&c->cur.peer->vc->remote.nbma, buf[1],
++ sizeof(buf[1]));
+ else
+ snprintf(buf[1], sizeof(buf[1]), "-");
+
+@@ -704,8 +779,8 @@ static void show_ip_nhrp_nhs(struct nhrp
+ ctx->count++;
+
+ if (reg && reg->peer)
+- sockunion2str(®->peer->vc->remote.nbma,
+- buf[0], sizeof(buf[0]));
++ sockunion2str(®->peer->vc->remote.nbma, buf[0],
++ sizeof(buf[0]));
+ else
+ snprintf(buf[0], sizeof(buf[0]), "-");
+ sockunion2str(reg ? ®->proto_addr : &n->proto_addr, buf[1],
+@@ -1018,7 +1093,8 @@ struct write_map_ctx {
+ const char *aficmd;
+ };
+
+-static void interface_config_write_nhrp_map(struct nhrp_cache_config *c, void *data)
++static void interface_config_write_nhrp_map(struct nhrp_cache_config *c,
++ void *data)
+ {
+ struct write_map_ctx *ctx = data;
+ struct vty *vty = ctx->vty;
+@@ -1030,7 +1106,8 @@ static void interface_config_write_nhrp_
+ vty_out(vty, " %s nhrp map %s %s\n", ctx->aficmd,
+ sockunion2str(&c->remote_addr, buf[0], sizeof(buf[0])),
+ c->type == NHRP_CACHE_LOCAL
+- ? "local" : sockunion2str(&c->nbma, buf[1], sizeof(buf[1])));
++ ? "local"
++ : sockunion2str(&c->nbma, buf[1], sizeof(buf[1])));
+ }
+
+ static int interface_config_write(struct vty *vty)
+@@ -1040,6 +1117,7 @@ static int interface_config_write(struct
struct interface *ifp;
struct nhrp_interface *nifp;
struct nhrp_nhs *nhs;
const char *aficmd;
afi_t afi;
char buf[SU_ADDRSTRLEN];
-@@ -1109,6 +1157,19 @@ static int interface_config_write(struct
+@@ -1093,8 +1171,8 @@ static int interface_config_write(struct
+ .family = afi2family(afi),
+ .aficmd = aficmd,
+ };
+- nhrp_cache_config_foreach(ifp, interface_config_write_nhrp_map,
+- &mapctx);
++ nhrp_cache_config_foreach(
++ ifp, interface_config_write_nhrp_map, &mapctx);
+
+ list_for_each_entry(nhs, &ad->nhslist_head,
+ nhslist_entry)
+@@ -1109,6 +1187,19 @@ static int interface_config_write(struct
sizeof(buf)),
nhs->nbma_fqdn);
}
+ == AF_UNSPEC
+ ? "dynamic"
+ : sockunion2str(
-+ &mcast->nbma_addr, buf,
-+ sizeof(buf)));
++ &mcast->nbma_addr,
++ buf, sizeof(buf)));
+ }
}
vty_endframe(vty, "!\n");
-@@ -1163,6 +1224,8 @@ void nhrp_config_init(void)
+@@ -1142,6 +1233,8 @@ void nhrp_config_init(void)
+ install_element(CONFIG_NODE, &no_nhrp_event_socket_cmd);
+ install_element(CONFIG_NODE, &nhrp_nflog_group_cmd);
+ install_element(CONFIG_NODE, &no_nhrp_nflog_group_cmd);
++ install_element(CONFIG_NODE, &nhrp_multicast_nflog_group_cmd);
++ install_element(CONFIG_NODE, &no_nhrp_multicast_nflog_group_cmd);
+
+ /* interface specific commands */
+ install_node(&nhrp_interface_node);
+@@ -1163,6 +1256,8 @@ void nhrp_config_init(void)
install_element(INTERFACE_NODE, &if_no_nhrp_reg_flags_cmd);
install_element(INTERFACE_NODE, &if_nhrp_map_cmd);
install_element(INTERFACE_NODE, &if_no_nhrp_map_cmd);
}
--- a/nhrpd/nhrpd.h
+++ b/nhrpd/nhrpd.h
-@@ -24,6 +24,7 @@ DECLARE_MGROUP(NHRPD)
-
- #define NHRP_VTY_PORT 2610
- #define NHRP_DEFAULT_CONFIG "nhrpd.conf"
-+#define MCAST_NFLOG_GROUP 224
-
- extern struct thread_master *master;
-
-@@ -259,6 +260,13 @@ struct nhrp_nhs {
+@@ -259,6 +259,13 @@ struct nhrp_nhs {
struct list_head reglist_head;
};
struct nhrp_registration {
struct list_head reglist_entry;
struct thread *t_register;
-@@ -304,6 +312,7 @@ struct nhrp_interface {
+@@ -304,6 +311,7 @@ struct nhrp_interface {
unsigned short mtu;
unsigned int holdtime;
struct list_head nhslist_head;
} afi[AFI_MAX];
};
-@@ -345,6 +354,13 @@ void nhrp_nhs_foreach(struct interface *
+@@ -345,6 +353,16 @@ void nhrp_nhs_foreach(struct interface *
void *ctx);
void nhrp_nhs_interface_del(struct interface *ifp);
-+int nhrp_multicast_add(struct interface *ifp, afi_t afi, union sockunion *nbma_addr);
-+int nhrp_multicast_del(struct interface *ifp, afi_t afi, union sockunion *nbma_addr);
++int nhrp_multicast_add(struct interface *ifp, afi_t afi,
++ union sockunion *nbma_addr);
++int nhrp_multicast_del(struct interface *ifp, afi_t afi,
++ union sockunion *nbma_addr);
+void nhrp_multicast_interface_del(struct interface *ifp);
+void nhrp_multicast_foreach(struct interface *ifp, afi_t afi,
-+ void (*cb)(struct nhrp_multicast *, void *),
-+ void *ctx);
++ void (*cb)(struct nhrp_multicast *, void *),
++ void *ctx);
++void netlink_mcast_set_nflog_group(int nlgroup);
+
void nhrp_route_update_nhrp(const struct prefix *p, struct interface *ifp);
void nhrp_route_announce(int add, enum nhrp_cache_type type,
ospf_nbr_self_reset(oi, oi->ospf->router_id);
--- a/doc/user/nhrpd.rst
+++ b/doc/user/nhrpd.rst
-@@ -189,6 +189,34 @@ and
+@@ -189,6 +189,37 @@ and
https://git.alpinelinux.org/user/tteras/strongswan/log/?h=tteras
git repositories for the patches.
+protocols that use multicast (such as OSPF) to be supported in the DMVPN
+network.
+
-+This support requires an NFLOG redirection rule to work:
++This support requires an iptables NFLOG rule to allow nhrpd to intercept
++multicast packets. A second iptables rule is also usually used to drop the
++original multicast packet.
+
+ .. code-block:: shell
+
-+ iptables -I OUTPUT -d 224.0.0.0/24 -o gre1 -j NFLOG --nflog-group 2
++ iptables -A OUTPUT -d 224.0.0.0/24 -o gre1 -j NFLOG --nflog-group 2
++ iptables -A OUTPUT -d 224.0.0.0/24 -o gre1 -j DROP
+
+.. index:: nhrp multicast-nflog-group (1-65535)
+.. clicmd:: nhrp multicast-nflog-group (1-65535)
.. _showing-ospf-information:
+--- a/nhrpd/netlink.h
++++ b/nhrpd/netlink.h
+@@ -13,6 +13,7 @@ union sockunion;
+ struct interface;
+
+ extern int netlink_nflog_group;
++extern int netlink_mcast_nflog_group;
+ extern int netlink_req_fd;
+
+ void netlink_init(void);
+--- a/ospfd/ospf_packet.c
++++ b/ospfd/ospf_packet.c
+@@ -802,7 +802,13 @@ static int ospf_write(struct thread *thr
+ inet_ntoa(iph.ip_dst), iph.ip_id, iph.ip_off,
+ iph.ip_len, oi->ifp->name, oi->ifp->mtu);
+
+- if (ret < 0)
++ /* sendmsg will return EPERM if firewall is blocking sending.
++ * This is a normal situation when 'ip nhrp map multicast xxx'
++ * is being used to send multicast packets to DMVPN peers. In
++ * that case the original message is blocked with iptables rule
++ * causing the EPERM result
++ */
++ if (ret < 0 && errno != EPERM)
+ flog_err(
+ EC_LIB_SOCKET,
+ "*** sendmsg in ospf_write failed to %s, id %d, off %d, len %d, interface %s, mtu %u: %s",
+@@ -910,8 +916,11 @@ static void ospf_hello(struct ip *iph, s
+
+ /* Compare network mask. */
+ /* Checking is ignored for Point-to-Point and Virtual link. */
++ /* Checking is also ignored for Point-to-Multipoint with /32 prefix */
+ if (oi->type != OSPF_IFTYPE_POINTOPOINT
+- && oi->type != OSPF_IFTYPE_VIRTUALLINK)
++ && oi->type != OSPF_IFTYPE_VIRTUALLINK
++ && !(oi->type == OSPF_IFTYPE_POINTOMULTIPOINT
++ && oi->address->prefixlen == IPV4_MAX_BITLEN))
+ if (oi->address->prefixlen != p.prefixlen) {
+ flog_warn(
+ EC_OSPF_PACKET,
+@@ -2439,6 +2448,11 @@ static int ospf_check_network_mask(struc
+ || oi->type == OSPF_IFTYPE_VIRTUALLINK)
+ return 1;
+
++ /* Ignore mask check for max prefix length (32) */
++ if (oi->type == OSPF_IFTYPE_POINTOMULTIPOINT
++ && oi->address->prefixlen == IPV4_MAX_BITLEN)
++ return 1;
++
+ masklen2ip(oi->address->prefixlen, &mask);
+
+ me.s_addr = oi->address->u.prefix4.s_addr & mask.s_addr;
+++ /dev/null
-From bd9caa8f11d931db21f628ad61be042147861ad4 Mon Sep 17 00:00:00 2001
-From: Mark Stapp <mjs@voltanet.io>
-Date: Fri, 26 Feb 2021 11:16:09 -0500
-Subject: [PATCH 1/3] lib: fix some misc SA warnings
-
-- clippy.c: fix valid memleak
-- defun_lex.l: suppress warnings in generated code
-- northbound_cli.c: suppress warning in eldritch libyang macro
-
-Signed-off-by: Quentin Young <qlyoung@nvidia.com>
----
- lib/clippy.c | 4 +++-
- lib/defun_lex.l | 4 ++++
- lib/northbound_cli.c | 12 ++++++++++++
- 3 files changed, 19 insertions(+), 1 deletion(-)
-
---- a/lib/clippy.c
-+++ b/lib/clippy.c
-@@ -51,7 +51,8 @@ int main(int argc, char **argv)
- #if PY_VERSION_HEX >= 0x03040000 /* 3.4 */
- Py_SetStandardStreamEncoding("UTF-8", NULL);
- #endif
-- Py_SetProgramName(wconv(argv[0]));
-+ wchar_t *name = wconv(argv[0]);
-+ Py_SetProgramName(name);
- PyImport_AppendInittab("_clippy", command_py_init);
-
- Py_Initialize();
-@@ -67,6 +68,8 @@ int main(int argc, char **argv)
- fp = fopen(pyfile, "r");
- if (!fp) {
- fprintf(stderr, "%s: %s\n", pyfile, strerror(errno));
-+
-+ free(name);
- return 1;
- }
- } else {
-@@ -85,6 +88,8 @@ int main(int argc, char **argv)
- if (PyRun_AnyFile(fp, pyfile)) {
- if (PyErr_Occurred())
- PyErr_Print();
-+
-+ free(name);
- return 1;
- }
- Py_Finalize();
-@@ -93,6 +98,7 @@ int main(int argc, char **argv)
- for (int i = 1; i < argc; i++)
- free(wargv[i - 1]);
- #endif
-+ free(name);
- free(wargv);
- return 0;
- }
---- a/lib/defun_lex.l
-+++ b/lib/defun_lex.l
-@@ -80,6 +80,8 @@ static void extendbuf(char **what, const
- }
- #define extend(x) extendbuf(&value, x)
-
-+#ifndef __clang_analyzer__
-+
- %}
-
- ID [A-Za-z0-9_]+
-@@ -157,6 +159,8 @@ SPECIAL [(),]
-
- %%
-
-+#endif /* __clang_analyzer__ */
-+
- static int yylex_clr(char **retbuf)
- {
- int rv = def_yylex();
---- a/lib/northbound_cli.c
-+++ b/lib/northbound_cli.c
-@@ -595,7 +595,19 @@ void nb_cli_show_dnode_cmds(struct vty *
- (*nb_node->cbs.cli_show_end)(vty, parent);
- }
-
-+ /*
-+ * There is a possible path in this macro that ends up
-+ * dereferencing child->parent->parent. We just null checked
-+ * child->parent by checking (ly_iter_next_up(child) != NULL)
-+ * above.
-+ *
-+ * I am not sure whether it is possible for the other
-+ * conditions within this macro guarding the problem
-+ * dereference to be satisfied when child->parent == NULL.
-+ */
-+#ifndef __clang_analyzer__
- LY_TREE_DFS_END(root, next, child);
-+#endif
- }
- }
-
--- /dev/null
+From 354196c027e81affb05163a6c3676eef1ba06dd9 Mon Sep 17 00:00:00 2001
+From: Zoran Pericic <zpericic@netst.org>
+Date: Sat, 25 Jan 2020 19:38:39 +0100
+Subject: [PATCH] nhrp: Make vici socket path configurable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+nhrp: Configure vici socket path using
+
+configure --with-vici-socket=/var/run/charon.vici
+
+If not specified default to /var/run/charon.vici
+
+Signed-off-by: Zoran Peričić <zpericic@netst.org>
+---
+ configure.ac | 8 ++++++++
+ doc/user/installation.rst | 4 ++++
+ nhrpd/README.nhrpd | 3 ++-
+ nhrpd/vici.c | 2 +-
+ 4 files changed, 15 insertions(+), 2 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -139,6 +139,13 @@ AC_ARG_WITH([yangmodelsdir], [AS_HELP_ST
+ ])
+ AC_SUBST([yangmodelsdir])
+
++AC_ARG_WITH([vici-socket], [AS_HELP_STRING([--with-vici-socket=PATH], [vici-socket (/var/run/charon.vici)])], [
++ vici_socket="$withval"
++], [
++ vici_socket="/var/run/charon.vici"
++])
++AC_DEFINE_UNQUOTED([VICI_SOCKET], ["$vici_socket"], [StrongSWAN vici socket path])
++
+ AC_ARG_ENABLE(tcmalloc,
+ AS_HELP_STRING([--enable-tcmalloc], [Turn on tcmalloc]),
+ [case "${enableval}" in
+@@ -2480,6 +2487,7 @@ group for vty sockets : ${enable_vty_g
+ config file mask : ${enable_configfile_mask}
+ log file mask : ${enable_logfile_mask}
+ zebra protobuf enabled : ${enable_protobuf:-no}
++vici socket path : ${vici_socket}
+
+ The above user and group must have read/write access to the state file
+ directory and to the config files in the config file directory."
+--- a/doc/user/installation.rst
++++ b/doc/user/installation.rst
+@@ -383,6 +383,10 @@ options to the configuration script.
+ Look for YANG modules in `dir` [`prefix`/share/yang]. Note that the FRR
+ YANG modules will be installed here.
+
++.. option:: --with-vici-socket <path>
++
++ Set StrongSWAN vici interface socket path [/var/run/charon.vici].
++
+ Python dependency, documentation and tests
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+--- a/nhrpd/README.nhrpd
++++ b/nhrpd/README.nhrpd
+@@ -126,7 +126,8 @@ Integration with strongSwan
+
+ Contrary to opennhrp, Quagga/NHRP has tight integration with IKE daemon.
+ Currently strongSwan is supported using the VICI protocol. strongSwan
+-is connected using UNIX socket (hardcoded now as /var/run/charon.vici).
++is connected using UNIX socket (default /var/run/charon.vici use configure
++argument --with-vici-socket= to change).
+ Thus nhrpd needs to be run as user that can open that file.
+
+ Currently, you will need patched strongSwan. The working tree is at:
+--- a/nhrpd/vici.c
++++ b/nhrpd/vici.c
+@@ -478,7 +478,7 @@ static int vici_reconnect(struct thread
+ if (vici->fd >= 0)
+ return 0;
+
+- fd = sock_open_unix("/var/run/charon.vici");
++ fd = sock_open_unix(VICI_SOCKET);
+ if (fd < 0) {
+ debugf(NHRP_DEBUG_VICI,
+ "%s: failure connecting VICI socket: %s", __func__,
include $(TOPDIR)/rules.mk
PKG_NAME:=git-lfs
-PKG_VERSION:=2.13.2
+PKG_VERSION:=2.13.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/git-lfs/git-lfs/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=782e6275df9ca370730945112e16a0b8c64b9819f0b61fae52ba1ebbc8dce2d5
+PKG_HASH:=f8bd7a06e61e47417eb54c3a0db809ea864a9322629b5544b78661edab17b950
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=MIT
PKG_NAME:=https-dns-proxy
PKG_VERSION:=2021-01-17
-PKG_RELEASE:=2
+PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += -DCLANG_TIDY_EXE=
config main 'config'
option update_dnsmasq_config '*'
option force_dns '1'
+ list force_dns_port '53'
+ list force_dns_port '853'
+# ports listed below are used by some
+# of the dnscrypt-proxy v1 resolvers
+# list force_dns_port '553'
+# list force_dns_port '1443'
+# list force_dns_port '4343'
+# list force_dns_port '4434'
+# list force_dns_port '5443'
+# list force_dns_port '8443'
config https-dns-proxy
option bootstrap_dns '1.1.1.1,1.0.0.1'
fi
readonly PROG=/usr/sbin/https-dns-proxy
-dnsmasqConfig=''
-forceDNS='1'
+dnsmasqConfig=''; forceDNS=''; forceDNSPorts='';
version() { echo "$PKG_VERSION"; }
is_force_dns_active() { iptables-save | grep -q -w -- '--dport 53'; }
start_service() {
- local p=5053
+ local p=5053 c
config_load 'https-dns-proxy'
config_get dnsmasqConfig 'config' 'update_dnsmasq_config' '*'
config_get_bool forceDNS 'config' 'force_dns' '1'
+ config_get forceDNSPorts 'config' 'force_dns_port' '53 853'
dhcp_backup 'create'
config_load 'https-dns-proxy'
config_foreach start_instance 'https-dns-proxy'
procd_set_param stderr 1
procd_open_data
json_add_array firewall
- json_add_object ''
- json_add_string type redirect
- json_add_string name https_dns_proxy_dns_redirect
- json_add_string target DNAT
- json_add_string src lan
- json_add_string proto tcpudp
- json_add_string src_dport 53
- json_add_string dest_port 53
- json_add_string reflection 0
- json_close_object
+ for c in $forceDNSPorts; do
+ if netstat -tuln | grep LISTEN | grep ":${c}" >/dev/null 2>&1; then
+ json_add_object ""
+ json_add_string type redirect
+ json_add_string target DNAT
+ json_add_string src lan
+ json_add_string proto "tcp udp"
+ json_add_string src_dport "$c"
+ json_add_string dest_port "$c"
+ json_add_boolean reflection 0
+ json_close_object
+ else
+ json_add_object ""
+ json_add_string type rule
+ json_add_string src lan
+ json_add_string dest "*"
+ json_add_string proto "tcp udp"
+ json_add_string dest_port "$c"
+ json_add_string target REJECT
+ json_close_object
+ fi
+ done
json_close_array
procd_close_data
procd_close_instance
--- /dev/null
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,7 +5,6 @@ set(CMAKE_BUILD_TYPE "Debug")
+ #set(CMAKE_BUILD_TYPE "Release")
+
+ #set(CMAKE_C_FLAGS "-Wall -Wextra --pedantic -Wno-strict-aliasing")
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(notdir $<)\"'")
+ set(CMAKE_C_FLAGS_DEBUG "-g")
+ set(CMAKE_C_FLAGS_RELEASE "-O2")
+
+--- a/src/logging.h
++++ b/src/logging.h
+@@ -34,6 +34,20 @@ enum _LogSeverity {
+ LOG_FATAL = 4,
+ };
+
++#define STRIPPATH(s)\
++ (sizeof(s) > 2 && (s)[sizeof(s)-2] == '/' ? (s) + sizeof(s) - 1 : \
++ sizeof(s) > 3 && (s)[sizeof(s)-3] == '/' ? (s) + sizeof(s) - 2 : \
++ sizeof(s) > 4 && (s)[sizeof(s)-4] == '/' ? (s) + sizeof(s) - 3 : \
++ sizeof(s) > 5 && (s)[sizeof(s)-5] == '/' ? (s) + sizeof(s) - 4 : \
++ sizeof(s) > 6 && (s)[sizeof(s)-6] == '/' ? (s) + sizeof(s) - 5 : \
++ sizeof(s) > 7 && (s)[sizeof(s)-7] == '/' ? (s) + sizeof(s) - 6 : \
++ sizeof(s) > 8 && (s)[sizeof(s)-8] == '/' ? (s) + sizeof(s) - 7 : \
++ sizeof(s) > 9 && (s)[sizeof(s)-9] == '/' ? (s) + sizeof(s) - 8 : \
++ sizeof(s) > 10 && (s)[sizeof(s)-10] == '/' ? (s) + sizeof(s) - 9 : \
++ sizeof(s) > 11 && (s)[sizeof(s)-11] == '/' ? (s) + sizeof(s) - 10 : (s))
++
++#define __FILENAME__ STRIPPATH(__FILE__)
++
+ // Debug, Info, Warning, Error logging.
+ #define DLOG(...) _log(__FILENAME__, __LINE__, LOG_DEBUG, __VA_ARGS__)
+ #define ILOG(...) _log(__FILENAME__, __LINE__, LOG_INFO, __VA_ARGS__)
include $(TOPDIR)/rules.mk
PKG_NAME:=knot
-PKG_VERSION:=3.0.4
+PKG_VERSION:=3.0.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_HASH:=451d8913a769b7e4bcb3e250a3181b448e28a82cfc58cea6f2509475d7327983
+PKG_HASH:=695e7d7a0abefc5a8fd01f3b3080f030f33b0948215f84cd4892c6d904390802
PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8
PKG_BUILD_DIR:=$(BUILD_DIR)/lora_gateway-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libloragw
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=mbusd
-PKG_VERSION:=0.4.0
-PKG_RELEASE:=1
+PKG_VERSION:=0.5.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_URL:=https://codeload.github.com/3cky/mbusd/tar.gz/v$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=8458afc455a28c8f798cadd3982f9e03496a494a2269e31e8255a6ca273a6898
+PKG_HASH:=a41fc1254972d41d184d47e82b13c83577f22023f7a540d02062b704bce5c710
+PKG_MAINTAINER:=Marcin Jurkowski <marcin1j@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Marcin Jurkowski <marcin1j@gmail.com>
-
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/mbusd
SECTION:=net
PKG_NAME:=miniupnpd
PKG_VERSION:=2.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
#!/bin/sh
# miniupnpd integration for firewall3
-IPTABLES=/usr/sbin/iptables
-IP6TABLES=/usr/sbin/ip6tables
+IPTABLES="/usr/sbin/iptables"
+IP6TABLES="/usr/sbin/ip6tables"
+IPTARGS="-w 1"
$IPTABLES -t filter -N MINIUPNPD 2>/dev/null
$IPTABLES -t nat -N MINIUPNPD 2>/dev/null
local chain="$3"
local target="$4"
- $iptables -t "$table" -I "$chain" $($iptables -t "$table" --line-numbers -nL "$chain" | \
+ $iptables "$IPTARGS" -t "$table" -I "$chain" $($iptables "$IPTARGS" -t "$table" --line-numbers -nL "$chain" | \
sed -ne '$s/[^0-9].*//p') -j "$target"
}
include $(TOPDIR)/rules.mk
PKG_NAME:=netifyd
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_MAINTAINER:=Darryl Sokoloski <darryl@egloo.ca>
PKG_LICENSE:=GPL-3.0-or-later
option autoconfig 1
# option internal_if 'eth0'
# option external_if 'eth1'
+# option filter 'not (udp and dst 239.255.255.250 and dst port 1900 and src 192.168.1.5)'
[ ! -d /var/run/netifyd ] && mkdir -p /var/run/netifyd
config_get_bool autoconfig "$instance" autoconfig 1
+ config_get filter "$instance" filter
if [ "$autoconfig" -gt 0 ] ; then
source /usr/share/netifyd/functions.sh
NETIFYD_OPTS="-E $external_if -I $internal_if"
fi
+
procd_open_instance
procd_set_param command $PROG -R $NETIFYD_OPTS
+ [ -n "$filter" ] && procd_append_param command -F "$filter"
procd_set_param file /etc/netifyd.conf
procd_set_param respawn
procd_close_instance
include $(TOPDIR)/rules.mk
PKG_NAME:=netopeer2
-PKG_VERSION:=1.1.53
-PKG_RELEASE:=2
-
-PKG_LICENSE:=BSD-3-Clause
-PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
+PKG_VERSION:=1.1.70
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/Netopeer2/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=6b43026211a787d5cb91d47cb7fdd7923649044c55f264aaf85bf5676c004211
+PKG_HASH:=7fc1a3520ee4bb488112f502e34cea465464dc933d2a5742a72eb32a6dfe3b3f
-CMAKE_INSTALL:=1
-
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
+PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES=LICENSE
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/netopeer2-server
SECTION:=utils
PKG_NAME:=netstinky
PKG_VERSION:=1.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=nsids-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/wanduow/netstinky-ids/releases/download/v$(PKG_VERSION)/
--- /dev/null
+--- a/updates/ids_tls_update.c
++++ b/updates/ids_tls_update.c
+@@ -68,11 +68,13 @@ setup_context(const char *hostname, int
+ int rc;
+ unsigned long ssl_err = 0;
+
++#if OPENSSL_API_COMPAT < 0x10100000L
+ SSL_load_error_strings();
+ SSL_library_init();
+ OpenSSL_add_all_algorithms();
+ ERR_load_BIO_strings();
+ ERR_load_crypto_strings();
++#endif
+
+ #ifdef HAVE_TLS_METHOD
+ method = TLS_method();
PKG_MAINTAINER:=Peter Stadler <peter.stadler@student.uibk.ac.at>
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS+= -DUBUS=y
CMAKE_OPTIONS+= -DVERSION=$(PKG_VERSION)
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_OPTIONS += -DLIBNL_LIBRARY_TINY=ON
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
PKG_NAME:=nut
PKG_VERSION:=2.7.4
-PKG_RELEASE:=21
+PKG_RELEASE:=22
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
mount -o remount,ro /overlay /overlay
mount -o remount,ro / /
- . ${IPKG_INSTOOT}/lib/functions.sh
+ . ${IPKG_INSTROOT}/lib/functions.sh
if [ -f /etc/config/nut_server ]; then
config_load nut_server
include $(TOPDIR)/rules.mk
PKG_NAME:=ooniprobe
-PKG_VERSION:=3.7.0
+PKG_VERSION:=3.8.0
PKG_RELEASE:=1
PKG_SOURCE:=probe-cli-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ooni/probe-cli/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=27f0eec380825f236f7ab3aff22dd29d7090ef47d1ce1ccb1e728e0b846b30ce
+PKG_HASH:=65bc4e592cadb99530be713798308d6950f67240bff6d90f2760fde11d750a83
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=BSD-3-Clause
PKG_NAME:=openvpn
PKG_VERSION:=2.5.1
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_SOURCE_URL:=\
https://build.openvpn.net/downloads/releases/ \
#!/bin/sh
-. /lib/functions/openvpn.sh
-
[ -e "/etc/openvpn.user" ] && {
env -i ACTION="$ACTION" INSTANCE="$INSTANCE" \
/bin/sh \
# Wrap user defined scripts on up/down events
case "$ACTION" in
- up|down)
- if get_openvpn_option "$config" command "$ACTION"; then
- shift
- exec /bin/sh -c "$command $*"
- fi
- ;;
+ up) command=$user_up ;;
+ down) command=$user_down ;;
+ *) command= ;;
esac
+if [ -n "$command" ]; then
+ shift
+ exec /bin/sh -c "$command $*"
+fi
+
exit 0
local variable="$2"
local option="$3"
- local value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+(([^ \t\\]|\\.)+)[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')"
- [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+'"'([^']+)'"'[ \t]*$/\1/p' "$config" | tail -n1)"
+ local value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+'"'([^']+)'"'[ \t]*$/\1/p' "$config" | tail -n1)"
[ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+"(([^"\\]|\\.)+)"[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')"
+ [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+(([^ \t\\]|\\.)+)[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')"
[ -n "$value" ] || return 1
export -n "$variable=$value"
local dir="$2"
local conf="$3"
local security="$4"
+ local up="$5"
+ local down="$6"
procd_open_instance "$name"
procd_set_param command "$PROG" \
--config "$conf" \
--up "/usr/libexec/openvpn-hotplug up $name" \
--down "/usr/libexec/openvpn-hotplug down $name" \
+ ${up:+--setenv user_up "$up"} \
+ ${down:+--setenv user_down "$down"} \
--script-security "${security:-2}" \
$(openvpn_get_dev "$name" "$conf") \
$(openvpn_get_credentials "$name" "$conf")
return 1
}
- local script_security
+ local up down script_security
+ config_get up "$s" up
+ config_get down "$s" down
config_get script_security "$s" script_security
[ ! -d "/var/run" ] && mkdir -p "/var/run"
if [ ! -z "$config" ]; then
append UCI_STARTED "$config" "$LIST_SEP"
- openvpn_add_instance "$s" "${config%/*}" "$config" "$script_security"
+ [ -n "$up" ] || get_openvpn_option "$config" up up
+ [ -n "$down" ] || get_openvpn_option "$config" down down
+ openvpn_add_instance "$s" "${config%/*}" "$config" "$script_security" "$up" "$down"
return
fi
append_params "$s" $OPENVPN_PARAMS
append_list "$s" $OPENVPN_LIST
- openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" "$script_security"
+ openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" "$script_security" "$up" "$down"
}
start_service() {
fi
}
+ . /lib/functions/openvpn.sh
. /usr/share/openvpn/openvpn.options
config_load 'openvpn'
else
config_foreach start_instance 'openvpn'
- local path name
+ local path name up down
for path in /etc/openvpn/*.conf; do
if [ -f "$path" ]; then
name="${path##*/}"; name="${name%.conf}"
continue
fi
- openvpn_add_instance "$name" "${path%/*}" "$path"
+ get_openvpn_option "$path" up up || up=""
+ get_openvpn_option "$path" down down || down=""
+ openvpn_add_instance "$name" "${path%/*}" "$path" "" "$up" "$down"
fi
done
fi
server
server_bridge
server_ipv6
+server_poll_timeout
setenv
shaper
sndbuf
include $(TOPDIR)/rules.mk
PKG_NAME:=overture
-PKG_VERSION:=1.6.1
+PKG_VERSION:=1.7
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/shawn1m/overture/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=916ddbc4e8ee3cd008e281ba768c1502ad7b3ad71073f5e587b187e371eedd2b
+PKG_HASH:=d3912fe53d2f6a60d20767a8dc5041333f8b5386b7d23d959b4de872d12b5024
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
PKG_LICENSE:=MIT
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/main $(1)/usr/bin/overture
$(INSTALL_DIR) $(1)/etc/overture
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/config.sample.json $(1)/etc/overture/config.json
- $(SED) 's@"\.\(/[^"]\{1,\}_sample\)"@"/etc/overture\1"@g;s/":53"/"127.0.0.3:53"/' $(1)/etc/overture/config.json
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/config.sample.yml $(1)/etc/overture/config.yml
+ $(SED) 's@\.\(/[^[:space:]]\{1,\}_sample\)@/etc/overture\1@g;s/^\(bindAddress:[[:space:]]\{0,\}\)[^[:space:]]\{0,\}$$$$/\1127.0.0.3:53/' $(1)/etc/overture/config.yml
$(INSTALL_DATA) ./files/*_sample $(1)/etc/overture
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/overture.init $(1)/etc/init.d/overture
start_service() {
procd_open_instance
- procd_set_param command /usr/bin/overture -c /etc/overture/config.json
+ procd_set_param command /usr/bin/overture -c /etc/overture/config.yml
procd_set_param file /etc/overture/config.json
procd_set_param stdout 1
procd_set_param stderr 1
--- /dev/null
+--- a/go.sum
++++ b/go.sum
+@@ -91,6 +91,7 @@ github.com/cncf/udpa/go v0.0.0-201912090
+ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+ github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4=
++github.com/coredns/coredns v1.8.0 h1:U6Z6Ljuy5D8VKDquF1dUotUtFeoNt0PVCwSfIVYFC6s=
+ github.com/coredns/coredns v1.8.0/go.mod h1:R/TQ2yPVKdafwpVXOh6NFN13ikgto21kOMPvOeFPS8o=
+ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ovsd
+PKG_VERSION:=2020-10-12
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://gitlab.hhi.fraunhofer.de/wn-ina/ovsd.git
+PKG_SOURCE_VERSION:=e6a07f27dd8a5893eb6110c69922077995b9b26a
+PKG_MIRROR_HASH:=9d903b3fecd8a3e102e1477efe479fc3851b1814ea0852e1dae39065b88cd157
+
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+
+PKG_MAINTAINER:=Arne Kappen <akappen@inet.tu-berlin.de>
+PKG_LICENSE:=GPL-2.0
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+
+define Package/ovsd
+ SECTION:=net
+ SUBMENU:=Open vSwitch
+ CATEGORY:=Network
+ DEPENDS:=+openvswitch +libubox +libubus +netifd
+ TITLE:=Open vSwtich configuration daemon for netifd
+ MAINTAINER:=Arne Kappen <akappen@inet.tu-berlin.de>
+endef
+
+define Package/ovsd/description
+ External device handler adding Open vSwitch support to netifd.
+endef
+
+define Package/ovsd/install
+ $(INSTALL_DIR) $(1)/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ovsd $(1)/sbin/
+ $(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,ovsd))
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=19
+USE_PROCD=1
+
+start_service() {
+ procd_open_instance
+ procd_set_param command /sbin/ovsd
+ procd_set_param respawn
+ procd_set_param watch ovs
+
+ procd_close_instance
+}
\ No newline at end of file
--- /dev/null
+{ "name" : "Open vSwitch", "ubus_name" : "ovs", "bridge" : "1", "br-prefix" : "ovs", "config" : [ ["name", 3], ["ifname", 1], ["empty", 7], ["parent", 3], ["vlan", 5], ["ofcontrollers", 1], ["controller_fail_mode", 3], ["ssl_private_key", 3], ["ssl_cert", 3], ["ssl_ca_cert", 3], ["ssl_bootstrap", 7] ], "info" : [ ["ofcontrollers", 1], ["fail_mode", 3], ["ports", 1], ["parent", 3], ["vlan", 5], ["ssl", 2] ] }
PKG_LICENSE:=GPL-3.0-only
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
CMAKE_SOURCE_SUBDIR:=src
include $(TOPDIR)/rules.mk
PKG_NAME:=ratechecker
-PKG_VERSION:=0.0.20170609
-PKG_RELEASE:=2
-PKG_REV:=4cd4e3c70d9832336af5ba157f2a272f9c0098dc
-PKG_MIRROR_HASH:=c6f02b273536738bbcf4b16e3859f733a02ada88b4078fc8a5b0ad8d1d184370
+PKG_RELEASE:=$(AUTORELEASE)
-PKG_LICENSE:=GPL-2.0-or-later
-PKG_LICENSE_FILES:=COPYING
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_URL:=https://bitbucket.org/comnets/ratechecker.git
PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://bitbucket.org/comnets/ratechecker.git
+PKG_SOURCE_DATE:=2020-01-30
+PKG_SOURCE_VERSION:=a2b8b958548bacdb69ffac3aa033f519093415f7
+PKG_MIRROR_HASH:=ff89ca080cb5e557f47738078d5f0a70030f597e04c239426898ec7fc1e658ab
-PKG_BUILD_PARALLEL:=1
+PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/ratechecker
SECTION:=net
TITLE:=IEEE 802.11 bitrate analysis tool
URL:=https://bitbucket.org/comnets/ratechecker/
DEPENDS:=+libevent2
- MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
endef
define Package/ratechecker/install
PKG_NAME:=restic-rest-server
PKG_VERSION:=0.9.7
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_BUILD_DIR:=$(BUILD_DIR)/rest-server-$(PKG_VERSION)
PKG_SOURCE:=rest-server-$(PKG_VERSION).tar.gz
config rest-server
option enabled '0'
option path '/mnt/backup' # data directory (default "/tmp/restic")
- #option append-only '1' # enable append only mode
+ #option append_only '1' # enable append only mode
#option cpuprofile '/mnt/backup/cpuprofile' # write CPU profile to file
#option debug '1' # output debug messages
#option listen ':8000' # listen address (default ":8000")
#option log '/mnt/backup/http.log' # log HTTP requests in the combined log format
- #option private-repos '1' # users can only access their private repo
+ #option private_repos '1' # users can only access their private repo
#option prometheus '1' # enable Prometheus metrics
#option tls '1' # turn on TLS support
- #option tls-cert '/mnt/backup/public_key' # TLS certificate path
- #option tls-key '/mnt/backup/private_key' # TLS key path
+ #option tls_cert '/mnt/backup/public_key' # TLS certificate path
+ #option tls_key '/mnt/backup/private_key' # TLS key path
PKG_NAME:=rp-pppoe
PKG_VERSION:=3.14
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://dianne.skoll.ca/projects/rp-pppoe/download
TARGET_CFLAGS += -I$(PKG_BUILD_DIR)/src/libevent -isystem $(PKG_BUILD_DIR)/missing-headers -D_BSD_SOURCE
CONFIGURE_PATH := ./src
CONFIGURE_ARGS += ac_cv_path_PPPD=/usr/sbin/pppd --enable-plugin=$(STAGING_DIR)/usr/include/
-MAKE_FLAGS := DESTDIR="$(PKG_INSTALL_DIR)" PLUGIN_PATH=rp-pppoe.so install
+MAKE_FLAGS := DESTDIR="$(PKG_INSTALL_DIR)" PLUGIN_PATH=pppoe.so install
MAKE_PATH := ./src
define Build/Prepare
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:snort:snort
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/snort3
SUBMENU:=Firewall
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/softethervpn5/Default
SECTION:=net
# BUG: outdated host/include/elf.h
HOST_CFLAGS += $(FPIC) -DAT_HWCAP2=26
TARGET_CFLAGS += $(FPIC)
-CMAKE_OPTIONS = -DICONV_LIB_PATH="$(ICONV_PREFIX)/lib"
+CMAKE_OPTIONS += -DICONV_LIB_PATH="$(ICONV_PREFIX)/lib"
# static build for host (hamcorebuilder), avoid -fpic on ncurses/host and shared libs can't be found on host
define Host/Prepare
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/spawn-fcgi
SUBMENU:=Web Servers/Proxies
PKG_NAME:=strongswan
PKG_VERSION:=5.9.1
-PKG_RELEASE:=3
+PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
PKG_HASH:=a337c9fb63d973b8440827755c784031648bf423b7114a04918b0b00fd42cafb
PKG_LICENSE:=GPL-2.0-or-later
-PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
+PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>, Noel Kuntze <noel.kuntze@thermi.consulting>
PKG_CPE_ID:=cpe:/a:strongswan:strongswan
PKG_MOD_AVAILABLE:= \
define Package/strongswan/install
$(INSTALL_DIR) $(1)/etc
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/strongswan.conf $(1)/etc/
+ echo -e "\ninclude /var/ipsec/strongswan.conf" >> $(1)/etc/strongswan.conf
$(INSTALL_DIR) $(1)/usr/lib/ipsec
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libstrongswan.so.* $(1)/usr/lib/ipsec/
- $(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/
- $(INSTALL_CONF) ./files/ipsec.user $(1)/etc/
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
endef
define Package/strongswan-default/install
define Package/strongswan-ipsec/install
$(INSTALL_DIR) $(1)/etc/ $(1)/usr/sbin
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ipsec.conf $(1)/etc/
+ echo -e "\ninclude /var/ipsec/ipsec.conf" >> $(1)/etc/ipsec.conf
+ $(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/
+ echo -e "\ninclude /var/ipsec/ipsec.secrets" >> $(1)/etc/ipsec.secrets
+ $(INSTALL_CONF) ./files/ipsec.user $(1)/etc/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec $(1)/usr/sbin/
endef
+define Package/strongswan-ipsec/postinst
+#!/bin/sh
+
+[ -z "$${IPKG_INSTROOT}" ] || exit 0
+
+opkg list-changed-conffiles | grep -qx /etc/ipsec.conf || {
+ rm -f /etc/ipsec.conf-opkg
+}
+endef
+
define Package/strongswan-pki/install
$(INSTALL_DIR) $(1)/etc/strongswan.d
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/pki.conf $(1)/etc/strongswan.d/
local file="$1"
shift
- echo "${@}" >> "${file}"
-}
-
-remove_include() {
- local file="$1"
- local include="$2"
-
- sed -i "\_${include}_d" "${file}"
-}
-
-remove_includes() {
- remove_include "${IPSEC_CONN_FILE}" "${IPSEC_VAR_CONN_FILE}"
- remove_include "${IPSEC_SECRETS_FILE}" "${IPSEC_VAR_SECRETS_FILE}"
- remove_include "${STRONGSWAN_CONF_FILE}" "${STRONGSWAN_VAR_CONF_FILE}"
-}
-
-do_include() {
- local conf="$1"
- local uciconf="$2"
- local backup=`mktemp -t -p /tmp/ ipsec-init-XXXXXX`
-
- [ ! -f "${conf}" ] && rm -rf "${conf}"
- touch "${conf}"
-
- cat "${conf}" | grep -v "${uciconf}" > "${backup}"
- mv "${backup}" "${conf}"
- xappend "${conf}" "include ${uciconf}"
- file_reset "${uciconf}"
+ echo "$@" >> "$file"
}
ipsec_reset() {
- do_include "${IPSEC_CONN_FILE}" "${IPSEC_VAR_CONN_FILE}"
+ file_reset "$IPSEC_VAR_CONN_FILE"
}
ipsec_xappend() {
- xappend "${IPSEC_VAR_CONN_FILE}" "$@"
+ xappend "$IPSEC_VAR_CONN_FILE" "$@"
}
swan_reset() {
- do_include "${STRONGSWAN_CONF_FILE}" "${STRONGSWAN_VAR_CONF_FILE}"
+ file_reset "$STRONGSWAN_VAR_CONF_FILE"
}
swan_xappend() {
- xappend "${STRONGSWAN_VAR_CONF_FILE}" "$@"
+ xappend "$STRONGSWAN_VAR_CONF_FILE" "$@"
}
secret_reset() {
- do_include "${IPSEC_SECRETS_FILE}" "${IPSEC_VAR_SECRETS_FILE}"
+ file_reset "$IPSEC_VAR_SECRETS_FILE"
}
secret_xappend() {
- xappend "${IPSEC_VAR_SECRETS_FILE}" "$@"
+ xappend "$IPSEC_VAR_SECRETS_FILE" "$@"
}
warning() {
[ -n "$remote_identifier" ] && ipsec_xappend " rightid=$remote_identifier"
[ -n "$local_updown" ] && ipsec_xappend " leftupdown=$local_updown"
[ -n "$remote_updown" ] && ipsec_xappend " rightupdown=$remote_updown"
- [ -n "$packet_marker" ] && ipsec_xappend " mark=$packet_marker"
+ [ -n "$packet_marker" ] && ipsec_xappend " mark=$packet_marker"
ipsec_xappend " keyexchange=$keyexchange"
set_crypto_proposal "$1"
ipsec_xappend ""
}
+do_preamble() {
+ ipsec_xappend "# generated by /etc/init.d/ipsec"
+ ipsec_xappend "version 2"
+ ipsec_xappend ""
+
+ secret_xappend "# generated by /etc/init.d/ipsec"
+}
+
config_ipsec() {
local debug
local rtinstall_enabled
secret_reset
swan_reset
- ipsec_xappend "# generated by /etc/init.d/ipsec"
- ipsec_xappend "version 2"
- ipsec_xappend ""
-
- secret_xappend "# generated by /etc/init.d/ipsec"
+ do_preamble
config_get debug "$1" debug 0
config_get_bool rtinstall_enabled "$1" rtinstall_enabled 1
prepare_env() {
mkdir -p /var/ipsec
- remove_includes
config_load ipsec
config_foreach config_ipsec ipsec
config_foreach config_remote remote
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/stubby/Default
TITLE:=stubby
include $(TOPDIR)/rules.mk
PKG_NAME:=sysrepo
-PKG_VERSION:=1.4.104
-PKG_RELEASE:=1
+PKG_VERSION:=1.4.122
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/sysrepo/sysrepo/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=635f68ad5f8cb5ea3bd7c3081963f1a9a79ee0d6570facb1f3bcbf3b640446a4
+PKG_HASH:=2cc7537a03f48dc3c955436e1e0ed077bc3b31a755d6979d24ca42e1187fce01
PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=swig/host
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
include ../../lang/python/python3-package.mk
define Package/libsysrepo
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=tmate-ssh-server
+PKG_VERSION:=511fd2bd852464e76824279609a34ee93fe148a4
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/tmate-io/tmate-ssh-server/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=68602496ca6a17ea80f5be53eba047897ac714c7cdfcb3bcdc12c56b8f3c3b45
+
+PKG_LICENSE:=ISC
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Paul Spooren <mail@aparcar.org>
+
+PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/tmate-ssh-server
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=Instant Terminal Sharing Server
+ URL:=https://tmate.io
+ DEPENDS:=+libevent2 +libncurses +libpthread +libssh +msgpack-c +terminfo +openssh-keygen
+endef
+
+define Package/tmate-ssh-server/description
+ tmate-ssh-server is the server side part of tmate.io.
+endef
+
+CONFIGURE_VARS+= \
+ LIBSSH_CFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LIBSSH_LIBS="-lssh"
+
+TARGET_CFLAGS+= \
+ -D_GNU_SOURCE \
+
+define Package/tmate-ssh-server/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tmate-ssh-server $(1)/usr/bin/tmate-ssh-server
+
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/tmate-ssh-server.init $(1)/etc/init.d/tmate-ssh-server
+
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_DATA) ./files/tmate-ssh-server.config $(1)/etc/config/tmate-ssh-server
+endef
+
+$(eval $(call BuildPackage,tmate-ssh-server))
--- /dev/null
+config tmate-ssh-server 'main'
+ option listen_port 2222
+ option keys_dir '/etc/tmate-ssh-server/keys/'
+ # option ip '0.0.0.0'
+ # option hostname 'OpenWrt'
+ # option ssh_port_advertized 2222
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=90
+STOP=10
+
+USE_PROCD=1
+PROG=/usr/bin/tmate-ssh-server
+
+generate_keys() {
+ mkdir -p "$1"
+ echo "Generating fresh keys"
+ ssh-keygen -t "rsa" -f "$1/ssh_host_rsa_key" -N '' > /dev/null
+ ssh-keygen -t "ed25519" -f "$1/ssh_host_ed25519_key" -N '' > /dev/null
+}
+
+start_service() {
+ local ip hostname keys_dir listen_port ssh_port_advertized
+ config_load "tmate-http-server"
+
+ procd_open_instance
+ procd_set_param command $PROG
+
+ config_get ip main ip
+ if [ ! -z "$ip" ]; then
+ procd_append_param command -b "$ip"
+ fi
+
+ config_get hostname main hostname "$HOSTNAME"
+ procd_append_param command -h "$hostname"
+
+ config_get keys_dir main keys_dir "/etc/tmate-ssh-server/keys/"
+ if [ ! -f "$keys_dir/ssh_host_rsa_key" ] && \
+ [ ! -f "ssh_host_ed25519_key" ]; then
+ generate_keys "$keys_dir"
+ fi
+
+ procd_append_param command -k "$keys_dir"
+
+ config_get listen_port main listen_port "2222"
+ procd_append_param command -p "$listen_port"
+
+ config_get ssh_port_advertized main ssh_port_advertized "$listen_port"
+ procd_append_param command -q "$ssh_port_advertized"
+
+ echo "You may use the following settings this in your .tmate.conf:"
+ echo ""
+ echo "set -g tmate-server-host $hostname"
+ echo "set -g tmate-server-port $ssh_port_advertized"
+ printf "set -g tmate-server-rsa-fingerprint "
+ ssh-keygen -l -E SHA256 -f "$keys_dir/ssh_host_rsa_key.pub" | \
+ cut -d ' ' -f 2
+ printf "set -g tmate-server-ed25519-fingerprint "
+ ssh-keygen -l -E SHA256 -f "$keys_dir/ssh_host_ed25519_key.pub" | \
+ cut -d ' ' -f 2
+
+ procd_set_param respawn
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+
+ procd_close_instance
+}
+
+service_triggers() {
+ procd_add_reload_trigger "tmate-ssh-server"
+}
include $(TOPDIR)/rules.mk
PKG_NAME:=umurmur
-PKG_VERSION:=0.2.19
+PKG_VERSION:=0.2.20
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/umurmur/umurmur/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=338053160bc48e48850061cdfc19cf1b2bb66e56877c04cd6de7831b468646b6
+PKG_HASH:=b7b2978c3197aef0a6531f1cf0ee1aebb32a55ad8bda43064ce3a944edbcac83
PKG_MAINTAINER:=Martin Johansson <martin@fatbob.nu>
PKG_LICENSE:=BSD-3-Clause
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/umurmur/Default
SECTION:=net
PKG_SOURCE_URL:=https://codeload.github.com/stintel/vallumd/tar.gz/vallumd-$(PKG_VERSION)?
PKG_HASH:=d6119f84840ff36f05c273f0a6f3e0f9eacf3a07c1583271c4fef62a7b199428
+PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/vallumd
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=xray-core
-PKG_VERSION:=1.4.0
+PKG_VERSION:=1.4.1
PKG_RELEASE:=$(AUTORELEASE)
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:=09fcfec0b6e9362d36fb358fe781431a6c2baae71a7864eaeb1379977aa22ca9
+PKG_HASH:=0dfedb6e133f431e9588a84b7a36112e058bf09ced2d10ffe603ab0db6610430
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MPL-2.0
/etc/config/xray
endef
-GEOIP_VER:=202103110015
+GEOIP_VER:=202103250007
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:=8d2e8beaafd9aa07fce4900cc079cddf873d24658d1874de53417df33ab7f4b3
+ HASH:=eca0b25e528167dbdec6c130b6a5240284ce20b28158d1448f8dbeddace2e8cf
endef
-GEOSITE_VER:=20210314064711
+GEOSITE_VER:=20210330120529
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:=8b89b59b0a826cb24d6b18a4e5e1db2b990faa8a9a8fef0eb000a692a7cbf7bb
+ HASH:=e7f41feadae73854a2e2103aa5e09f3e8d6ed924391e3963d3b1a67ef61d6ad2
endef
define Build/Prepare
include $(TOPDIR)/rules.mk
PKG_NAME:=yggdrasil
-PKG_VERSION:=0.3.15
+PKG_VERSION:=0.3.16
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=25ea85399a142aa7a3d6f6886fd4e0d215116c4c8c33453de43999787d735565
+PKG_HASH:=e03595b78906b171155aaa11c922be3418bd056f8547e4d9f5123b6047316eac
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=forked-daapd
-PKG_VERSION:=27.2
+PKG_VERSION:=27.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ejurgensen/$(PKG_NAME)/releases/download/$(PKG_VERSION)/
-PKG_HASH:=27294a893253d232161f4521fc42147e65324ce5a13fcf550b537100375277bb
+PKG_HASH:=00f71c687df268a3c4db77cecf37972e76832a99e34f09750d07a92934a0bfa8
PKG_FIXUP:=autoreconf
PKG_USE_MIPS16:=0
DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \
+libevent2 +libdaemon +libantlr3c +confuse +alsa-lib +libffmpeg-full \
+mxml +libavahi-client +sqlite3-cli +libplist +libcurl +libjson-c \
- +libprotobuf-c +libgnutls +libsodium +libwebsockets $(ICONV_DEPENDS)
+ +libprotobuf-c +libgnutls +libsodium +libwebsockets $(ICONV_DEPENDS) \
+ +libuuid
endef
define Package/forked-daapd/description
endef
CONFIGURE_ARGS += \
- --enable-itunes \
--enable-lastfm \
--enable-mpd \
--enable-chromecast \
PKG_NAME:=mpd
PKG_VERSION:=0.22.6
-PKG_RELEASE:=1
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.22/
URL:=https://www.musicpd.org/
DEPENDS:= +zlib +libcurl +libpthread +libmpdclient +boost $(ICONV_DEPENDS) \
+AUDIO_SUPPORT:alsa-lib +libexpat +libflac +libid3tag +libfaad2 +libopus
+ USERID:=mpd:mpd
endef
define Package/mpd/Default/description
$(call Package/mpd/Default)
TITLE+= (full)
DEPENDS+= +AUDIO_SUPPORT:pulseaudio-daemon +libvorbis +libmms +libupnp +libshout +yajl \
- +BUILD_PATENTED:libffmpeg +!BUILD_PATENTED:libmad
+ +libffmpeg +lame-lib +!BUILD_PATENTED:libmad
PROVIDES:=mpd
VARIANT:=full
endef
-Dpulse=$(if $(CONFIG_AUDIO_SUPPORT),en,dis)abled \
-Drecorder=true \
-Dshout=enabled \
- -Dyajl=enabled
+ -Dyajl=enabled \
+ -Dvorbisenc=enabled \
+ -Dlame=enabled
ifeq ($(CONFIG_AUDIO_SUPPORT),y)
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc
- $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/mpd.init $(1)/etc/init.d/mpd
endef
CONFIGFILE=/etc/mpd.conf
NICEPRIO=-10
+USER="mpd"
+GROUP="mpd"
+
#TODO: Add uci config - nice, config
start_service() {
#create mpd directories from config
pld=$(grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g")
- [ -d "$pld" ] || mkdir -m 0755 -p "$pld"
+ if [ ! -d "$pld" ]; then
+ mkdir -m 0755 -p "$pld"
+ chown $USER:$GROUP $pld
+ fi
lport=$(grep ^port "$CONFIGFILE" | cut -d "\"" -f 2)
[ -z "$lport" ] && lport=6600
procd_open_instance
procd_add_mdns "mpd" "tcp" "$lport"
procd_set_param command "$PROG" --no-daemon "$CONFIGFILE"
+ procd_set_param user "$USER"
+ procd_set_param group "$GROUP"
procd_set_param stderr 1
# Give MPD some real-time priority
procd_set_param nice "$NICEPRIO"
--- /dev/null
+--- a/src/lib/ffmpeg/meson.build
++++ b/src/lib/ffmpeg/meson.build
+@@ -6,11 +6,7 @@ conf.set('HAVE_LIBAVUTIL', libavutil_dep
+ enable_ffmpeg = libavformat_dep.found() and libavcodec_dep.found() and libavutil_dep.found()
+ conf.set('ENABLE_FFMPEG', enable_ffmpeg)
+
+-if enable_ffmpeg
+- libavfilter_dep = dependency('libavfilter', required: false)
+-else
+ libavfilter_dep = dependency('', required: false)
+-endif
+ conf.set('HAVE_LIBAVFILTER', libavfilter_dep.found())
+
+ if not enable_ffmpeg
PKG_LICENSE_FILES:=LICENSE.txt
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/portaudio
SECTION:=sound
include $(TOPDIR)/rules.mk
PKG_NAME:=apk
-PKG_VERSION:=2.12.2
+PKG_VERSION:=2.12.4
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=apk-tools-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://gitlab.alpinelinux.org/alpine/apk-tools/-/archive/v$(PKG_VERSION)
-PKG_HASH:=25871a92c1b272bb58c5494208875d2e915b902a6da9183a361b098891e83acf
+PKG_HASH:=41110665f7d14ef9678c389687aab0fa6c0a6be19e1a3dabbab6b20b17f3bacc
PKG_BUILD_DIR:=$(BUILD_DIR)/apk-tools-v$(PKG_VERSION)
PKG_MAINTAINER:=Paul Spooren <mail@aparcar.org>
PKG_LICENSE:=GPL-3.0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/auc
SECTION:=base
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=autopart
+PKG_VERSION:=0.1
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=GPL-2.0-or-later
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/autopart
+ SECTION:=utils
+ CATEGORY:=Utilities
+ SUBMENU:=Disc
+ TITLE:=Automatically initialize LVM partition
+ DEPENDS:=+lvm2 +partx-utils +sfdisk
+ PKGARCH=all
+endef
+
+define Package/autopart/description
+ Automatically allocate the GPT partition for LVM and initialize it
+ on first boot.
+endef
+
+define Build/Prepare
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/autopart/install
+ $(INSTALL_DIR) $(1)/etc/uci-defaults
+ $(INSTALL_BIN) ./files/autopart $(1)/etc/uci-defaults/30-autopart
+endef
+
+$(eval $(call BuildPackage,autopart))
--- /dev/null
+#!/bin/sh
+
+. /lib/functions.sh
+. /lib/upgrade/common.sh
+
+OWRT_VOLUMES=owrt-volumes
+
+part_fixup() {
+ echo "write" | sfdisk --force -q -w never $1
+}
+
+get_free_area() {
+ local found=
+ sfdisk -q -F "$1" 2>/dev/null | while read start end sectors size; do
+ case $start in
+ *"Unpartitioned"* | *"Units:"* | *"Sector"* | *"Start"* )
+ continue
+ ;;
+ [0-9]*)
+ case "$size" in
+ *"M")
+ [ "${size%%M}" -lt 100 ] && continue
+ ;;
+ *"G" | *"T")
+ ;;
+ *"k" | *"b")
+ continue
+ ;;
+ esac
+ [ "$found" ] || echo "start=$start, size=$((end - start))"
+ found=1
+ ;;
+ esac
+ done
+}
+
+create_lvm_part() {
+ local disk=$1
+ local freepart
+
+ freepart="$(get_free_area $disk)"
+ if [ "$freepart" ]; then
+ echo "$freepart, type=lvm, name=$OWRT_VOLUMES" | sfdisk --force -w never -a $disk
+ partx -a $disk 1>/dev/null 2>/dev/null || true
+ return 0
+ else
+ return 1
+ fi
+}
+
+lvm_init() {
+ lvm pvcreate -f $1
+ lvm vgcreate "$2" $1
+ lvm vgs
+}
+
+autopart_init() {
+ local diskdev
+ local lvmpart
+ local diskserial
+
+ export_bootdevice && export_partdevice diskdev 0
+
+ [ "$diskdev" ] || return
+
+ [ -e "/sys/class/block/$diskdev/device/serial" ] && diskserial=$(cat /sys/class/block/$diskdev/device/serial)
+
+ part_fixup /dev/$diskdev
+ create_lvm_part /dev/$diskdev || return
+ lvmpart=$(get_partition_by_name $diskdev $OWRT_VOLUMES)
+
+ [ "$lvmpart" ] || return
+ lvm_init /dev/$lvmpart "${OWRT_VOLUMES}${diskserial}"
+}
+
+autopart_init
+exit 0
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/canutils/Default
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=ccid
-PKG_VERSION:=1.4.33
-PKG_RELEASE:=1
+PKG_VERSION:=1.4.34
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://ccid.apdu.fr/files/
-PKG_HASH:=5256da939711deb42b74d05d2bd6bd0c73c4d564feb0c1a50212609eb680e424
+PKG_HASH:=e6f7645b59a9a2844eb4b1a7eff512960d7f04a4654af02f7fd2f8aded5db40a
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=cni-plugins
-PKG_VERSION:=0.9.0
-PKG_RELEASE:=1
+PKG_VERSION:=0.9.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containernetworking/plugins/archive/v$(PKG_VERSION)
-PKG_HASH:=54abd2fb7762943ff57832dfba19de12db09f0a0f8e69b31f1a2bb2baca395e7
+PKG_HASH:=35e96c6c47b9d080d1cbdcfca02808b01a95464607cd2a2c971b3ad596285928
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>, Paul Spooren <mail@aparcar.org>
CATEGORY:=Utilities
TITLE:=cni-plugins
URL:=https://github.com/containernetworking/cni-plugins
- DEPENDS:=$(GO_ARCH_DEPENDS) +ip-full
+ DEPENDS:=$(GO_ARCH_DEPENDS) +ip-full +kmod-veth
endef
define Package/cni-plugins/description
include $(TOPDIR)/rules.mk
PKG_NAME:=conmon
-PKG_VERSION:=2.0.26
-PKG_RELEASE:=1
+PKG_VERSION:=2.0.27
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=845744c3323bbf9adab4444d70fd7de0ceb12a578c9cf2fd2366c6bed0ac7970
+PKG_HASH:=cb953fa418835a3f57af175df3641140d9c44ec219a7ad2efcc07952241f9ea5
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=Apache-2.0
define Package/conmon
SECTION:=utils
CATEGORY:=Utilities
- TITLE:=Podmon conmon
+ TITLE:=Podman conmon
URL:=https://podman.io
DEPENDS:=+glib2 $(INTL_DEPENDS) $(ICONV_DEPENDS)
endef
define Package/conmon/description
- Podman: A tool for managing OCI containers and pods
+ An OCI container runtime monitor.
+
+ Conmon is a monitoring program and communication tool between
+ a container manager (like Podman or CRI-O) and an OCI runtime
+ (like runc or crun) for a single container.
endef
define Package/conmon/install
--- /dev/null
+--- a/src/conn_sock.c
++++ b/src/conn_sock.c
+@@ -465,6 +465,9 @@ static void init_remote_sock(struct remo
+
+ static void close_sock(gpointer data, G_GNUC_UNUSED gpointer user_data)
+ {
++ if (data == NULL)
++ return;
++
+ struct remote_sock_s *sock = (struct remote_sock_s *)data;
+
+ close(sock->fd);
+@@ -473,5 +476,9 @@ static void close_sock(gpointer data, G_
+
+ void close_all_readers()
+ {
++
++ if (local_mainfd_stdin.readers == NULL)
++ return;
++
+ g_ptr_array_foreach(local_mainfd_stdin.readers, close_sock, NULL);
+ }
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=crun
+PKG_VERSION:=0.18
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/containers/crun.git
+PKG_SOURCE_DATE:=2021-03-18
+PKG_SOURCE_VERSION:=496e81bdd69f117f10e4477e4204e4611a94b68f
+PKG_MIRROR_HASH:=26941b0d84bbeabeb5e982af48d131f55d0aa16f4a2f2ca3279a5c812cdeea8b
+
+PKG_BUILD_DEPENDS:=argp-standalone
+PKG_BUILD_PARALLEL:=1
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/crun
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=crun
+ URL:=https://github.com/containers/crun
+ DEPENDS:=+libseccomp +libcap
+endef
+
+define Package/crun/description
+ A fast and low-memory footprint OCI Container Runtime fully written in C.
+endef
+
+CONFIGURE_ARGS+= \
+ --disable-systemd \
+ --enable-embedded-yajl \
+ --enable-caps \
+ --enable-dl \
+ --enable-seccomp \
+ --enable-bpf
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ $(SED) '/#include <git-version.h>/d' $(PKG_BUILD_DIR)/src/crun.c
+endef
+
+define Build/Configure
+ $(call Build/Configure/Default)
+
+ $(SED) '/#define PACKAGE \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define VERSION \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define GIT_VERSION \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define PACKAGE_BUGREPORT \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define PACKAGE_NAME \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define PACKAGE_STRING \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define PACKAGE_TARNAME \"/d' $(PKG_BUILD_DIR)/config.h
+ $(SED) '/#define PACKAGE_VERSION \"/d' $(PKG_BUILD_DIR)/config.h
+
+ echo "#define PACKAGE \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define PACKAGE_NAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define PACKAGE_VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define PACKAGE_STRING \"$(PKG_NAME) $(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define PACKAGE_TARNAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define PACKAGE_BUGREPORT \"bugs@openwrt.org\"" >> $(PKG_BUILD_DIR)/config.h
+ echo "#define GIT_VERSION \"$(PKG_SOURCE_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
+endef
+
+define Package/crun/install
+ $(INSTALL_DIR) $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrun.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,crun))
include $(TOPDIR)/rules.mk
PKG_NAME:=cryptsetup
-PKG_VERSION:=2.3.4
-PKG_RELEASE:=2
+PKG_VERSION:=2.3.5
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/cryptsetup/v2.3
-PKG_HASH:=9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773
+PKG_HASH:=ced9946f444d132536daf92fc8aca4277638a3c2d96e20540b2bae4d36fd70c1
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=docker-compose
-PKG_VERSION:=1.28.4
+PKG_VERSION:=1.28.6
PKG_RELEASE:=1
PYPI_NAME:=docker-compose
-PKG_HASH:=681aca74e70e238ae43c810a62f471b645942f0ce97b6a0ca375fcb64f3aca85
+PKG_HASH:=1d44906f7ab738ba2d1785130ed31b16111eee6dc5a1dbd7252091dae48c5281
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=License.txt
PKG_BUILD_DEPENDS:=python3 minizip cereal
-PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
-CMAKE_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/domoticz
SECTION:=utils
+jsoncpp \
+libcurl \
+python3 \
- +minizip \
+ +minizip @BROKEN \
+lua5.3 \
+libmosquitto \
+libopenssl \
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
PKG_LICENSE_FILES:=COPYRIGHT
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/libecdsautil
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=exfatprogs
-PKG_VERSION:=1.0.4
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=3f755d35785a74138348b3a22dfcda5afc8a69e66a6a0c79be48225e6ca321ce
+PKG_HASH:=88c12a2f9cbe4f12129f3b7fa2cd42f24dbed3f579e61bac2ca699ca79fad4e0
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=GPL-2.0-only
include $(TOPDIR)/rules.mk
PKG_NAME:=fish
-PKG_VERSION:=3.2.0
-PKG_RELEASE:=1
+PKG_VERSION:=3.2.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/fish-shell/fish-shell/releases/download/$(PKG_VERSION)
-PKG_HASH:=4f0293ed9f6a6b77e47d41efabe62f3319e86efc8bf83cc58733044fbc6f9211
+PKG_HASH:=d8e49f4090d3778df17dd825e4a2a80192015682423cd9dd02b6675d65c3af5b
PKG_MAINTAINER:=Curtis Jiang <jqqqqqqqqqq@gmail.com>, Hao Dong <halbertdong@gmail.com>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:fishshell:fish
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/fish
SECTION:=utils
PKG_NAME:=fontconfig
PKG_VERSION:=2.13.93
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://fontconfig.org/release/
PKG_HASH:=ea968631eadc5739bc7c8856cef5c77da812d1f67b763f5e51b57b8026c1a0a0
+PKG_MAINTAINER:=
+PKG_LICENSE:=
+PKG_LICENSE_FILES:=
PKG_CPE_ID:=cpe:/a:fontconfig_project:fontconfig
-PKG_FIXUP:=libtool
PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=gperf/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/fontconfig
SECTION:=xorg-util
URL:=http://fontconfig.org/
endef
-#TODO: better put cache on persistent storage for faster boot time?
-CONFIGURE_ARGS+= \
- --with-cache-dir=/tmp/fontconfig/cache \
- --with-arch=$(ARCH) \
- --disable-iconv \
- --disable-libxml2 \
- --disable-docs
-
-CONFIGURE_VARS+= \
- ac_cv_prog_HASDOCBOOK=no \
+MESON_ARGS += \
+ -Ddoc=disabled \
+ -Ddoc-txt=disabled \
+ -Dnls=disabled \
+ -Dtests=disabled \
+ -Dtools=enabled
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
--- /dev/null
+From 4e42925096e97f4a6c9d09f475de7eb54a226668 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Thu, 3 Dec 2020 21:04:26 +0100
+Subject: [PATCH] Handle absolute sysconfdir when installing symlinks
+
+sysconfdir defaults to /etc when the prefix is set to /usr. But joining
+MESON_INSTALL_DESTDIR_PREFIX and sysconfdir when the latter is an
+absoulte path, results in sysconfdir only. Which might lead to an error
+during install because /etc/fonts/conf.d/ might already exist from an
+pre-existing fontconfig installation.
+---
+ conf.d/link_confs.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/conf.d/link_confs.py
++++ b/conf.d/link_confs.py
+@@ -11,7 +11,14 @@ if __name__=='__main__':
+ parser.add_argument('links', nargs='+')
+ args = parser.parse_args()
+
+- confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
++ if os.path.isabs(args.confpath):
++ destdir = os.environ.get('DESTDIR')
++ if destdir:
++ confpath = os.path.join(destdir, args.confpath[1:])
++ else:
++ confpath = args.confpath
++ else:
++ confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
+
+ if not os.path.exists(confpath):
+ os.makedirs(confpath)
--- /dev/null
+--- a/meson.build
++++ b/meson.build
+@@ -38,7 +38,7 @@ expat_dep = dependency('expat',
+
+ i18n = import('i18n')
+ pkgmod = import('pkgconfig')
+-python3 = import('python').find_installation()
++python3 = 'python3'
+
+ check_headers = [
+ ['dirent.h'],
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/gammu
SECTION:=utils
PKG_CPE_ID:=cpe:/a:mariadb:mariadb
-HOST_BUILD_PARALLEL:=1
-PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
HOST_BUILD_DEPENDS:=libxml2/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/ninja/ninja-cmake.mk
MARIADB_COMMON_DEPENDS := \
$(ICONV_DEPENDS) \
PKG_BUILD_DEPENDS:=boost
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/netwhere
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=oci-runtime-tools
-PKG_VERSION:=1.0.0-pre20210122
-PKG_RELEASE:=2
+PKG_VERSION:=1.0.0-pre20210326
+PKG_RELEASE:=$(AUTORELEASE)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_NAME:=runtime-tools
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/opencontainers/runtime-tools.git
-PKG_SOURCE_VERSION:=453547deb724af135587e654f52d86b8619f21b9
-PKG_MIRROR_HASH:=34f3aefc4f6f3bb93330ec7cbeb2eb987b82184da53d453e8b04b5750faa8728
+PKG_SOURCE_VERSION:=59cdde06764be8d761db120664020f0415f36045
+PKG_MIRROR_HASH:=ef331e3ad5f99220583399fe1c2ded243f4b01f8dabc7acd152d46304da70f6f
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
GO_PKG:=github.com/opencontainers/runtime-tools/
GO_PKG_LDFLAGS_X:=main.gitCommit=$(PKG_SOURCE_VERSION) main.version=$(PKG_SOURCE_VERSION)
+BUSYBOX_STATIC_VERSION:=1.31.0
+
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
+define Download/busybox-static-armv8l
+ URL:=https://busybox.net/downloads/binaries/$$(BUSYBOX_STATIC_VERSION)-defconfig-multiarch-musl/
+ URL_FILE:=busybox-armv8l
+ FILE:=busybox-$(BUSYBOX_STATIC_VERSION)-static-armv8l
+ HASH:=141adb1b625a6f44c4b114f76b4387b4ea4f7ab802b88eb40e0d2f6adcccb1c3
+endef
+
define Package/oci-runtime-tool
SECTION:=utils
CATEGORY:=Utilities
CATEGORY:=Utilities
TITLE:=OCI runtimetest tool
URL:=https://github.com/opencontainers/runtime-tools
- DEPENDS:=@(i386||i686||x86_64) oci-runtime-tool +tar
+ DEPENDS:=@(aarch64||i386||i686||x86_64) oci-runtime-tool +tar
endef
define Package/oci-runtime-tests/description
GO_PKG_BUILD_VARS += GO111MODULE=auto
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ifdef CONFIG_aarch64
+ $(eval $(call Download,busybox-static-armv8l))
+ ( \
+ mkdir -p $(PKG_BUILD_DIR)/rootfs-armv8l ;\
+ cd $(PKG_BUILD_DIR)/rootfs-armv8l ;\
+ $(TAR) xzf ../rootfs-amd64.tar.gz ;\
+ $(CP) $(DL_DIR)/busybox-$(BUSYBOX_STATIC_VERSION)-static-armv8l bin/busybox ;\
+ chmod 0755 bin/busybox ;\
+ $(TAR) czf ../rootfs-arm64.tar.gz . ;\
+ )
+endif
+endef
+
define Build/Compile
$(call GoPackage/Build/Compile)
$(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$$$${testbin} \
$(1)/usr/libexec/oci-runtime-test/$$$${testbin}.t ; \
done )
+ifdef CONFIG_x86
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rootfs-386.tar.gz $(1)/usr/libexec/oci-runtime-test
ifdef CONFIG_x86_64
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rootfs-amd64.tar.gz $(1)/usr/libexec/oci-runtime-test
endif
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/rootfs-386.tar.gz $(1)/usr/libexec/oci-runtime-test
+endif
+ifdef CONFIG_aarch64
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rootfs-arm64.tar.gz $(1)/usr/libexec/oci-runtime-test
+endif
endef
$(eval $(call GoBinPackage,oci-runtime-tools))
+++ /dev/null
-From 6502e57dbebcacd9b55fc7a80655c8f31d7dae8f Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Mon, 8 Feb 2021 01:26:31 +0000
-Subject: [PATCH] Fix build of hugetlb tests on 32-bit platforms
-
-https://github.com/opencontainers/runtime-tools/pull/712
-
-Use explicit 64-bit types to avoid fall-back on incompatible 32-bit
-types on 32-bit platforms.
-
-Fixes: #711
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
----
- validation/linux_cgroups_hugetlb/linux_cgroups_hugetlb.go | 2 +-
- .../linux_cgroups_relative_hugetlb.go | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- a/validation/linux_cgroups_hugetlb/linux_cgroups_hugetlb.go
-+++ b/validation/linux_cgroups_hugetlb/linux_cgroups_hugetlb.go
-@@ -24,7 +24,7 @@ func testHugetlbCgroups() error {
- // When setting the limit just for checking if writing works, the amount of memory
- // requested does not matter, as all insigned integers will be accepted.
- // Use 2GiB as an example
-- const limit = 2 * (1 << 30)
-+ var limit uint64 = 2 * (1 << 30)
-
- for _, pageSize := range pageSizes {
- g, err := util.GetDefaultGenerator()
---- a/validation/linux_cgroups_relative_hugetlb/linux_cgroups_relative_hugetlb.go
-+++ b/validation/linux_cgroups_relative_hugetlb/linux_cgroups_relative_hugetlb.go
-@@ -21,7 +21,7 @@ func main() {
- // When setting the limit just for checking if writing works, the amount of memory
- // requested does not matter, as all insigned integers will be accepted.
- // Use 2GiB as an example
-- const limit = 2 * (1 << 30)
-+ var limit uint64 = 2 * (1 << 30)
-
- for _, pageSize := range pageSizes {
- g, err := util.GetDefaultGenerator()
PKG_CPE_ID:=cpe:/a:openobex:openobex
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/openobex/Default
TITLE:=Open Source impl of the OBject EXchange protocol
endef
CMAKE_OPTIONS += \
- -DBUILD_DOCUMENTATION:BOOL=OFF \
+ -DBUILD_DOCUMENTATION:BOOL=OFF
-MAKE_FLAGS += \
- openobex openobex-apps \
+define Build/Compile
+ $(call Build/Compile/Default,openobex openobex-apps)
+endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
include $(TOPDIR)/rules.mk
PKG_NAME:=opensc
-PKG_VERSION:=0.20.0
-PKG_RELEASE:=1
-PKG_HASH:=bbf4b4f4a44463645c90a525e820a8059b2f742a53b7b944f941de3c97ba4863
+PKG_VERSION:=0.21.0
+PKG_RELEASE:=$(AUTORELEASE)
+PKG_HASH:=2bfbbb1dcb4b8d8d75685a3e95c30798fb6411d4efab3690fd89d2cb25f3325e
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=pcsc-lite
-PKG_VERSION:=1.9.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.9.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://pcsclite.apdu.fr/files/
-PKG_HASH:=0148d403137124552c5d0f10f8cdab2cbb8dfc7c6ce75e018faf667be34f2ef9
+PKG_HASH:=73c4789b7876a833a70f493cda21655dfe85689d9b7e29701c243276e55e683a
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=podman
-PKG_VERSION:=2.2.1
-PKG_RELEASE:=2
-PKG_LICENSE:=Apache-2.0
-PKG_LICENSE_FILES:=LICENSE
+PKG_VERSION:=3.0.1
+PKG_RELEASE:=$(AUTORELEASE)
+PKG_HASH:=259e682d6e90595573fe8880e0252cc8b08c813e19408b911c43383a6edd6852
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
-PKG_HASH:=bd86b181251e2308cb52f18410fb52d89df7f130cecf0298bbf9a848fe7daf60
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
PKG_BUILD_DEPENDS:=golang/host protobuf/host
PKG_BUILD_PARALLEL:=1
GO_PKG:=github.com/containers/podman/
GO_PKG_BUILD_PKG:=github.com/containers/podman/v2/cmd/podman/
-GO_PKG_TAGS=seccomp,exclude_graphdriver_devicemapper
-
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
HASH:=cddfaa8e6a7e5497b67cc0dd8e8517058d0c97de91bf46fff867528415f2d946
endef
-define Package/podman
+define Package/podman/Default
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Podman
+ DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +cni +cni-plugins +btrfs-progs +glib2 +gnupg2 +iptables +libgpg-error +libseccomp +libgpgme +nsenter +zoneinfo-simple +kmod-veth
URL:=https://podman.io
- DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +cni +cni-plugins +btrfs-progs +glib2 +gnupg2 +iptables +libgpg-error +libseccomp +libgpgme +nsenter +zoneinfo-simple
+endef
+
+define Package/podman
+ $(call Package/podman/Default)
+ CONFLICTS:=podman-selinux
+ VARIANT:=default
+ PROVIDES:=podman
+endef
+
+define Package/podman-selinux
+ $(call Package/podman/Default)
+ TITLE+= with SELinux support
+ DEPENDS+= libselinux
+ VARIANT:=selinux
+ PROVIDES:=podman
endef
define Package/podman/description
Podman: A tool for managing OCI containers and pods
endef
+define Package/podman-selinux/description
+ Podman: A tool for managing OCI containers and pods
+ SELinux enabled.
+endef
+
define Package/podman/conffiles
-/etc/containers
+ /etc/containers/policy.json
+ /etc/containers/storage.conf
+ /etc/containers/registries.conf
+ /etc/containers/containers.conf
+ /etc/cni/net.d/87-podman-bridge.conflist
endef
+Package/podman-selinux/conffiles = $(Package/podman/conffiles)
+
+ifeq ($(BUILD_VARIANT),selinux)
+ GO_PKG_TAGS=seccomp,exclude_graphdriver_devicemapper,selinux
+else
+ GO_PKG_TAGS=seccomp,exclude_graphdriver_devicemapper
+endif
+
define Build/Prepare
$(call Build/Prepare/Default)
$(eval $(call Download,default-registries))
$(INSTALL_CONF) ./files/containers.conf $(1)/etc/containers/containers.conf
$(INSTALL_DIR) $(1)/etc/cni/net.d
$(INSTALL_CONF) $(PKG_BUILD_DIR)/cni/87-podman-bridge.conflist $(1)/etc/cni/net.d/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/podman.init $(1)/etc/init.d/podman
+ $(SED) 's/driver = \"\"/driver = \"overlay\"/g' $(1)/etc/containers/storage.conf
endef
+Package/podman-selinux/install = $(Package/podman/install)
+
$(eval $(call GoBinPackage,podman))
$(eval $(call BuildPackage,podman))
+$(eval $(call GoBinPackage,podman-selinux))
+$(eval $(call BuildPackage,podman-selinux))
default_network="podman"
[engine]
-runtime="/usr/sbin/runc"
+runtime="/usr/bin/crun"
+# runtime="/usr/sbin/runc"
# runtime="/sbin/uxc"
# runtime_supports_nocgroups = ["crun", "uxc"]
# runtime_supports_json = ["crun", "runc", "kata", "uxc"]
[engine.runtimes]
+crun = [
+ "/usr/bin/crun",
+]
+
runc = [
"/usr/sbin/runc",
]
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=99
+USE_PROCD=1
+NAME=podman
+PROG=/usr/bin/podman
+
+start_service() {
+ [ -d /run/podman ] || mkdir -p /run/podman
+ procd_open_instance "podman"
+ procd_set_param command "$PROG" system service --time=0
+ procd_append_param command $command
+ procd_close_instance
+}
+++ /dev/null
-From 1ad796677e1ce3f03463c791818176586987c389 Mon Sep 17 00:00:00 2001
-From: Paul Holzinger <paul.holzinger@web.de>
-Date: Mon, 21 Dec 2020 12:30:06 +0100
-Subject: [PATCH] Fix build for mips architecture
-
-The signal SIGSTKFLT does not exists on mips architectures.
-Also RTMIN and RTMAX are different.
-
-This code is copied from docker.
-
-Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
----
- pkg/signal/signal_linux.go | 1 +
- pkg/signal/signal_linux_mipsx.go | 106 +++++++++++++++++++++++++++++++
- 2 files changed, 107 insertions(+)
- create mode 100644 pkg/signal/signal_linux_mipsx.go
-
---- a/pkg/signal/signal_linux.go
-+++ b/pkg/signal/signal_linux.go
-@@ -1,4 +1,5 @@
- // +build linux
-+// +build !mips,!mipsle,!mips64,!mips64le
-
- // Signal handling for Linux only.
- package signal
---- /dev/null
-+++ b/pkg/signal/signal_linux_mipsx.go
-@@ -0,0 +1,106 @@
-+// +build linux
-+// +build mips mipsle mips64 mips64le
-+
-+// Special signal handling for mips architecture
-+package signal
-+
-+// Copyright 2013-2018 Docker, Inc.
-+
-+// NOTE: this package has originally been copied from github.com/docker/docker.
-+
-+import (
-+ "os"
-+ "os/signal"
-+ "syscall"
-+
-+ "golang.org/x/sys/unix"
-+)
-+
-+const (
-+ sigrtmin = 34
-+ sigrtmax = 127
-+)
-+
-+// signalMap is a map of Linux signals.
-+var signalMap = map[string]syscall.Signal{
-+ "ABRT": unix.SIGABRT,
-+ "ALRM": unix.SIGALRM,
-+ "BUS": unix.SIGBUS,
-+ "CHLD": unix.SIGCHLD,
-+ "CLD": unix.SIGCLD,
-+ "CONT": unix.SIGCONT,
-+ "FPE": unix.SIGFPE,
-+ "HUP": unix.SIGHUP,
-+ "ILL": unix.SIGILL,
-+ "INT": unix.SIGINT,
-+ "IO": unix.SIGIO,
-+ "IOT": unix.SIGIOT,
-+ "KILL": unix.SIGKILL,
-+ "PIPE": unix.SIGPIPE,
-+ "POLL": unix.SIGPOLL,
-+ "PROF": unix.SIGPROF,
-+ "PWR": unix.SIGPWR,
-+ "QUIT": unix.SIGQUIT,
-+ "SEGV": unix.SIGSEGV,
-+ "EMT": unix.SIGEMT,
-+ "STOP": unix.SIGSTOP,
-+ "SYS": unix.SIGSYS,
-+ "TERM": unix.SIGTERM,
-+ "TRAP": unix.SIGTRAP,
-+ "TSTP": unix.SIGTSTP,
-+ "TTIN": unix.SIGTTIN,
-+ "TTOU": unix.SIGTTOU,
-+ "URG": unix.SIGURG,
-+ "USR1": unix.SIGUSR1,
-+ "USR2": unix.SIGUSR2,
-+ "VTALRM": unix.SIGVTALRM,
-+ "WINCH": unix.SIGWINCH,
-+ "XCPU": unix.SIGXCPU,
-+ "XFSZ": unix.SIGXFSZ,
-+ "RTMIN": sigrtmin,
-+ "RTMIN+1": sigrtmin + 1,
-+ "RTMIN+2": sigrtmin + 2,
-+ "RTMIN+3": sigrtmin + 3,
-+ "RTMIN+4": sigrtmin + 4,
-+ "RTMIN+5": sigrtmin + 5,
-+ "RTMIN+6": sigrtmin + 6,
-+ "RTMIN+7": sigrtmin + 7,
-+ "RTMIN+8": sigrtmin + 8,
-+ "RTMIN+9": sigrtmin + 9,
-+ "RTMIN+10": sigrtmin + 10,
-+ "RTMIN+11": sigrtmin + 11,
-+ "RTMIN+12": sigrtmin + 12,
-+ "RTMIN+13": sigrtmin + 13,
-+ "RTMIN+14": sigrtmin + 14,
-+ "RTMIN+15": sigrtmin + 15,
-+ "RTMAX-14": sigrtmax - 14,
-+ "RTMAX-13": sigrtmax - 13,
-+ "RTMAX-12": sigrtmax - 12,
-+ "RTMAX-11": sigrtmax - 11,
-+ "RTMAX-10": sigrtmax - 10,
-+ "RTMAX-9": sigrtmax - 9,
-+ "RTMAX-8": sigrtmax - 8,
-+ "RTMAX-7": sigrtmax - 7,
-+ "RTMAX-6": sigrtmax - 6,
-+ "RTMAX-5": sigrtmax - 5,
-+ "RTMAX-4": sigrtmax - 4,
-+ "RTMAX-3": sigrtmax - 3,
-+ "RTMAX-2": sigrtmax - 2,
-+ "RTMAX-1": sigrtmax - 1,
-+ "RTMAX": sigrtmax,
-+}
-+
-+// CatchAll catches all signals and relays them to the specified channel.
-+func CatchAll(sigc chan os.Signal) {
-+ handledSigs := make([]os.Signal, 0, len(signalMap))
-+ for _, s := range signalMap {
-+ handledSigs = append(handledSigs, s)
-+ }
-+ signal.Notify(sigc, handledSigs...)
-+}
-+
-+// StopCatch stops catching the signals and closes the specified channel.
-+func StopCatch(sigc chan os.Signal) {
-+ signal.Stop(sigc)
-+ close(sigc)
-+}
+++ /dev/null
-From 21f5154399fc33959a4f3c42e29cade6757015c9 Mon Sep 17 00:00:00 2001
-From: Valentin Rothberg <rothberg@redhat.com>
-Date: Tue, 5 Jan 2021 10:44:16 +0100
-Subject: [PATCH] vendor containers/psgo@v1.5.2
-
-Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
----
- go.mod | 2 +-
- go.sum | 4 ++--
- .../internal/capabilities/capabilities.go | 2 +-
- .../containers/psgo/internal/dev/tty.go | 5 ++--
- .../containers/psgo/internal/proc/status.go | 2 +-
- .../psgo/internal/process/process.go | 4 ++--
- vendor/github.com/containers/psgo/psgo.go | 24 +++++++++----------
- vendor/modules.txt | 2 +-
- 8 files changed, 23 insertions(+), 22 deletions(-)
-
---- a/go.mod
-+++ b/go.mod
-@@ -14,7 +14,7 @@ require (
- github.com/containers/common v0.29.0
- github.com/containers/conmon v2.0.20+incompatible
- github.com/containers/image/v5 v5.9.0
-- github.com/containers/psgo v1.5.1
-+ github.com/containers/psgo v1.5.2
- github.com/containers/storage v1.24.1
- github.com/coreos/go-systemd/v22 v22.1.0
- github.com/cri-o/ocicni v0.2.1-0.20201102180012-75c612fda1a2
---- a/go.sum
-+++ b/go.sum
-@@ -109,8 +109,8 @@ github.com/containers/libtrust v0.0.0-20
- github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY=
- github.com/containers/ocicrypt v1.0.3 h1:vYgl+RZ9Q3DPMuTfxmN+qp0X2Bj52uuY2vnt6GzVe1c=
- github.com/containers/ocicrypt v1.0.3/go.mod h1:CUBa+8MRNL/VkpxYIpaMtgn1WgXGyvPQj8jcy0EVG6g=
--github.com/containers/psgo v1.5.1 h1:MQNb7FLbXqBdqz6u4lI2QWizVz4RSTzs1+Nk9XT1iVA=
--github.com/containers/psgo v1.5.1/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU=
-+github.com/containers/psgo v1.5.2 h1:3aoozst/GIwsrr/5jnFy3FrJay98uujPCu9lTuSZ/Cw=
-+github.com/containers/psgo v1.5.2/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU=
- github.com/containers/storage v1.23.6/go.mod h1:haFs0HRowKwyzvWEx9EgI3WsL8XCSnBDb5f8P5CAxJY=
- github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI=
- github.com/containers/storage v1.24.0 h1:Fo2LkF7tkMLmo38sTZ/G8wHjcn8JfUFPfyTxM4WwMfk=
---- a/vendor/github.com/containers/psgo/internal/capabilities/capabilities.go
-+++ b/vendor/github.com/containers/psgo/internal/capabilities/capabilities.go
-@@ -13,7 +13,7 @@
- // limitations under the License.
-
- // Package capabilities provides a mapping from common kernel bit masks to the
--// alphanumerical represenation of kernel capabilities. See capabilities(7)
-+// alphanumerical representation of kernel capabilities. See capabilities(7)
- // for additional information.
- package capabilities
-
---- a/vendor/github.com/containers/psgo/internal/dev/tty.go
-+++ b/vendor/github.com/containers/psgo/internal/dev/tty.go
-@@ -113,8 +113,9 @@ func TTYs() (*[]TTY, error) {
- }
- s := fi.Sys().(*syscall.Stat_t)
- t := TTY{
-- Minor: minDevNum(s.Rdev),
-- Major: majDevNum(s.Rdev),
-+ // Rdev is type uint32 on mips arch so we have to cast to uint64
-+ Minor: minDevNum(uint64(s.Rdev)),
-+ Major: majDevNum(uint64(s.Rdev)),
- Path: dev,
- }
- ttys = append(ttys, t)
---- a/vendor/github.com/containers/psgo/internal/proc/status.go
-+++ b/vendor/github.com/containers/psgo/internal/proc/status.go
-@@ -24,7 +24,7 @@ import (
- "github.com/pkg/errors"
- )
-
--// Status is a direct translation of a `/proc/[pid]/status`, wich provides much
-+// Status is a direct translation of a `/proc/[pid]/status`, which provides much
- // of the information in /proc/[pid]/stat and /proc/[pid]/statm in a format
- // that's easier for humans to parse.
- type Status struct {
---- a/vendor/github.com/containers/psgo/internal/process/process.go
-+++ b/vendor/github.com/containers/psgo/internal/process/process.go
-@@ -31,9 +31,9 @@ type Process struct {
- Pid string
- // Stat contains data from /proc/$pid/stat.
- Stat proc.Stat
-- // Status containes data from /proc/$pid/status.
-+ // Status contains data from /proc/$pid/status.
- Status proc.Status
-- // CmdLine containes data from /proc/$pid/cmdline.
-+ // CmdLine contains data from /proc/$pid/cmdline.
- CmdLine []string
- // Label containers data from /proc/$pid/attr/current.
- Label string
---- a/vendor/github.com/containers/psgo/psgo.go
-+++ b/vendor/github.com/containers/psgo/psgo.go
-@@ -482,7 +482,7 @@ func JoinNamespaceAndProcessInfoByPidsWi
- // catch race conditions
- continue
- }
-- return nil, errors.Wrapf(err, "error extracing PID namespace")
-+ return nil, errors.Wrapf(err, "error extracting PID namespace")
- }
- if _, exists := nsMap[ns]; !exists {
- nsMap[ns] = true
-@@ -759,7 +759,7 @@ func processVSZ(p *process.Process, ctx
- }
-
- // parseCAP parses cap (a string bit mask) and returns the associated set of
--// capabilities. If all capabilties are set, "full" is returned. If no
-+// capabilities. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func parseCAP(cap string) (string, error) {
- mask, err := strconv.ParseUint(cap, 16, 64)
-@@ -777,36 +777,36 @@ func parseCAP(cap string) (string, error
- return strings.Join(caps, ","), nil
- }
-
--// processCAPAMB returns the set of ambient capabilties associated with
--// process p. If all capabilties are set, "full" is returned. If no
-+// processCAPAMB returns the set of ambient capabilities associated with
-+// process p. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func processCAPAMB(p *process.Process, ctx *psContext) (string, error) {
- return parseCAP(p.Status.CapAmb)
- }
-
--// processCAPINH returns the set of inheritable capabilties associated with
--// process p. If all capabilties are set, "full" is returned. If no
-+// processCAPINH returns the set of inheritable capabilities associated with
-+// process p. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func processCAPINH(p *process.Process, ctx *psContext) (string, error) {
- return parseCAP(p.Status.CapInh)
- }
-
--// processCAPPRM returns the set of permitted capabilties associated with
--// process p. If all capabilties are set, "full" is returned. If no
-+// processCAPPRM returns the set of permitted capabilities associated with
-+// process p. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func processCAPPRM(p *process.Process, ctx *psContext) (string, error) {
- return parseCAP(p.Status.CapPrm)
- }
-
--// processCAPEFF returns the set of effective capabilties associated with
--// process p. If all capabilties are set, "full" is returned. If no
-+// processCAPEFF returns the set of effective capabilities associated with
-+// process p. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func processCAPEFF(p *process.Process, ctx *psContext) (string, error) {
- return parseCAP(p.Status.CapEff)
- }
-
--// processCAPBND returns the set of bounding capabilties associated with
--// process p. If all capabilties are set, "full" is returned. If no
-+// processCAPBND returns the set of bounding capabilities associated with
-+// process p. If all capabilities are set, "full" is returned. If no
- // capability is enabled, "none" is returned.
- func processCAPBND(p *process.Process, ctx *psContext) (string, error) {
- return parseCAP(p.Status.CapBnd)
---- a/vendor/modules.txt
-+++ b/vendor/modules.txt
-@@ -160,7 +160,7 @@ github.com/containers/ocicrypt/keywrap/p
- github.com/containers/ocicrypt/keywrap/pkcs7
- github.com/containers/ocicrypt/spec
- github.com/containers/ocicrypt/utils
--# github.com/containers/psgo v1.5.1
-+# github.com/containers/psgo v1.5.2
- github.com/containers/psgo
- github.com/containers/psgo/internal/capabilities
- github.com/containers/psgo/internal/cgroups
+++ /dev/null
-From fcba0df068d07ee7a26ec9d891220233d7d17dfd Mon Sep 17 00:00:00 2001
-From: Paul Holzinger <paul.holzinger@web.de>
-Date: Wed, 6 Jan 2021 23:32:40 +0100
-Subject: [PATCH] Fix build for mips architecture followup
-
-Followup to commit (1ad796677e1c). The build on mips is still
-failing because SIGWINCH was not defined in the signal pkg.
-
-Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
----
- pkg/signal/signal_linux_mipsx.go | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/pkg/signal/signal_linux_mipsx.go
-+++ b/pkg/signal/signal_linux_mipsx.go
-@@ -19,6 +19,8 @@ import (
- const (
- sigrtmin = 34
- sigrtmax = 127
-+
-+ SIGWINCH = syscall.SIGWINCH
- )
-
- // signalMap is a map of Linux signals.
+++ /dev/null
---- a/pkg/spec/config_linux.go
-+++ b/pkg/spec/config_linux.go
-@@ -294,8 +294,8 @@ func (c *CreateConfig) createBlockIO() (
- lwd := spec.LinuxWeightDevice{
- Weight: &wd.Weight,
- }
-- lwd.Major = int64(unix.Major(wdStat.Rdev))
-- lwd.Minor = int64(unix.Minor(wdStat.Rdev))
-+ lwd.Major = int64(unix.Major(uint64(wdStat.Rdev))) //nolint: unconvert
-+ lwd.Minor = int64(unix.Minor(uint64(wdStat.Rdev))) //nolint: unconvert
- lwds = append(lwds, lwd)
- }
- bio.WeightDevice = lwds
-@@ -357,8 +357,8 @@ func makeThrottleArray(throttleInput []s
- ltd := spec.LinuxThrottleDevice{
- Rate: t.rate,
- }
-- ltd.Major = int64(unix.Major(ltdStat.Rdev))
-- ltd.Minor = int64(unix.Minor(ltdStat.Rdev))
-+ ltd.Major = int64(unix.Major(uint64(ltdStat.Rdev))) // nolint: unconvert
-+ ltd.Minor = int64(unix.Minor(uint64(ltdStat.Rdev))) // nolint: unconvert
- ltds = append(ltds, ltd)
- }
- return ltds, nil
---- a/pkg/specgen/generate/container.go
-+++ b/pkg/specgen/generate/container.go
-@@ -282,8 +282,8 @@ func finishThrottleDevices(s *specgen.Sp
- if err := unix.Stat(k, &statT); err != nil {
- return err
- }
-- v.Major = (int64(unix.Major(statT.Rdev)))
-- v.Minor = (int64(unix.Minor(statT.Rdev)))
-+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert
-+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert
- s.ResourceLimits.BlockIO.ThrottleReadBpsDevice = append(s.ResourceLimits.BlockIO.ThrottleReadBpsDevice, v)
- }
- }
-@@ -293,8 +293,8 @@ func finishThrottleDevices(s *specgen.Sp
- if err := unix.Stat(k, &statT); err != nil {
- return err
- }
-- v.Major = (int64(unix.Major(statT.Rdev)))
-- v.Minor = (int64(unix.Minor(statT.Rdev)))
-+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert
-+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert
- s.ResourceLimits.BlockIO.ThrottleWriteBpsDevice = append(s.ResourceLimits.BlockIO.ThrottleWriteBpsDevice, v)
- }
- }
-@@ -304,8 +304,8 @@ func finishThrottleDevices(s *specgen.Sp
- if err := unix.Stat(k, &statT); err != nil {
- return err
- }
-- v.Major = (int64(unix.Major(statT.Rdev)))
-- v.Minor = (int64(unix.Minor(statT.Rdev)))
-+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert
-+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert
- s.ResourceLimits.BlockIO.ThrottleReadIOPSDevice = append(s.ResourceLimits.BlockIO.ThrottleReadIOPSDevice, v)
- }
- }
-@@ -315,8 +315,8 @@ func finishThrottleDevices(s *specgen.Sp
- if err := unix.Stat(k, &statT); err != nil {
- return err
- }
-- v.Major = (int64(unix.Major(statT.Rdev)))
-- v.Minor = (int64(unix.Minor(statT.Rdev)))
-+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert
-+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert
- s.ResourceLimits.BlockIO.ThrottleWriteIOPSDevice = append(s.ResourceLimits.BlockIO.ThrottleWriteIOPSDevice, v)
- }
- }
include $(TOPDIR)/rules.mk
PKG_NAME:=prometheus
-PKG_VERSION:=2.22.0
-PKG_RELEASE:=2
+PKG_VERSION:=2.25.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/prometheus/prometheus/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=9390cbd338d253956184d0f0a6719d21cb5719f0319fc48ee08d5bd48fc87cc2
+PKG_HASH:=85f50c0cfb4db206a59d2c3301e02d685c3fe4b451b41ca943a4eb94935cf4d4
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/rpcd-mod-lxc
SECTION:=libs
PKG_SOURCE_URL:=https://git.osmocom.org/rtl-sdr/snapshot
PKG_HASH:=ee10a76fe0c6601102367d4cdf5c26271e9442d0491aa8df27e5a9bf639cff7c
-PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
PKG_LICENSE:=GPLv2
PKG_MAINTAINER:=Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/rtl-sdr/Default
TITLE:=Software Defined Radio with Realtek RTL2832U
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/rtl_433
TITLE:=Realtek RTL2832 based 433.92MHz generic data receiver
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/rtty/releases/download/v$(PKG_VERSION)
PKG_HASH:=9bc5d30dfa9bd664a62711b6229f47505b83adb364907f24e3a404aad52a4802
-CMAKE_INSTALL:=1
+PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/rtty/Default
TITLE:=Access your terminals from anywhere via the web
include $(TOPDIR)/rules.mk
PKG_NAME:=sshpass
-PKG_VERSION:=1.06
+PKG_VERSION:=1.09
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/sshpass
-PKG_HASH:=c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60
+PKG_HASH:=71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_LICENSE:=GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=stress-ng
-PKG_VERSION:=0.12.04
+PKG_VERSION:=0.12.06
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://kernel.ubuntu.com/~cking/tarballs/stress-ng
-PKG_HASH:=b4e34bda8db4ed37e33b7a861bc06ad77cbbd234d63236da2cb58f02e3f3218e
+PKG_HASH:=75eb340266b1bbae944d8f9281af978bd5bc2c8085df97a098d5500d6f177296
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=GPL-2.0-only
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/sumo
SECTION:=utils
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/taskwarrior
TITLE:=taskwarrior
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=0
-PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone
+PKG_BUILD_DEPENDS:=argp-standalone
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/telldus-core
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=tessdata
-PKG_VERSION:=4.0.0
-PKG_RELEASE:=1
+PKG_VERSION:=4.1.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/tesseract-ocr/tessdata/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=38c637d3a1763f6c3d32e8f1d979f045668676ec5feb8ee1869ee77cedd31b08
+PKG_HASH:=990fffb9b7a9b52dc9a2d053a9ef6852ca2b72bd8dfb22988b0b990a700fd3c7
PKG_MAINTAINER:=Valentín Kivachuk <vk18496@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=COPYING
-PKG_INSTALL:=1
-
#No need to extract 1,5GB...
PKG_UNPACK:=
include $(INCLUDE_DIR)/package.mk
-ALLTESSERACTLANG:=afr amh ara asm aze aze_cyrl bel ben bod bos bre bul cat ceb ces chi_sim chi_sim_vert chi_tra chi_tra_vert chr cos cym dan dan_frak deu deu_frak div dzo ell eng enm epo equ est eus fao fas fil fin fra frk frm fry gla gle glg grc guj hat heb hin hrv hun hye iku ind isl ita ita_old jav jpn jpn_vert kan kat kat_old kaz khm kir kor kor_vert kur kur_ara lao lat lav lit ltz mal mar mkd mlt mon mri msa mya nep nld nor oci ori osd pan pol por pus que ron rus san sin slk slk_frak slv snd spa spa_old sqi srp srp_latn sun swa swe syr tam tat tel tgk tgl tha tir ton tur uig ukr urd uzb uzb_cyrl vie yid yor
+ALLTESSERACTLANG:=afr amh ara asm aze aze_cyrl bel ben bod bos bre bul cat ceb ces chi_sim chi_sim_vert chi_tra chi_tra_vert chr cos cym dan dan_frak deu deu_frak div dzo ell eng enm epo equ est eus fao fas fil fin fra frk frm fry gla gle glg grc guj hat heb hin hrv hun hye iku ind isl ita ita_old jav jpn jpn_vert kan kat kat_old kaz khm kir kmr kor kor_vert lao lat lav lit ltz mal mar mkd mlt mon mri msa mya nep nld nor oci ori osd pan pol por pus que ron rus san sin slk slk_frak slv snd spa spa_old sqi srp srp_latn sun swa swe syr tam tat tel tgk tgl tha tir ton tur uig ukr urd uzb uzb_cyrl vie yid yor
define Build/Compile
include $(TOPDIR)/rules.mk
PKG_NAME:=tesseract
-PKG_VERSION:=4.0.0
-PKG_RELEASE:=2
+PKG_VERSION:=4.1.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd
+PKG_HASH:=2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb
PKG_MAINTAINER:=Valentin Kivachuk <vk18496@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/tesseract
MENU:=1
CATEGORY:=Utilities
TITLE:=Tesseract Open Source OCR Engine
URL:=https://github.com/tesseract-ocr/tesseract
- DEPENDS:=+libleptonica +libpthread +libstdcpp
+ DEPENDS:=+libleptonica +libarchive +libpthread +libstdcpp
endef
TARGET_CFLAGS:=$(filter-out -O%,$(TARGET_CFLAGS)) -O3
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -224,41 +224,6 @@ set(tesseract_src ${tesseract_src}
- src/api/pdfrenderer.cpp
- )
-
--if (WIN32)
-- if (MSVC)
-- include_directories(src/vs2010/tesseract)
-- set(tesseract_hdr
-- ${tesseract_hdr}
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/vs2010/tesseract/resource.h)
-- set(tesseract_rsc ${CMAKE_BINARY_DIR}/vs2010/tesseract/libtesseract.rc)
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductsse.cpp
-- PROPERTIES COMPILE_DEFINITIONS __SSE4_1__)
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixsse.cpp
-- PROPERTIES COMPILE_DEFINITIONS __SSE4_1__)
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductavx.cpp
-- PROPERTIES COMPILE_FLAGS "/arch:AVX")
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixavx2.cpp
-- PROPERTIES COMPILE_FLAGS "/arch:AVX2")
+@@ -252,15 +252,6 @@ set(AVX2_OPT OFF)
+ set(FMA_OPT OFF)
+ set(SSE41_OPT OFF)
+ set(MARCH_NATIVE_OPT OFF)
+-foreach(flag ${_enable_vector_unit_list}) # from OptimizeForArchitecture()
+- string(TOUPPER "${flag}" flag)
+- string(REPLACE "\." "_" flag "${flag}")
+- set(simd_flags "${simd_flags} -D${flag}")
+- string(REPLACE "_" "" flag "${flag}")
+- if("${flag}" MATCHES "AVX|AVX2|FMA|SSE41")
+- set("${flag}_OPT" ON)
- endif()
--else()
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductsse.cpp
-- PROPERTIES COMPILE_FLAGS "-msse4.1")
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixsse.cpp
-- PROPERTIES COMPILE_FLAGS "-msse4.1")
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductavx.cpp
-- PROPERTIES COMPILE_FLAGS "-mavx")
-- set_source_files_properties(
-- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixavx2.cpp
-- PROPERTIES COMPILE_FLAGS "-mavx2")
--endif()
--
- add_library (libtesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr}
- ${tesseract_rsc}
- )
+-endforeach(flag)
+ if (NOT MSVC)
+ set(MARCH_NATIVE_FLAGS "${MARCH_NATIVE_FLAGS} -O3 -ffast-math")
+ endif()
--- /dev/null
+--- a/src/ccutil/ocrclass.h
++++ b/src/ccutil/ocrclass.h
+@@ -28,6 +28,7 @@
+
+ #include <chrono>
+ #include <ctime>
++#include <sys/time.h>
+ #ifdef _WIN32
+ #include <winsock2.h> // for timeval
+ #endif
PKG_NAME:=tini
PKG_VERSION:=0.19.0
PKG_RELEASE:=2
-PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/krallin/tini/tar.gz/v${PKG_VERSION}?
TINI_COMMIT:=de40ad0
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
-
-CMAKE_INSTALL:=1
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/tini
SECTION:=utils
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_PARALLEL:=1
-
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/ttyd
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=uledd
-PKG_RELEASE:=1
+PKG_RELEASE:=$(AUTORELEASE)
-PKG_SOURCE_URL:=https://github.com/blogic/uledd.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=b7abc41ac4e04131e5a81f0f1de4e4ffb6ae16eb
-PKG_MIRROR_HASH:=751d6336619f282aa571cbd3aa64df9b326da74fc56477a425d49cb2b0a12aea
+PKG_SOURCE_URL:=https://github.com/blogic/uledd.git
+PKG_SOURCE_DATE:=2020-09-15
+PKG_SOURCE_VERSION:=21d14d950bfe702b8c1f77de20f7529266dbd0f7
+PKG_MIRROR_HASH:=9ccb019123d1287b7f8750d1733e6ab47d2abfc3f37ce113a5f682ed51eee309
+
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
PKG_LICENSE:=LGPL-2.1-only
-
-CMAKE_INSTALL:=1
+PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/uledd
SECTION:=utils
PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=uvcdynctrl/COPYING
-PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/ninja/ninja-cmake.mk
define Package/uvcdynctrl
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=whois
-PKG_VERSION:=5.5.8
+PKG_VERSION:=5.5.9
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/w/whois
-PKG_HASH:=cd9e7bad3b6968182bfcc311e22be3aec9a974397377d748845147884ce07547
+PKG_HASH:=69088241ed33d2204f153c8005b312a69b60a1429075ff49f42f9f1f73a19c19
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_BUILD_DEPENDS:=perl/host
include $(TOPDIR)/rules.mk
PKG_NAME:=yq
-PKG_VERSION:=4.6.1
-PKG_RELEASE:=1
+PKG_VERSION:=4.6.3
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=a843b90e4e86efa310284823ab6f1249e4ae3c6aa5df4d61c10b0fdc543b267d
+PKG_HASH:=85d7e0cbc12ac690fd86e77bef7a7ce27e0969191a9b6d3bb491ec690659d681
-PKG_MAINTAINER:=
+PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE