ucode: update to Git 85922056ef7 (2026-01-16)

45bf891e1d8d rtnl: add module documentation
8bbf01215ce3 nl80211: add module documentation
40a6aeb698e1 nl80211: add new attribute "mlo_links" for per link information
376e8733609e ubus: complete pending requests when disconnecting locally
32449bfb69d6 io: add ptsname, tcgetattr, tcsetattr, grantpt, unlockpt
76bf32679d86 digest: fix jsdoc to reveal sha512 functions
58b4597fa2ae build: drop remnant
6ef0b3ada3fd build: respect bin/lib paths
28132276a426 build: adjust flags and definitions
cb1b1c1a097b zlib: make chunk size configurable
6f80655c88c3 debian: refresh packaging
9fc4889c6e8e debian: adjust LTO build
a503a49f5cef debian: build "digest" and "zlib" modules
ffc48a2a4db9 socket: fix off-by-one in uv_to_sockaddr()

Fixes: https://github.com/jow-/ucode/issues/366

dropped patch 130 - integrated at source.
refreshed patches

https://github.com/openwrt/openwrt/pull/21585
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21585
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Paul Donald 2026-01-18 00:28:44 +01:00 committed by Hauke Mehrtens
parent 7e39a2d485
commit a82738d83f
4 changed files with 11 additions and 53 deletions

View file

@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
PKG_SOURCE_DATE:=2025-12-01
PKG_SOURCE_VERSION:=f7c2b97a82e8b505bf4b2c0d8883b5116e1960f9
PKG_MIRROR_HASH:=7de6a6d5b3c7392624bccefdc03e2dc61f097b414989eeced29ecc3e020bbd0b
PKG_SOURCE_DATE:=2026-01-16
PKG_SOURCE_VERSION:=85922056ef7abeace3cca3ab28bc1ac2d88e31b1
PKG_MIRROR_HASH:=8c6f586f90e704827dc8736bf3726d15989a978c6a726a52d51e33f8019403b6
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=ISC

View file

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/lib/uloop.c
+++ b/lib/uloop.c
@@ -1016,7 +1016,22 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
@@ -1023,7 +1023,22 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
if (pid == 0) {
argp = calloc(ucv_array_length(arguments) + 2, sizeof(char *));
@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!argp || !envp)
_exit(-1);
@@ -1026,19 +1041,6 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
@@ -1033,19 +1048,6 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
for (i = 0; i < ucv_array_length(arguments); i++)
argp[i+1] = ucv_to_string(vm, ucv_array_get(arguments, i));

View file

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/lib/uloop.c
+++ b/lib/uloop.c
@@ -961,8 +961,9 @@ uc_uloop_process_cb(struct uloop_process
@@ -968,8 +968,9 @@ uc_uloop_process_cb(struct uloop_process
*
* This function creates a process instance for executing external programs.
* It takes the executable path string, an optional string array as the argument
@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*
* @function module:uloop#process
*
@@ -979,6 +980,11 @@ uc_uloop_process_cb(struct uloop_process
@@ -986,6 +987,11 @@ uc_uloop_process_cb(struct uloop_process
* @param {Function} callback
* The callback function to be invoked when the invoked process ends.
*
@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
* @returns {?module:uloop.process}
* Returns a process instance for executing external programs.
* Returns `null` on error, e.g. due to `exec()` failure or invalid arguments.
@@ -988,6 +994,16 @@ uc_uloop_process_cb(struct uloop_process
@@ -995,6 +1001,16 @@ uc_uloop_process_cb(struct uloop_process
* const myProcess = uloop.process("/bin/ls", ["-l", "/tmp"], null, (code) => {
* printf(`Process exited with code ${code}\n`);
* });
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/
static uc_value_t *
uc_uloop_process(uc_vm_t *vm, size_t nargs)
@@ -996,6 +1012,7 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
@@ -1003,6 +1019,7 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
uc_value_t *arguments = uc_fn_arg(1);
uc_value_t *env_arg = uc_fn_arg(2);
uc_value_t *callback = uc_fn_arg(3);
@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
uc_uloop_process_t *process;
uc_stringbuf_t *buf;
char **argp, **envp;
@@ -1005,7 +1022,8 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
@@ -1012,7 +1029,8 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
if (ucv_type(executable) != UC_STRING ||
(arguments && ucv_type(arguments) != UC_ARRAY) ||
(env_arg && ucv_type(env_arg) != UC_OBJECT) ||
@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
err_return(EINVAL);
}
@@ -1015,6 +1033,13 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
@@ -1022,6 +1040,13 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
err_return(errno);
if (pid == 0) {

View file

@ -1,42 +0,0 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Sun, 4 Jan 2026 10:42:15 +0100
Subject: [PATCH] ubus: complete pending requests when disconnecting locally
libubus only completes pending requests when the socket receives EOF.
When explicitly disconnecting, we need to call ubus_flush_requests().
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -198,6 +198,7 @@ if(UBUS_SUPPORT)
try_compile(HAVE_NEW_UBUS_STATUS_CODES
${CMAKE_BINARY_DIR}
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test.c")
+ check_function_exists(ubus_flush_requests HAVE_UBUS_FLUSH_REQUESTS)
check_function_exists(uloop_timeout_remaining64 REMAINING64_FUNCTION_EXISTS)
check_function_exists(ubus_channel_connect HAVE_CHANNEL_SUPPORT)
file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test2.c" "
@@ -216,6 +217,9 @@ if(UBUS_SUPPORT)
if(HAVE_NEW_UBUS_STATUS_CODES)
add_definitions(-DHAVE_NEW_UBUS_STATUS_CODES)
endif()
+ if(HAVE_UBUS_FLUSH_REQUESTS)
+ add_definitions(-DHAVE_UBUS_FLUSH_REQUESTS)
+ endif()
if (HAVE_UBUS_NEW_OBJ_CB)
target_compile_definitions(ubus_lib PUBLIC HAVE_UBUS_NEW_OBJ_CB)
endif()
--- a/lib/ubus.c
+++ b/lib/ubus.c
@@ -2310,6 +2310,9 @@ uc_ubus_disconnect(uc_vm_t *vm, size_t n
conn_get(vm, &c);
+#ifdef HAVE_UBUS_FLUSH_REQUESTS
+ ubus_flush_requests(&c->ctx);
+#endif
ubus_shutdown(&c->ctx);
c->ctx.sock.fd = -1;
uc_ubus_put_res(&c->res);