From d844a38432c7fa9c4adf0e9f9de244ef4f22da47 Mon Sep 17 00:00:00 2001 From: Duncan Overbruck Date: Sat, 14 Feb 2026 17:38:31 +0100 Subject: [PATCH 1/4] lib: fix build with glibc 2.43 const preserving Co-authored-by: ojab --- lib/conf.c | 5 +++-- lib/fetch/http.c | 2 +- lib/package_unpack.c | 23 ++++++++++++----------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/conf.c b/lib/conf.c index 2826f14e5..11a950c73 100644 --- a/lib/conf.c +++ b/lib/conf.c @@ -247,9 +247,10 @@ cmpkey(const void *a, const void *b) static int parse_option(char *line, size_t linelen, char **valp, size_t *vallen) { - size_t len; + struct key needle; + const struct key *result; char *p; - struct key needle, *result; + size_t len; p = strpbrk(line, " \t="); if (p == NULL) diff --git a/lib/fetch/http.c b/lib/fetch/http.c index b23e919c3..020655797 100644 --- a/lib/fetch/http.c +++ b/lib/fetch/http.c @@ -1337,7 +1337,7 @@ struct index_parser { }; static ssize_t -parse_index(struct index_parser *parser, const char *buf, size_t len) +parse_index(struct index_parser *parser, char *buf, size_t len) { char *end_attr, p = *buf; diff --git a/lib/package_unpack.c b/lib/package_unpack.c index 05774bf27..50bd51c77 100644 --- a/lib/package_unpack.c +++ b/lib/package_unpack.c @@ -95,7 +95,7 @@ unpack_archive(struct xbps_handle *xhp, struct archive_entry *entry; ssize_t entry_size; const char *entry_pname, *pkgname; - char *buf = NULL; + const char *file; int ar_rv, rv, error, entry_type, flags; bool preserve, update, file_exists, keep_conf_file; bool skip_extract, force, xucd_stats; @@ -132,19 +132,19 @@ unpack_archive(struct xbps_handle *xhp, xbps_dictionary_get_dict(xhp->transd, "obsolete_files", &obsd) && (obsoletes = xbps_dictionary_get(obsd, pkgname))) { for (unsigned int i = 0; i < xbps_array_count(obsoletes); i++) { - const char *file = NULL; - xbps_array_get_cstring_nocopy(obsoletes, i, &file); - if (remove(file) == -1) { + const char *obsolete = NULL; + xbps_array_get_cstring_nocopy(obsoletes, i, &obsolete); + if (remove(obsolete) == -1) { xbps_set_cb_state(xhp, XBPS_STATE_REMOVE_FILE_OBSOLETE_FAIL, errno, pkgver, "%s: failed to remove obsolete entry `%s': %s", - pkgver, file, strerror(errno)); + pkgver, obsolete, strerror(errno)); continue; } xbps_set_cb_state(xhp, XBPS_STATE_REMOVE_FILE_OBSOLETE, - 0, pkgver, "%s: removed obsolete entry: %s", pkgver, file); + 0, pkgver, "%s: removed obsolete entry: %s", pkgver, obsolete); } } @@ -296,9 +296,9 @@ unpack_archive(struct xbps_handle *xhp, * that should be kept. */ if (!force && (entry_type == AE_IFREG)) { - buf = strchr(entry_pname, '.') + 1; - assert(buf != NULL); - keep_conf_file = xbps_entry_is_a_conf_file(binpkg_filesd, buf); + file = strchr(entry_pname, '.') + 1; + assert(file != NULL); + keep_conf_file = xbps_entry_is_a_conf_file(binpkg_filesd, file); } /* @@ -337,7 +337,7 @@ unpack_archive(struct xbps_handle *xhp, rv = 0; } else { rv = xbps_file_hash_check_dictionary( - xhp, binpkg_filesd, "files", buf); + xhp, binpkg_filesd, "files", file); if (rv == -1) { /* error */ xbps_dbg_printf( @@ -448,6 +448,7 @@ unpack_archive(struct xbps_handle *xhp, * Externalize binpkg files.plist to disk, if not empty. */ if (xbps_dictionary_count(binpkg_filesd)) { + char *buf; mode_t prev_umask; prev_umask = umask(022); buf = xbps_xasprintf("%s/.%s-files.plist", xhp->metadir, pkgname); @@ -468,7 +469,7 @@ unpack_archive(struct xbps_handle *xhp, * If unpacked pkg has no files, remove its files metadata plist. */ if (!xbps_dictionary_count(binpkg_filesd)) { - buf = xbps_xasprintf("%s/.%s-files.plist", xhp->metadir, pkgname); + char *buf = xbps_xasprintf("%s/.%s-files.plist", xhp->metadir, pkgname); unlink(buf); free(buf); } From a559e0719038e94b5a2cad8465d6bd1090584a56 Mon Sep 17 00:00:00 2001 From: Duncan Overbruck Date: Sat, 14 Feb 2026 17:38:47 +0100 Subject: [PATCH 2/4] bin/xbps-checkvers: fix build with glibc 2.43 const preserving Co-authored-by: ojab --- bin/xbps-checkvers/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/xbps-checkvers/main.c b/bin/xbps-checkvers/main.c index b19326b3b..e455eaf77 100644 --- a/bin/xbps-checkvers/main.c +++ b/bin/xbps-checkvers/main.c @@ -537,8 +537,8 @@ static int rcv_check_version(rcv_t *rcv) { const char *repover = NULL; - char srcver[BUFSIZ] = { '\0' }, *binpkgname = NULL, *s = NULL; - const char *pkgname, *version, *revision, *reverts, *repourl; + char srcver[BUFSIZ] = { '\0' }, *binpkgname = NULL; + const char *pkgname, *version, *revision, *reverts, *repourl, *s; int sz; size_t len; @@ -660,8 +660,8 @@ template_removed_cb(struct xbps_handle *xhp UNUSED, void *arg, bool *done UNUSED) { + const char *last_dash; char *pkgname; - char *last_dash; bool dummy_bool = false; rcv_t *rcv = arg; From f9df9d643f734b0f49ac4f4f8d6ce9bec10276a6 Mon Sep 17 00:00:00 2001 From: Duncan Overbruck Date: Sat, 14 Feb 2026 17:39:09 +0100 Subject: [PATCH 3/4] bin/xbps-create: fix build with glibc 2.43 const preserving Co-authored-by: ojab --- bin/xbps-create/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/xbps-create/main.c b/bin/xbps-create/main.c index 9a1ca8240..215f8c0a1 100644 --- a/bin/xbps-create/main.c +++ b/bin/xbps-create/main.c @@ -235,7 +235,7 @@ process_one_alternative(const char *altgrname, const char *val) { xbps_dictionary_t d; xbps_array_t a; - char *altfiles; + const char *altfiles; bool alloc = false; if ((d = xbps_dictionary_get(pkg_propsd, "alternatives")) == NULL) { From 04db5249eecacbe3596ff03b2c25e5b52b9035c1 Mon Sep 17 00:00:00 2001 From: Duncan Overbruck Date: Sat, 14 Feb 2026 17:39:19 +0100 Subject: [PATCH 4/4] bin/xbps-uchroot: fix build with glibc 2.43 const preserving Co-authored-by: ojab --- bin/xbps-uchroot/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/xbps-uchroot/main.c b/bin/xbps-uchroot/main.c index 0afc88db6..0acd037cb 100644 --- a/bin/xbps-uchroot/main.c +++ b/bin/xbps-uchroot/main.c @@ -212,7 +212,8 @@ static void add_bindmount(const char *bm, bool ro) { struct bindmnt *bmnt; - char *b, *src, *dest; + const char *dest, *b; + char *src; size_t len; src = strdup(bm);