Skip to content

Commit e0c07c8

Browse files
authored
Merge pull request #10950 from heitbaum/pkg
Package updates
2 parents 3485270 + 5f8c884 commit e0c07c8

9 files changed

Lines changed: 632 additions & 5 deletions

packages/network/libnfs/patches/libnfs-514-socket-use-void-cast-to-allow-compile-for-arm32.patch renamed to packages/network/libnfs/patches/libnfs-0514-socket-use-void-cast-to-allow-compile-for-arm32.patch

File renamed without changes.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
From 89a795fee97a3da348c28dbd58500100a13dcec0 Mon Sep 17 00:00:00 2001
2+
From: Rudi Heitbaum <rudi@heitbaum.com>
3+
Date: Sun, 25 Jan 2026 08:30:43 +0000
4+
Subject: [PATCH] Do not edit const and use const qualifier from pointer target
5+
type
6+
7+
Fixes:
8+
../../lib/libnfs.c: In function 'nfs_set_context_args':
9+
../../lib/libnfs.c:301:30: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
10+
301 | char *strp = strchr(val, ',');
11+
| ^~~~~~
12+
---
13+
lib/libnfs.c | 3 +--
14+
1 file changed, 1 insertion(+), 2 deletions(-)
15+
16+
diff --git a/lib/libnfs.c b/lib/libnfs.c
17+
index bbe6666..162492b 100755
18+
--- a/lib/libnfs.c
19+
+++ b/lib/libnfs.c
20+
@@ -316,9 +316,8 @@ nfs_set_context_args(struct nfs_context *nfs, const char *arg, const char *val)
21+
} else if (!strcmp(arg, "wsize")) {
22+
nfs_set_writemax(nfs, atoi(val));
23+
} else if (!strcmp(arg, "readdir-buffer")) {
24+
- char *strp = strchr(val, ',');
25+
+ const char *strp = strchr(val, ',');
26+
if (strp) {
27+
- *strp = 0;
28+
strp++;
29+
nfs_set_readdir_max_buffer_size(nfs, atoi(val), atoi(strp));
30+
} else {
31+
--
32+
2.51.0
33+
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
From 6a06cb6dba0065705179329729cca2f95a842a63 Mon Sep 17 00:00:00 2001
2+
From: Rudi Heitbaum <rudi@heitbaum.com>
3+
Date: Sun, 25 Jan 2026 08:42:18 +0000
4+
Subject: [PATCH] use const qualifier from pointer target type
5+
6+
Fixes:
7+
../../lib/nfs_v3.c: In function 'nfs3_mknod_async':
8+
../../lib/nfs_v3.c:3260:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
9+
3260 | ptr = strrchr(path, '/');
10+
| ^
11+
../../lib/nfs_v3.c: In function 'nfs3_unlink_async':
12+
../../lib/nfs_v3.c:3361:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
13+
3361 | ptr = strrchr(path, '/');
14+
| ^
15+
../../lib/nfs_v3.c: In function 'nfs3_rmdir_async':
16+
../../lib/nfs_v3.c:3472:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
17+
3472 | ptr = strrchr(path, '/');
18+
| ^
19+
../../lib/nfs_v3.c: In function 'nfs3_mkdir2_async':
20+
../../lib/nfs_v3.c:3574:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
21+
3574 | ptr = strrchr(path, '/');
22+
| ^
23+
---
24+
lib/nfs_v3.c | 24 ++++++++++++------------
25+
1 file changed, 12 insertions(+), 12 deletions(-)
26+
27+
diff --git a/lib/nfs_v3.c b/lib/nfs_v3.c
28+
index addd0ae..2c32fff 100644
29+
--- a/lib/nfs_v3.c
30+
+++ b/lib/nfs_v3.c
31+
@@ -3244,7 +3244,7 @@ int
32+
nfs3_mknod_async(struct nfs_context *nfs, const char *path, int mode, int dev,
33+
nfs_cb cb, void *private_data)
34+
{
35+
- char *ptr;
36+
+ const char *ptr;
37+
struct mknod_cb_data *cb_data;
38+
39+
cb_data = malloc(sizeof(struct mknod_cb_data));
40+
@@ -3262,8 +3262,8 @@ nfs3_mknod_async(struct nfs_context *nfs, const char *path, int mode, int dev,
41+
"buffer for mknod path");
42+
return -1;
43+
}
44+
- ptr = strrchr(cb_data->path, '/');
45+
- *ptr = 0;
46+
+ char *ptr2 = strrchr(cb_data->path, '/');
47+
+ *ptr2 = 0;
48+
} else {
49+
cb_data->path = malloc(strlen(path) + 2);
50+
if (cb_data->path == NULL) {
51+
@@ -3353,7 +3353,7 @@ nfs3_unlink_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
52+
void *private_data)
53+
{
54+
char *new_path;
55+
- char *ptr;
56+
+ const char *ptr;
57+
58+
ptr = strrchr(path, '/');
59+
if (ptr) {
60+
@@ -3363,8 +3363,8 @@ nfs3_unlink_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
61+
"buffer for unlink path");
62+
return -1;
63+
}
64+
- ptr = strrchr(new_path, '/');
65+
- *ptr = 0;
66+
+ char *ptr2 = strrchr(new_path, '/');
67+
+ *ptr2 = 0;
68+
} else {
69+
new_path = malloc(strlen(path) + 2);
70+
if (new_path == NULL) {
71+
@@ -3464,7 +3464,7 @@ nfs3_rmdir_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
72+
void *private_data)
73+
{
74+
char *new_path;
75+
- char *ptr;
76+
+ const char *ptr;
77+
78+
ptr = strrchr(path, '/');
79+
if (ptr) {
80+
@@ -3474,8 +3474,8 @@ nfs3_rmdir_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
81+
"buffer for rmdir path");
82+
return -1;
83+
}
84+
- ptr = strrchr(new_path, '/');
85+
- *ptr = 0;
86+
+ char *ptr2 = strrchr(new_path, '/');
87+
+ *ptr2 = 0;
88+
} else {
89+
new_path = malloc(strlen(path) + 2);
90+
if (new_path == NULL) {
91+
@@ -3566,7 +3566,7 @@ nfs3_mkdir2_async(struct nfs_context *nfs, const char *path, int mode,
92+
nfs_cb cb, void *private_data)
93+
{
94+
char *new_path;
95+
- char *ptr;
96+
+ const char *ptr;
97+
98+
ptr = strrchr(path, '/');
99+
if (ptr) {
100+
@@ -3576,8 +3576,8 @@ nfs3_mkdir2_async(struct nfs_context *nfs, const char *path, int mode,
101+
"buffer for mkdir path");
102+
return -1;
103+
}
104+
- ptr = strrchr(new_path, '/');
105+
- *ptr = 0;
106+
+ char *ptr2 = strrchr(new_path, '/');
107+
+ *ptr2 = 0;
108+
} else {
109+
new_path = malloc(strlen(path) + 2);
110+
if (new_path == NULL) {
111+
--
112+
2.51.0
113+

packages/python/devel/python-pathspec/package.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
33

44
PKG_NAME="python-pathspec"
5-
PKG_VERSION="1.0.3"
6-
PKG_SHA256="6e584f7fd25303ef310dc59445ebd7f7d45d9a154b9a4517911fc8f567965447"
5+
PKG_VERSION="1.0.4"
6+
PKG_SHA256="7612ec6e67f4ea83b9987367a3bbd76bf3e7466bf33769a8810509774b26862d"
77
PKG_LICENSE="MPL-2.0"
88
PKG_SITE="https://github.com/cpburnz/python-pathspec"
99
PKG_URL="https://github.com/cpburnz/python-pathspec/archive/refs/tags/v${PKG_VERSION}.tar.gz"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From fdf0a91b19b4cb5616c596faa372ae4365839225 Mon Sep 17 00:00:00 2001
2+
From: Rudi Heitbaum <rudi@heitbaum.com>
3+
Date: Sun, 25 Jan 2026 03:32:16 +0000
4+
Subject: [PATCH] Fix build with glibc-2.43 assignment discards 'const'
5+
qualifier from pointer
6+
7+
Fixes:
8+
In file included from lowhash_vector.c:65:
9+
genload.c: In function 'loader_LoadLibInReferenceDir':
10+
genload.c:92:7: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
11+
92 | c = strrchr(referencePath, PR_GetDirectorySeparator());
12+
| ^
13+
14+
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
15+
---
16+
nss/lib/freebl/genload.c | 2 +-
17+
1 file changed, 1 insertion(+), 1 deletion(-)
18+
19+
diff --git a/nss/lib/freebl/genload.c b/nss/lib/freebl/genload.c
20+
index 832deb58c..e3231e3e5 100644
21+
--- a/nss/lib/freebl/genload.c
22+
+++ b/nss/lib/freebl/genload.c
23+
@@ -85,7 +85,7 @@ loader_LoadLibInReferenceDir(const char* referencePath, const char* name)
24+
{
25+
PRLibrary* dlh = NULL;
26+
char* fullName = NULL;
27+
- char* c;
28+
+ const char* c;
29+
PRLibSpec libSpec;
30+
31+
/* Remove the trailing filename from referencePath and add the new one */
32+
--
33+
2.51.0
34+

packages/sysutils/open-vm-tools/package.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
55

66
PKG_NAME="open-vm-tools"
7-
PKG_VERSION="13.0.5"
8-
PKG_SHA256="2b8ad0f916ed4c85dd69736cf7d3cd57d444c2d14c1361c1ba71e7698d2740ba"
7+
PKG_VERSION="13.0.10"
8+
PKG_SHA256="c301276edbed4b7f2c291678dc952e671c589265eb5233300e0be7287c7268ae"
99
PKG_ARCH="x86_64"
1010
PKG_LICENSE="GPL"
1111
PKG_SITE="https://github.com/vmware/open-vm-tools"
12-
PKG_URL="https://github.com/vmware/open-vm-tools/releases/download/stable-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}-24915695.tar.gz"
12+
PKG_URL="https://github.com/vmware/open-vm-tools/releases/download/stable-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}-25056151.tar.gz"
1313
PKG_DEPENDS_TARGET="toolchain fuse3 glib libdnet libtirpc"
1414
PKG_LONGDESC="open-vm-tools: open source implementation of VMware Tools"
1515
PKG_TOOLCHAIN="autotools"
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
From bfd12cf73d81919843383598e4a9e64c6e5fd97a Mon Sep 17 00:00:00 2001
2+
From: Khem Raj <raj.khem@gmail.com>
3+
Date: Fri, 21 Nov 2025 00:29:10 -0800
4+
Subject: [PATCH] glib_stubs: avoid GLib g_free macro redefinition error
5+
6+
glib 2.78+ defines g_free as an object-size checking macro.
7+
open-vm-tools overrides g_free(), leading to preprocessor expansion
8+
inside the function signature and breaking the build.
9+
10+
Undefine the macro before defining the stub.
11+
12+
Upstream-Status: Pending
13+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
14+
---
15+
lib/rpcChannel/glib_stubs.c | 3 +++
16+
1 file changed, 3 insertions(+)
17+
18+
diff --git a/lib/rpcChannel/glib_stubs.c b/lib/rpcChannel/glib_stubs.c
19+
index c32deb073..cb89c6a87 100644
20+
--- a/lib/rpcChannel/glib_stubs.c
21+
+++ b/lib/rpcChannel/glib_stubs.c
22+
@@ -35,6 +35,9 @@
23+
24+
void *g_malloc0(size_t s) { return Util_SafeCalloc(1, s); }
25+
void *g_malloc0_n(size_t n, size_t s) { return Util_SafeCalloc(n, s); }
26+
+/* GLib defines g_free as a macro, so undefine it before providing
27+
+ * our own stub implementation. */
28+
+#undef g_free
29+
void g_free(void *p) { free(p); }
30+
31+
void g_mutex_init(GMutex *mutex) { }
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
From b309f5d40619f033bbddef5c95682beed31659ac Mon Sep 17 00:00:00 2001
2+
From: Rudi Heitbaum <rudi@heitbaum.com>
3+
Date: Mon, 26 Jan 2026 11:55:03 +0000
4+
Subject: [PATCH] fix initialization discards 'const' qualifier from pointer
5+
target type
6+
7+
Since glibc-2.43:
8+
9+
For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
10+
strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return
11+
pointers into their input arrays now have definitions as macros that
12+
return a pointer to a const-qualified type when the input argument is
13+
a pointer to a const-qualified type.
14+
15+
https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html
16+
17+
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
18+
---
19+
lib/hgfs/hgfsEscape.c | 6 +++---
20+
lib/hgfsServer/hgfsServerLinux.c | 2 +-
21+
lib/misc/strutil.c | 7 ++++---
22+
lib/nicInfo/nicInfoPosix.c | 2 +-
23+
libvmtools/i18n.c | 2 +-
24+
services/plugins/vix/vixTools.c | 2 +-
25+
6 files changed, 11 insertions(+), 10 deletions(-)
26+
27+
diff --git a/lib/hgfs/hgfsEscape.c b/lib/hgfs/hgfsEscape.c
28+
index c4d39b12..212ea1c7 100644
29+
--- a/lib/hgfs/hgfsEscape.c
30+
+++ b/lib/hgfs/hgfsEscape.c
31+
@@ -175,7 +175,7 @@ HgfsAddEscapeCharacter(char const * bufIn, // IN: input name
32+
HgfsEscapeContext *escapeContext = (HgfsEscapeContext *)context;
33+
uint32 charactersToCopy;
34+
uint32 outputSpace;
35+
- char* illegal;
36+
+ const char* illegal;
37+
Bool result = TRUE;
38+
39+
ASSERT(offset >= escapeContext->processedOffset); // Scanning forward
40+
@@ -573,7 +573,7 @@ HgfsIsEscapeSequence(char const *bufIn, // IN: input name
41+
uint32 length) // IN: length of the name in characters
42+
{
43+
if (bufIn[offset] == HGFS_ESCAPE_CHAR && offset > 0) {
44+
- char *substitute;
45+
+ const char *substitute;
46+
if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR && offset > 1) {
47+
/*
48+
* Possibly a valid sequence, check it must be preceded with a substitute
49+
@@ -887,7 +887,7 @@ HgfsEscapeUndoComponent(char *bufIn, // IN: Characters to be unesc
50+
size_t offset = escapePointer - bufIn;
51+
52+
if (HgfsIsEscapeSequence(bufIn, offset, sizeIn)) {
53+
- char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]);
54+
+ const char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]);
55+
if (substitute != NULL) {
56+
bufIn[offset - 1] = HGFS_ILLEGAL_CHARS[substitute - HGFS_SUBSTITUTE_CHARS];
57+
} else if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR) {
58+
diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
59+
index 4a0bc937..fd1db4a2 100644
60+
--- a/lib/hgfsServer/hgfsServerLinux.c
61+
+++ b/lib/hgfsServer/hgfsServerLinux.c
62+
@@ -1364,7 +1364,7 @@ static void
63+
HgfsGetHiddenAttr(char const *fileName, // IN: Input filename
64+
HgfsFileAttrInfo *attr) // OUT: Struct to copy into
65+
{
66+
- char *baseName;
67+
+ const char *baseName;
68+
69+
ASSERT(fileName);
70+
ASSERT(attr);
71+
diff --git a/lib/misc/strutil.c b/lib/misc/strutil.c
72+
index 4fc6502e..4be63b7b 100644
73+
--- a/lib/misc/strutil.c
74+
+++ b/lib/misc/strutil.c
75+
@@ -1454,6 +1454,7 @@ StrUtil_ReplaceAll(const char *orig, // IN
76+
char *result;
77+
const char *current;
78+
char *tmp;
79+
+ const char *tmp2;
80+
size_t lenWhat;
81+
size_t lenWith;
82+
size_t occurrences = 0;
83+
@@ -1467,8 +1468,8 @@ StrUtil_ReplaceAll(const char *orig, // IN
84+
lenWith = strlen(with);
85+
86+
current = orig;
87+
- while ((tmp = strstr(current, what)) != NULL) {
88+
- current = tmp + lenWhat;
89+
+ while ((tmp2 = strstr(current, what)) != NULL) {
90+
+ current = tmp2 + lenWhat;
91+
++occurrences;
92+
}
93+
94+
@@ -1695,7 +1696,7 @@ StrUtilHasListItem(char const *list, // IN:
95+
char const *item, // IN:
96+
int (*ncmp)(char const *, char const*, size_t)) // IN:
97+
{
98+
- char *foundDelim;
99+
+ const char *foundDelim;
100+
int itemLen = strlen(item);
101+
102+
if (list == NULL) {
103+
diff --git a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
104+
index 0135e6a0..922b4efe 100644
105+
--- a/lib/nicInfo/nicInfoPosix.c
106+
+++ b/lib/nicInfo/nicInfoPosix.c
107+
@@ -263,7 +263,7 @@ static Bool
108+
IpEntryMatchesDevice(const char *devName,
109+
const char *label)
110+
{
111+
- char *p;
112+
+ const char *p;
113+
size_t n;
114+
115+
if ((p = strchr(label, ':')) != NULL) {
116+
diff --git a/libvmtools/i18n.c b/libvmtools/i18n.c
117+
index 3085f72d..f61406d1 100644
118+
--- a/libvmtools/i18n.c
119+
+++ b/libvmtools/i18n.c
120+
@@ -698,7 +698,7 @@ VMTools_BindTextDomain(const char *domain,
121+
* If we couldn't find the catalog file for the user's language, see if
122+
* we can find a more generic language (e.g., for "en_US", also try "en").
123+
*/
124+
- char *sep = Str_Strrchr(lang, '_');
125+
+ const char *sep = Str_Strrchr(lang, '_');
126+
if (sep != NULL) {
127+
if (usrlang == NULL) {
128+
usrlang = Util_SafeStrdup(lang);
129+
diff --git a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c
130+
index 654512c5..5c79ca12 100644
131+
--- a/services/plugins/vix/vixTools.c
132+
+++ b/services/plugins/vix/vixTools.c
133+
@@ -930,7 +930,7 @@ VixToolsBuildUserEnvironmentTable(const char * const *envp) // IN: optional
134+
for (; NULL != *envp; envp++) {
135+
char *name;
136+
char *value;
137+
- char *whereToSplit;
138+
+ const char *whereToSplit;
139+
size_t nameLen;
140+
141+
whereToSplit = strchr(*envp, '=');
142+
--
143+
2.51.0
144+

0 commit comments

Comments
 (0)