Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package apk-tools for openSUSE:Factory 
checked in at 2025-12-18 18:32:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apk-tools (Old)
 and      /work/SRC/openSUSE:Factory/.apk-tools.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "apk-tools"

Thu Dec 18 18:32:56 2025 rev:4 rq:1323416 version:3.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/apk-tools/apk-tools.changes      2025-12-08 
11:55:30.317386283 +0100
+++ /work/SRC/openSUSE:Factory/.apk-tools.new.1928/apk-tools.changes    
2025-12-18 18:35:24.499584795 +0100
@@ -1,0 +2,17 @@
+Mon Dec 15 08:24:10 UTC 2025 - Martin Hauke <[email protected]>
+
+- Update to version 3.0.2:
+  * applet: stylistic changes and some code reduction for help.
+  * applet: Auto-detect help gzip/zlib compression.
+  * db: fix chroot proc setup for scripts when in user namespace.
+  * db, pkg: add fallback to not needing unshare() when running as
+    root.
+  * commit: dynamic unit for installed_bytes.
+  * apk: fix compile when using C89.
+  * mkpkg: implement --xattrs[=BOOL] to disable xattr recording.
+  * io_url_libfetch: do not map error to zero.
+  * package: add F_SEAL_EXEC to memfd script.
+  * db: drop use of fexecve for scripts.
+  * commit: don't sync with --simulate.
+
+-------------------------------------------------------------------

Old:
----
  apk-tools-3.0.1.tar.xz

New:
----
  apk-tools-3.0.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ apk-tools.spec ++++++
--- /var/tmp/diff_new_pack.fYbUhN/_old  2025-12-18 18:35:25.163612688 +0100
+++ /var/tmp/diff_new_pack.fYbUhN/_new  2025-12-18 18:35:25.167612855 +0100
@@ -21,7 +21,7 @@
 %define soname 3_0_0
 %define libname libapk%{soname}
 Name:           apk-tools
-Version:        3.0.1
+Version:        3.0.2
 Release:        0
 Summary:        Alpine package manager
 License:        GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.fYbUhN/_old  2025-12-18 18:35:25.211614704 +0100
+++ /var/tmp/diff_new_pack.fYbUhN/_new  2025-12-18 18:35:25.215614872 +0100
@@ -2,7 +2,7 @@
   <service name="tar_scm" mode="manual">
     <param name="url">https://git.alpinelinux.org/apk-tools</param>
     <param name="scm">git</param>
-    <param name="revision">v3.0.1</param>
+    <param name="revision">v3.0.2</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionformat">@PARENT_TAG@</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.fYbUhN/_old  2025-12-18 18:35:25.255616553 +0100
+++ /var/tmp/diff_new_pack.fYbUhN/_new  2025-12-18 18:35:25.259616720 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://git.alpinelinux.org/apk-tools</param>
-              <param 
name="changesrevision">982c9961ad9e71b4068911329c9d8121cedfd9f7</param></service></servicedata>
+              <param 
name="changesrevision">d093f7c198a64bff0cd58afeaf638909fda24ca8</param></service></servicedata>
 (No newline at EOF)
 

++++++ apk-tools-3.0.1.tar.xz -> apk-tools-3.0.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/.gitlab-ci.yml 
new/apk-tools-3.0.2/.gitlab-ci.yml
--- old/apk-tools-3.0.1/.gitlab-ci.yml  2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/.gitlab-ci.yml  2025-12-12 10:51:51.000000000 +0100
@@ -20,7 +20,9 @@
     - meson test -C build
     - install -s -m0755 build-static/src/apk build-static/src/apk.static-$ARCH
   artifacts:
+    when: always
     paths:
+      - build/meson-logs/testlog.txt
       - build-static/src/apk.static-*
     reports:
       junit: build/**/*.junit.xml
@@ -98,6 +100,9 @@
     - meson compile -C build
     - meson test -C build
   artifacts:
+    when: always
+    paths:
+      - build/meson-logs/testlog.txt
     reports:
       junit: build/**/*.junit.xml
   tags:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/VERSION new/apk-tools-3.0.2/VERSION
--- old/apk-tools-3.0.1/VERSION 2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/VERSION 2025-12-12 10:51:51.000000000 +0100
@@ -1 +1 @@
-3.0.1
+3.0.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/doc/apk-mkpkg.8.scd 
new/apk-tools-3.0.2/doc/apk-mkpkg.8.scd
--- old/apk-tools-3.0.1/doc/apk-mkpkg.8.scd     2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/doc/apk-mkpkg.8.scd     2025-12-12 10:51:51.000000000 
+0100
@@ -47,3 +47,6 @@
 *--trigger*, *-t* _TRIGGER_
        Append _TRIGGER_ path specification to list triggers which affect
        when the *trigger* script is executed.
+
+*--xattrs*[=*BOOL*]
+       Specify if xattrs should be included in the metadata.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/portability/fcntl.h 
new/apk-tools-3.0.2/portability/fcntl.h
--- old/apk-tools-3.0.1/portability/fcntl.h     1970-01-01 01:00:00.000000000 
+0100
+++ new/apk-tools-3.0.2/portability/fcntl.h     2025-12-12 10:51:51.000000000 
+0100
@@ -0,0 +1,5 @@
+#include_next <fcntl.h>
+
+#ifndef F_SEAL_EXEC
+# define F_SEAL_EXEC   0x0020
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/portability/meson.build 
new/apk-tools-3.0.2/portability/meson.build
--- old/apk-tools-3.0.1/portability/meson.build 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/portability/meson.build 2025-12-12 10:51:51.000000000 
+0100
@@ -3,7 +3,6 @@
 libportability_src = []
 
 check_symbols = [
-       ['fexecve', '', 'NEED_FEXECVE', 'unistd.h'],
        ['getrandom', 'getrandom.c', 'NEED_GETRANDOM', 'sys/random.h'],
        ['memrchr', 'memrchr.c', 'NEED_MEMRCHR', 'string.h'],
        ['memfd_create', '', 'NEED_MEMFD_CREATE', 'sys/mman.h'],
@@ -14,6 +13,7 @@
        ['strchrnul', 'strchrnul.c', 'NEED_STRCHRNUL', 'string.h'],
        ['strlcpy', 'strlcpy.c', 'NEED_STRLCPY', 'string.h'],
        ['SOCK_CLOEXEC', 'socket.c', 'NEED_SOCK_CLOEXEC', 'sys/socket.h'],
+       ['unshare', '', 'NEED_UNSHARE', 'sched.h'],
 ]
 
 foreach f : check_symbols
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/portability/sched.h 
new/apk-tools-3.0.2/portability/sched.h
--- old/apk-tools-3.0.1/portability/sched.h     1970-01-01 01:00:00.000000000 
+0100
+++ new/apk-tools-3.0.2/portability/sched.h     2025-12-12 10:51:51.000000000 
+0100
@@ -0,0 +1,5 @@
+#include_next <sched.h>
+
+#ifdef NEED_UNSHARE
+# define unshare(flags) ({errno = ENOSYS; -1;})
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/portability/sys/mman.h 
new/apk-tools-3.0.2/portability/sys/mman.h
--- old/apk-tools-3.0.1/portability/sys/mman.h  2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/portability/sys/mman.h  2025-12-12 10:51:51.000000000 
+0100
@@ -1,9 +1,9 @@
 #include_next <sys/mman.h>
 
-#if defined(NEED_MEMFD_CREATE) || defined(NEED_FEXECVE)
+#ifdef NEED_MEMFD_CREATE
 # define memfd_create(name, flags) ({errno = ENOSYS; -1;})
 #endif
 
 #ifndef MFD_EXEC
 # define MFD_EXEC              0x0010U
-#endif
\ No newline at end of file
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/portability/unistd.h 
new/apk-tools-3.0.2/portability/unistd.h
--- old/apk-tools-3.0.1/portability/unistd.h    2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/portability/unistd.h    2025-12-12 10:51:51.000000000 
+0100
@@ -4,10 +4,6 @@
 int pipe2(int pipefd[2], int flags);
 #endif
 
-#ifdef NEED_FEXECVE
-# define fexecve(fd, argv, envp) ({errno = ENOSYS; -1;})
-#endif
-
 #ifdef __APPLE__
 # include <crt_externs.h>
 # define environ (*_NSGetEnviron())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/apk.c 
new/apk-tools-3.0.2/src/apk.c
--- old/apk-tools-3.0.1/src/apk.c       2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/apk.c       2025-12-12 10:51:51.000000000 +0100
@@ -556,6 +556,7 @@
        struct apk_opt_match m;
        bool applet_arg_pending = false;
        int r;
+       char *arg;
 
        applet = applet_from_arg0(argv[0]);
        if (!applet) {
@@ -581,7 +582,7 @@
                case 0:
                        break;
                case OPT_MATCH_NON_OPTION:
-                       char *arg = opt_parse_arg(&st);
+                       arg = opt_parse_arg(&st);
                        if (applet_arg_pending && strcmp(arg, applet->name) == 
0)
                                applet_arg_pending = false;
                        else if (arg[0] || !applet || 
!applet->remove_empty_arguments)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/apk_database.h 
new/apk-tools-3.0.2/src/apk_database.h
--- old/apk-tools-3.0.1/src/apk_database.h      2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/src/apk_database.h      2025-12-12 10:51:51.000000000 
+0100
@@ -197,7 +197,7 @@
        unsigned int active_layers;
        unsigned int num_dir_update_errors;
 
-       unsigned int script_memfd_ok : 1;
+       unsigned int memfd_failed : 1;
        unsigned int performing_preupgrade : 1;
        unsigned int usermode : 1;
        unsigned int root_tmpfs : 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/app_mkpkg.c 
new/apk-tools-3.0.2/src/app_mkpkg.c
--- old/apk-tools-3.0.1/src/app_mkpkg.c 2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/app_mkpkg.c 2025-12-12 10:51:51.000000000 +0100
@@ -70,6 +70,7 @@
        unsigned output_stdout : 1;
        unsigned compat_rootnode : 1;
        unsigned compat_dirnode : 1;
+       unsigned xattrs : 1;
 };
 
 #define MKPKG_OPTIONS(OPT) \
@@ -81,6 +82,7 @@
        OPT(OPT_MKPKG_script,           APK_OPT_ARG APK_OPT_SH("s") "script") \
        OPT(OPT_MKPKG_stdout,           "stdout") \
        OPT(OPT_MKPKG_trigger,          APK_OPT_ARG APK_OPT_SH("t") "trigger") \
+       OPT(OPT_MKPKG_xattrs,           APK_OPT_BOOL "xattrs") \
 
 APK_OPTIONS(mkpkg_options_desc, MKPKG_OPTIONS);
 
@@ -133,6 +135,7 @@
                apk_hash_init(&ictx->link_by_inode, &mkpkg_hardlink_hash_ops, 
256);
                apk_string_array_init(&ictx->triggers);
                ictx->compat = "3.0.0_pre1";
+               ictx->xattrs = 1;
                break;
        case OPT_MKPKG_compat:
                ictx->compat = optarg;
@@ -172,6 +175,9 @@
        case OPT_MKPKG_trigger:
                apk_string_array_add(&ictx->triggers, (char*) optarg);
                break;
+       case OPT_MKPKG_xattrs:
+               ictx->xattrs = APK_OPTARG_VAL(optarg);
+               break;
        default:
                return -ENOTSUP;
        }
@@ -327,7 +333,8 @@
        adb_wo_int(&acl, ADBI_ACL_MODE, fi.mode & 07777);
        adb_wo_blob(&acl, ADBI_ACL_USER, apk_id_cache_resolve_user(idc, 
fi.uid));
        adb_wo_blob(&acl, ADBI_ACL_GROUP, apk_id_cache_resolve_group(idc, 
fi.gid));
-       adb_wo_val(&acl, ADBI_ACL_XATTRS, create_xattrs(&ctx->db, openat(dirfd, 
entry, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_CLOEXEC)));
+       if (ctx->xattrs)
+               adb_wo_val(&acl, ADBI_ACL_XATTRS, create_xattrs(&ctx->db, 
openat(dirfd, entry, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_CLOEXEC)));
        adb_wo_obj(&fio, ADBI_FI_ACL, &acl);
 
        adb_wa_append_obj(&ctx->files, &fio);
@@ -369,7 +376,8 @@
        adb_wo_int(&acl, ADBI_ACL_MODE, mode);
        adb_wo_blob(&acl, ADBI_ACL_USER, user);
        adb_wo_blob(&acl, ADBI_ACL_GROUP, group);
-       adb_wo_val(&acl, ADBI_ACL_XATTRS, create_xattrs(&ctx->db, openat(atfd, 
path, O_DIRECTORY | O_RDONLY | O_CLOEXEC)));
+       if (ctx->xattrs)
+               adb_wo_val(&acl, ADBI_ACL_XATTRS, create_xattrs(&ctx->db, 
openat(atfd, path, O_DIRECTORY | O_RDONLY | O_CLOEXEC)));
        adb_wo_obj(&fio, ADBI_DI_ACL, &acl);
        adb_wo_obj(&fio, ADBI_DI_FILES, &ctx->files);
        adb_wa_append_obj(&ctx->paths, &fio);
@@ -421,6 +429,7 @@
        case 0: ctx->compat_rootnode = 1; // fallthrough
        case 1: ctx->compat_dirnode = 1;  // fallthrough
        default:
+               break;
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/applet.c 
new/apk-tools-3.0.2/src/applet.c
--- old/apk-tools-3.0.1/src/applet.c    2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/applet.c    2025-12-12 10:51:51.000000000 +0100
@@ -43,17 +43,34 @@
        if (applet->optgroup_query && strcmp(topic, "QUERY") == 0) return 1;
        return 0;
 }
-#endif
+
+static bool decompress_help(char *buf, size_t bufsz)
+{
+       z_stream strm = {
+               .avail_in = sizeof compressed_help,
+               .next_in = (unsigned char *) compressed_help,
+               .avail_out = bufsz,
+               .next_out = (unsigned char *) buf,
+       };
+       /* Use inflateInit2 with windowBits=47 (15+32) to auto-detect gzip or 
zlib format */
+       int ret = inflateInit2(&strm, 15 + 32);
+       if (ret != Z_OK) return false;
+       ret = inflate(&strm, Z_FINISH);
+       inflateEnd(&strm);
+       return ret == Z_STREAM_END && strm.total_out == bufsz;
+}
 
 void apk_applet_help(struct apk_applet *applet, struct apk_out *out)
 {
-#ifndef NO_HELP
        char buf[uncompressed_help_size];
-       unsigned long len = uncompressed_help_size;
        int num = 0;
 
-       uncompress((unsigned char*) buf, &len, compressed_help, sizeof 
compressed_help);
-       for (const char *ptr = buf, *msg; *ptr && ptr < &buf[len]; ptr = msg + 
strlen(msg) + 1) {
+       if (!decompress_help(buf, sizeof buf)) {
+               apk_err(out, "Help decompression failed");
+               return;
+       }
+
+       for (const char *ptr = buf, *msg; *ptr && ptr < &buf[sizeof buf]; ptr = 
msg + strlen(msg) + 1) {
                msg = ptr + strlen(ptr) + 1;
                if (is_group(applet, ptr)) {
                        fputc('\n', stdout);
@@ -62,8 +79,11 @@
                }
        }
        if (num == 0) apk_err(out, "Help not found");
+}
 #else
+void apk_applet_help(struct apk_applet *applet, struct apk_out *out)
+{
        fputc('\n', stdout);
        apk_err(out, "This apk-tools has been built without help");
-#endif
 }
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/commit.c 
new/apk-tools-3.0.2/src/commit.c
--- old/apk-tools-3.0.1/src/commit.c    2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/commit.c    2025-12-12 10:51:51.000000000 +0100
@@ -316,6 +316,7 @@
 static void sync_if_needed(struct apk_database *db)
 {
        struct apk_ctx *ac = db->ctx;
+       if (ac->flags & APK_SIMULATE) return;
        if (ac->sync == APK_NO) return;
        if (ac->sync == APK_AUTO && (ac->root_set || db->usermode || 
!running_on_host())) return;
        apk_out_progress_note(&ac->out, "syncing disks...");
@@ -508,12 +509,12 @@
        run_commit_hooks(db, POST_COMMIT_HOOK);
 
        if (!db->performing_preupgrade) {
-               char buf[32];
+               char buf2[32];
                const char *msg = "OK:";
 
                sync_if_needed(db);
 
-               if (errors) msg = apk_fmts(buf, sizeof buf, "%d error%s;",
+               if (errors) msg = apk_fmts(buf2, sizeof buf2, "%d error%s;",
                                errors, errors > 1 ? "s" : "") ?: "ERRORS;";
 
                uint64_t installed_bytes = db->installed.stats.bytes;
@@ -523,18 +524,20 @@
                        installed_packages += pkg_diff;
                }
 
+               humanized = apk_fmt_human_size(buf, sizeof buf, 
installed_bytes, 1);
+
                if (apk_out_verbosity(out) > 1) {
-                       apk_msg(out, "%s %d packages, %d dirs, %d files, %" 
PRIu64 " MiB",
+                       apk_msg(out, "%s %d packages, %d dirs, %d files, " 
BLOB_FMT,
                                msg,
                                installed_packages,
                                db->installed.stats.dirs,
                                db->installed.stats.files,
-                               installed_bytes / (1024 * 1024)
+                               BLOB_PRINTF(humanized)
                                );
                } else {
-                       apk_msg(out, "%s %" PRIu64 " MiB in %d packages",
+                       apk_msg(out, "%s " BLOB_FMT " in %d packages",
                                msg,
-                               installed_bytes / (1024 * 1024),
+                               BLOB_PRINTF(humanized),
                                installed_packages);
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/database.c 
new/apk-tools-3.0.2/src/database.c
--- old/apk-tools-3.0.1/src/database.c  2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/database.c  2025-12-12 10:51:51.000000000 +0100
@@ -1773,7 +1773,8 @@
        // Create /proc and /dev in the chroot if needed
        if (!db->root_proc_ok) {
                mkdir("proc", 0755);
-               mount("/proc", "proc", NULL, MS_BIND, NULL);
+               if (mount("/proc", "proc", NULL, MS_BIND|MS_REC, NULL) < 0)
+                       mount("proc", "proc", "proc", 0, NULL);
        }
        if (!db->root_dev_ok) {
                mkdir("dev", 0755);
@@ -2030,9 +2031,17 @@
                db->root_proc_ok = faccessat(db->root_fd, "proc/self", R_OK, 0) 
== 0;
                db->root_dev_ok = faccessat(db->root_fd, "dev/null", R_OK, 0) 
== 0;
                db->need_unshare = db->usermode || (!db->root_proc_ok || 
!db->root_dev_ok);
+
+               // Check if unshare() works. It could be disabled, or seccomp 
filtered (docker).
+               if (db->need_unshare && !db->usermode && unshare(0) < 0) {
+                       db->need_unshare = 0;
+                       db->memfd_failed = !db->root_proc_ok;
+               }
+       } else {
+               db->root_proc_ok = access("/proc/self", R_OK) == 0;
+               db->root_dev_ok = 1;
+               db->memfd_failed = !db->root_proc_ok;
        }
-       if (db->root_dev_ok) db->script_memfd_ok = faccessat(db->root_fd, 
"dev/fd/0", R_OK, 0) == 0;
-       else db->script_memfd_ok = access("/dev/fd/0", R_OK) == 0;
 
        db->id_cache = apk_ctx_get_id_cache(ac);
 
@@ -2431,7 +2440,9 @@
        struct apk_out *out = &ac->out;
        struct apk_process p;
        int r, env_size_save = apk_array_len(ac->script_environment);
+       char fd_path[NAME_MAX];
        const char *argv0 = apk_last_path_segment(argv[0]);
+       const char *path = (fd < 0) ? argv[0] : apk_fmts(fd_path, sizeof 
fd_path, "/proc/self/fd/%d", fd);
 
        r = apk_process_init(&p, argv[0], logpfx, out, NULL);
        if (r != 0) goto err;
@@ -2456,8 +2467,7 @@
                        if (ac->root_set && chroot(".") != 0) 
script_panic("chroot");
                }
                char **envp = &ac->script_environment->item[0];
-               if (fd >= 0) fexecve(fd, argv, envp);
-               execve(argv[0], argv, envp);
+               execve(path, argv, envp);
                script_panic("execve");
        }
        r = apk_process_run(&p);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/genhelp.lua 
new/apk-tools-3.0.2/src/genhelp.lua
--- old/apk-tools-3.0.1/src/genhelp.lua 2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/genhelp.lua 2025-12-12 10:51:51.000000000 +0100
@@ -174,8 +174,6 @@
                        p:close()
                end
                os.remove(tmp)
-               -- change gzip header to zlib one, remove trailing size
-               ret = "\x78\xda" .. ret:sub(11, -4)
        end
        return ret
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/io_url_libfetch.c 
new/apk-tools-3.0.2/src/io_url_libfetch.c
--- old/apk-tools-3.0.1/src/io_url_libfetch.c   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/src/io_url_libfetch.c   2025-12-12 10:51:51.000000000 
+0100
@@ -79,7 +79,7 @@
        case FETCH_ERRCAT_URL:
                return APKE_URL_FORMAT;
        case FETCH_ERRCAT_ERRNO:
-               return fe.code;
+               return fe.code ?: EIO;
        case FETCH_ERRCAT_NETDB:
                return fetch_maperr(netdb_err, ARRAY_SIZE(netdb_err), fe.code, 
APKE_DNS_FAIL);
        case FETCH_ERRCAT_HTTP:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/src/package.c 
new/apk-tools-3.0.2/src/package.c
--- old/apk-tools-3.0.1/src/package.c   2025-12-03 12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/src/package.c   2025-12-12 10:51:51.000000000 +0100
@@ -713,6 +713,27 @@
        return apk_ipkg_assign_script(ipkg, type, b);
 }
 
+#ifdef __linux__
+static inline int make_device_tree(struct apk_database *db)
+{
+       if (faccessat(db->root_fd, "dev", F_OK, 0) == 0) return 0;
+       if (mkdirat(db->root_fd, "dev", 0755) < 0 ||
+           mknodat(db->root_fd, "dev/null", S_IFCHR | 0666, makedev(1, 3)) < 0 
||
+           mknodat(db->root_fd, "dev/zero", S_IFCHR | 0666, makedev(1, 5)) < 0 
||
+           mknodat(db->root_fd, "dev/random", S_IFCHR | 0666, makedev(1, 8)) < 
0 ||
+           mknodat(db->root_fd, "dev/urandom", S_IFCHR | 0666, makedev(1, 9)) 
< 0 ||
+           mknodat(db->root_fd, "dev/console", S_IFCHR | 0600, makedev(5, 1)) 
< 0)
+               return -1;
+       return 0;
+}
+#else
+static inline int make_device_tree(struct apk_database *db)
+{
+       (void) db;
+       return 0;
+}
+#endif
+
 int apk_ipkg_run_script(struct apk_installed_package *ipkg,
                        struct apk_database *db,
                        unsigned int type, char **argv)
@@ -735,12 +756,13 @@
 
        argv[0] = fn;
 
-       if (db->script_memfd_ok) {
+       if (!db->memfd_failed) {
                /* Linux kernel >= 6.3 */
                fd = memfd_create(fn, MFD_EXEC);
                if (fd < 0 && errno == EINVAL) {
                        /* Linux kernel < 6.3 */
                        fd = memfd_create(fn, 0);
+                       if (fd < 0) db->memfd_failed = 1;
                }
        }
        if (!db->script_dirs_checked) {
@@ -748,6 +770,11 @@
                        reason = "failed to prepare dirs for hook scripts: ";
                        goto err_errno;
                }
+               if (!db->root_dev_ok && !db->need_unshare) {
+                       if (make_device_tree(db) < 0)
+                               apk_warn(out, PKG_VER_FMT ": failed to create 
initial device nodes: %s",
+                                        PKG_VER_PRINTF(pkg), 
apk_error_str(errno));
+               }
                db->script_dirs_checked = 1;
        }
        if (fd < 0) {
@@ -762,6 +789,10 @@
        if (created) {
                close(fd);
                fd = -1;
+       } else {
+#ifdef F_ADD_SEALS
+               fcntl(fd, F_ADD_SEALS, F_SEAL_EXEC);
+#endif
        }
 
        apk_msg(out, "%sExecuting " PKG_VER_FMT ".%s",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic1.test 
new/apk-tools-3.0.2/test/solver/basic1.test
--- old/apk-tools-3.0.1/test/solver/basic1.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic1.test 2025-12-12 10:51:51.000000000 
+0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic10.test 
new/apk-tools-3.0.2/test/solver/basic10.test
--- old/apk-tools-3.0.1/test/solver/basic10.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic10.test        2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic11.test 
new/apk-tools-3.0.2/test/solver/basic11.test
--- old/apk-tools-3.0.1/test/solver/basic11.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic11.test        2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic14.test 
new/apk-tools-3.0.2/test/solver/basic14.test
--- old/apk-tools-3.0.1/test/solver/basic14.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic14.test        2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging a (2)
 (2/2) Purging b (2)
-OK: 0 MiB in 0 packages
+OK: 0 B in 0 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic15.test 
new/apk-tools-3.0.2/test/solver/basic15.test
--- old/apk-tools-3.0.1/test/solver/basic15.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic15.test        2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @INSTALLED basic.installed
 @WORLD a b c
 @EXPECT
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic16.test 
new/apk-tools-3.0.2/test/solver/basic16.test
--- old/apk-tools-3.0.1/test/solver/basic16.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic16.test        2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic17.test 
new/apk-tools-3.0.2/test/solver/basic17.test
--- old/apk-tools-3.0.1/test/solver/basic17.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic17.test        2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Upgrading b (1 -> 2)
 (2/2) Upgrading a (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic18.test 
new/apk-tools-3.0.2/test/solver/basic18.test
--- old/apk-tools-3.0.1/test/solver/basic18.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic18.test        2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Upgrading b (1 -> 2)
 (2/2) Upgrading a (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic2.test 
new/apk-tools-3.0.2/test/solver/basic2.test
--- old/apk-tools-3.0.1/test/solver/basic2.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic2.test 2025-12-12 10:51:51.000000000 
+0100
@@ -3,4 +3,4 @@
 @INSTALLED basic.installed
 @WORLD a
 @EXPECT
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic20.test 
new/apk-tools-3.0.2/test/solver/basic20.test
--- old/apk-tools-3.0.1/test/solver/basic20.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic20.test        2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 NOTE: Consider running apk upgrade with --prune and/or --available.
 The following packages are no longer available from a repository:
   a b
-OK: 2 packages, 0 dirs, 0 files, 0 MiB
+OK: 2 packages, 0 dirs, 0 files, 2 B
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic21.test 
new/apk-tools-3.0.2/test/solver/basic21.test
--- old/apk-tools-3.0.1/test/solver/basic21.test        2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/basic21.test        2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @REPO basic21.repo
 @EXPECT
 (1/1) Purging a (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic3.test 
new/apk-tools-3.0.2/test/solver/basic3.test
--- old/apk-tools-3.0.1/test/solver/basic3.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic3.test 2025-12-12 10:51:51.000000000 
+0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Upgrading b (1 -> 2)
 (2/2) Upgrading a (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic4.test 
new/apk-tools-3.0.2/test/solver/basic4.test
--- old/apk-tools-3.0.1/test/solver/basic4.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic4.test 2025-12-12 10:51:51.000000000 
+0100
@@ -4,4 +4,4 @@
 @WORLD a b
 @EXPECT
 (1/1) Purging a (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic5.test 
new/apk-tools-3.0.2/test/solver/basic5.test
--- old/apk-tools-3.0.1/test/solver/basic5.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic5.test 2025-12-12 10:51:51.000000000 
+0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Replacing b (2 -> 2)
 (2/2) Replacing a (2 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic6.test 
new/apk-tools-3.0.2/test/solver/basic6.test
--- old/apk-tools-3.0.1/test/solver/basic6.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic6.test 2025-12-12 10:51:51.000000000 
+0100
@@ -3,4 +3,4 @@
 @INSTALLED basic5.installed
 @WORLD a
 @EXPECT
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic7.test 
new/apk-tools-3.0.2/test/solver/basic7.test
--- old/apk-tools-3.0.1/test/solver/basic7.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic7.test 2025-12-12 10:51:51.000000000 
+0100
@@ -3,4 +3,4 @@
 @INSTALLED basic.installed
 @WORLD a
 @EXPECT
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic8.test 
new/apk-tools-3.0.2/test/solver/basic8.test
--- old/apk-tools-3.0.1/test/solver/basic8.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic8.test 2025-12-12 10:51:51.000000000 
+0100
@@ -2,4 +2,4 @@
 @EXPECT
 WARNING: creating empty virtual package
 (1/1) Installing .virtual (20190603.131426)
-OK: 0 MiB in 1 packages
+OK: 0 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/basic9.test 
new/apk-tools-3.0.2/test/solver/basic9.test
--- old/apk-tools-3.0.1/test/solver/basic9.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/basic9.test 2025-12-12 10:51:51.000000000 
+0100
@@ -3,4 +3,4 @@
 @WORLD a
 @EXPECT
 (1/1) Installing .virtual (20190603.131426)
-OK: 0 MiB in 3 packages
+OK: 2 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/complicated1.test 
new/apk-tools-3.0.2/test/solver/complicated1.test
--- old/apk-tools-3.0.1/test/solver/complicated1.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/complicated1.test   2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 (2/4) Installing c (1)
 (3/4) Installing b (1)
 (4/4) Installing a (2)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/complicated2.test 
new/apk-tools-3.0.2/test/solver/complicated2.test
--- old/apk-tools-3.0.1/test/solver/complicated2.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/complicated2.test   2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 (1/3) Installing d (1.5)
 (2/3) Installing c (1)
 (3/3) Installing b (1)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/complicated3.test 
new/apk-tools-3.0.2/test/solver/complicated3.test
--- old/apk-tools-3.0.1/test/solver/complicated3.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/complicated3.test   2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing d (2.0)
 (2/2) Installing c (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/complicated4.test 
new/apk-tools-3.0.2/test/solver/complicated4.test
--- old/apk-tools-3.0.1/test/solver/complicated4.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/complicated4.test   2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (2/4) Installing c (1)
 (3/4) Installing b (1)
 (4/4) Installing a (2)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/conflict1.test 
new/apk-tools-3.0.2/test/solver/conflict1.test
--- old/apk-tools-3.0.1/test/solver/conflict1.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/conflict1.test      2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing b (1)
 (2/2) Installing a (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/conflict3.test 
new/apk-tools-3.0.2/test/solver/conflict3.test
--- old/apk-tools-3.0.1/test/solver/conflict3.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/conflict3.test      2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging bar (1)
 (2/2) Installing baz (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix1.test 
new/apk-tools-3.0.2/test/solver/fix1.test
--- old/apk-tools-3.0.1/test/solver/fix1.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix1.test   2025-12-12 10:51:51.000000000 
+0100
@@ -4,4 +4,4 @@
 @WORLD a
 @EXPECT
 (1/1) Upgrading b (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix2.test 
new/apk-tools-3.0.2/test/solver/fix2.test
--- old/apk-tools-3.0.1/test/solver/fix2.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix2.test   2025-12-12 10:51:51.000000000 
+0100
@@ -4,4 +4,4 @@
 @WORLD a
 @EXPECT
 (1/1) Upgrading a (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix3.test 
new/apk-tools-3.0.2/test/solver/fix3.test
--- old/apk-tools-3.0.1/test/solver/fix3.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix3.test   2025-12-12 10:51:51.000000000 
+0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Upgrading b (1 -> 2)
 (2/2) Upgrading a (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix4.test 
new/apk-tools-3.0.2/test/solver/fix4.test
--- old/apk-tools-3.0.1/test/solver/fix4.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix4.test   2025-12-12 10:51:51.000000000 
+0100
@@ -4,4 +4,4 @@
 @WORLD a
 @EXPECT
 (1/1) Reinstalling b (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix5.test 
new/apk-tools-3.0.2/test/solver/fix5.test
--- old/apk-tools-3.0.1/test/solver/fix5.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix5.test   2025-12-12 10:51:51.000000000 
+0100
@@ -4,4 +4,4 @@
 @WORLD a
 @EXPECT
 (1/1) Reinstalling a (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fix6.test 
new/apk-tools-3.0.2/test/solver/fix6.test
--- old/apk-tools-3.0.1/test/solver/fix6.test   2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fix6.test   2025-12-12 10:51:51.000000000 
+0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Reinstalling b (1)
 (2/2) Reinstalling a (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fuzzy1.test 
new/apk-tools-3.0.2/test/solver/fuzzy1.test
--- old/apk-tools-3.0.1/test/solver/fuzzy1.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fuzzy1.test 2025-12-12 10:51:51.000000000 
+0100
@@ -2,4 +2,4 @@
 @REPO fuzzy.repo
 @EXPECT
 (1/1) Installing a (2.2)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/fuzzy3.test 
new/apk-tools-3.0.2/test/solver/fuzzy3.test
--- old/apk-tools-3.0.1/test/solver/fuzzy3.test 2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/solver/fuzzy3.test 2025-12-12 10:51:51.000000000 
+0100
@@ -2,4 +2,4 @@
 @REPO fuzzy.repo
 @EXPECT
 (1/1) Installing a (2.10)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif1.test 
new/apk-tools-3.0.2/test/solver/installif1.test
--- old/apk-tools-3.0.1/test/solver/installif1.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif1.test     2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 (2/4) Installing app (1)
 (3/4) Installing foo (1)
 (4/4) Installing appiif1 (1)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif10.test 
new/apk-tools-3.0.2/test/solver/installif10.test
--- old/apk-tools-3.0.1/test/solver/installif10.test    2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif10.test    2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 (2/4) Installing polkit-elogind (1)
 (3/4) Installing postmarketos-base-ui-gnome (1)
 (4/4) Installing postmarketos-base-ui-gnome-openrc (1)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif11.test 
new/apk-tools-3.0.2/test/solver/installif11.test
--- old/apk-tools-3.0.1/test/solver/installif11.test    2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif11.test    2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 NOTE: Consider running apk upgrade with --prune and/or --available.
 The following packages are no longer available from a repository:
   appiif1
-OK: 4 packages, 0 dirs, 0 files, 0 MiB
+OK: 4 packages, 0 dirs, 0 files, 4 B
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif12.test 
new/apk-tools-3.0.2/test/solver/installif12.test
--- old/apk-tools-3.0.1/test/solver/installif12.test    2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif12.test    2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 NOTE: Consider running apk upgrade with --prune and/or --available.
 The following packages are no longer available from a repository:
   app appiif1 foo lib
-OK: 4 packages, 0 dirs, 0 files, 0 MiB
+OK: 4 packages, 0 dirs, 0 files, 4 B
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif13.test 
new/apk-tools-3.0.2/test/solver/installif13.test
--- old/apk-tools-3.0.1/test/solver/installif13.test    2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif13.test    2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @WORLD app foo !appiif1
 @EXPECT
 (1/1) Installing appiif1 (1)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif2.test 
new/apk-tools-3.0.2/test/solver/installif2.test
--- old/apk-tools-3.0.1/test/solver/installif2.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif2.test     2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (4/6) Installing appiif2 (1)
 (5/6) Installing foo (1)
 (6/6) Installing appiif1 (1)
-OK: 0 MiB in 6 packages
+OK: 6 B in 6 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif3.test 
new/apk-tools-3.0.2/test/solver/installif3.test
--- old/apk-tools-3.0.1/test/solver/installif3.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif3.test     2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 (2/4) Installing app (1)
 (3/4) Installing foo (1)
 (4/4) Installing appiif1 (1)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif4.test 
new/apk-tools-3.0.2/test/solver/installif4.test
--- old/apk-tools-3.0.1/test/solver/installif4.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif4.test     2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (2/4) Purging app (1)
 (3/4) Purging lib (1)
 (4/4) Purging foo (1)
-OK: 0 MiB in 0 packages
+OK: 0 B in 0 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif5.test 
new/apk-tools-3.0.2/test/solver/installif5.test
--- old/apk-tools-3.0.1/test/solver/installif5.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif5.test     2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 (1/3) Installing dam-babel (1)
 (2/3) Installing dam (1)
 (3/3) Installing dam1-babel (1)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif6.test 
new/apk-tools-3.0.2/test/solver/installif6.test
--- old/apk-tools-3.0.1/test/solver/installif6.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif6.test     2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 (3/5) Installing wayland-libs-client (1)
 (4/5) Installing qt5-qtwayland (1)
 (5/5) Installing sway (1)
-OK: 0 MiB in 5 packages
+OK: 5 B in 5 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif8.test 
new/apk-tools-3.0.2/test/solver/installif8.test
--- old/apk-tools-3.0.1/test/solver/installif8.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif8.test     2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing bar (1)
 (2/2) Installing foo (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/installif9.test 
new/apk-tools-3.0.2/test/solver/installif9.test
--- old/apk-tools-3.0.1/test/solver/installif9.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/installif9.test     2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing bar (1)
 (2/2) Installing baz (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning1.test 
new/apk-tools-3.0.2/test/solver/pinning1.test
--- old/apk-tools-3.0.1/test/solver/pinning1.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning1.test       2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning10.test 
new/apk-tools-3.0.2/test/solver/pinning10.test
--- old/apk-tools-3.0.1/test/solver/pinning10.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning10.test      2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 @EXPECT
 (1/2) Purging c (3)
 (2/2) Downgrading a (3 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning12.test 
new/apk-tools-3.0.2/test/solver/pinning12.test
--- old/apk-tools-3.0.1/test/solver/pinning12.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning12.test      2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 (1/3) Installing b (2)
 (2/3) Installing a@testing (3)
 (3/3) Installing iif@testing (3)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning13.test 
new/apk-tools-3.0.2/test/solver/pinning13.test
--- old/apk-tools-3.0.1/test/solver/pinning13.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning13.test      2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @REPO @testing pinning-overlay1.repo
 @EXPECT
 (1/1) Installing samever@testing (10)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning2.test 
new/apk-tools-3.0.2/test/solver/pinning2.test
--- old/apk-tools-3.0.1/test/solver/pinning2.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning2.test       2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @EXPECT
 (1/2) Installing b (2)
 (2/2) Installing a@testing (3)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning3.test 
new/apk-tools-3.0.2/test/solver/pinning3.test
--- old/apk-tools-3.0.1/test/solver/pinning3.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning3.test       2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @EXPECT
 (1/2) Installing b@testing (3)
 (2/2) Installing a@testing (3)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning4.test 
new/apk-tools-3.0.2/test/solver/pinning4.test
--- old/apk-tools-3.0.1/test/solver/pinning4.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning4.test       2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 (1/3) Installing b (2)
 (2/3) Installing a@testing (3)
 (3/3) Installing c@testing (3)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning5.test 
new/apk-tools-3.0.2/test/solver/pinning5.test
--- old/apk-tools-3.0.1/test/solver/pinning5.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning5.test       2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @INSTALLED pinning.installed
 @WORLD c@testing
 @EXPECT
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning6.test 
new/apk-tools-3.0.2/test/solver/pinning6.test
--- old/apk-tools-3.0.1/test/solver/pinning6.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning6.test       2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 @EXPECT
 (1/2) Upgrading a@testing (3 -> 3.1)
 (2/2) Upgrading c@testing (3 -> 3.1)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning7.test 
new/apk-tools-3.0.2/test/solver/pinning7.test
--- old/apk-tools-3.0.1/test/solver/pinning7.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning7.test       2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 @EXPECT
 (1/2) Updating pinning a@testing2 (3)
 (2/2) Updating pinning c@testing2 (3)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning8.test 
new/apk-tools-3.0.2/test/solver/pinning8.test
--- old/apk-tools-3.0.1/test/solver/pinning8.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning8.test       2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (1/3) Downgrading b (3 -> 2)
 (2/3) Upgrading a@testing (3 -> 3.1)
 (3/3) Upgrading c@testing (3 -> 3.1)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/pinning9.test 
new/apk-tools-3.0.2/test/solver/pinning9.test
--- old/apk-tools-3.0.1/test/solver/pinning9.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/pinning9.test       2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @INSTALLED pinning9.installed
 @WORLD c@testing
 @EXPECT
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio1.test 
new/apk-tools-3.0.2/test/solver/provides-prio1.test
--- old/apk-tools-3.0.1/test/solver/provides-prio1.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio1.test 2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides-prio.repo
 @EXPECT
 (1/1) Installing busybox-binsh (1.37.0-r23)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio2.test 
new/apk-tools-3.0.2/test/solver/provides-prio2.test
--- old/apk-tools-3.0.1/test/solver/provides-prio2.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio2.test 2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides-prio.repo
 @EXPECT
 (1/1) Installing dash-binsh (0.5.12-r3)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio3.test 
new/apk-tools-3.0.2/test/solver/provides-prio3.test
--- old/apk-tools-3.0.1/test/solver/provides-prio3.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio3.test 2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 World updated, but the following packages are not removed due to:
   busybox-binsh: /bin/sh
 
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio4.test 
new/apk-tools-3.0.2/test/solver/provides-prio4.test
--- old/apk-tools-3.0.1/test/solver/provides-prio4.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio4.test 2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging dash-binsh (0.5.12-r3)
 (2/2) Installing busybox-binsh (1.37.0-r23)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio5.test 
new/apk-tools-3.0.2/test/solver/provides-prio5.test
--- old/apk-tools-3.0.1/test/solver/provides-prio5.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio5.test 2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 (2/4) Installing l-two (1.0)
 (3/4) Installing l-three (1.0)
 (4/4) Installing l-all (1.0)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-prio6.test 
new/apk-tools-3.0.2/test/solver/provides-prio6.test
--- old/apk-tools-3.0.1/test/solver/provides-prio6.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-prio6.test 2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides-prio5.repo
 @EXPECT
 (1/1) Installing l-one (1.0)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-swap.test 
new/apk-tools-3.0.2/test/solver/provides-swap.test
--- old/apk-tools-3.0.1/test/solver/provides-swap.test  2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-swap.test  2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging mailreadplus (1)
 (2/2) Installing mymailreader (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-swap2.test 
new/apk-tools-3.0.2/test/solver/provides-swap2.test
--- old/apk-tools-3.0.1/test/solver/provides-swap2.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-swap2.test 2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @INSTALLED provides-swap.installed
 @WORLD mail-reader
 @EXPECT
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-swap3.test 
new/apk-tools-3.0.2/test/solver/provides-swap3.test
--- old/apk-tools-3.0.1/test/solver/provides-swap3.test 2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-swap3.test 2025-12-12 
10:51:51.000000000 +0100
@@ -9,4 +9,4 @@
 (4/6) Installing q2 (1)
 (5/6) Installing nd (2)
 (6/6) Installing nui (2)
-OK: 0 MiB in 4 packages
+OK: 4 B in 4 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides-upgrade.test 
new/apk-tools-3.0.2/test/solver/provides-upgrade.test
--- old/apk-tools-3.0.1/test/solver/provides-upgrade.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides-upgrade.test       2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging a (1)
 (2/2) Installing b (2)
-OK: 0 MiB in 1 packages
+OK: 2 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides1.test 
new/apk-tools-3.0.2/test/solver/provides1.test
--- old/apk-tools-3.0.1/test/solver/provides1.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides1.test      2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing libfoo (1)
 (2/2) Installing app (2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides13.test 
new/apk-tools-3.0.2/test/solver/provides13.test
--- old/apk-tools-3.0.1/test/solver/provides13.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides13.test     2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing pulseaudio (1)
 (2/2) Installing pulseaudio-alsa (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides17.test 
new/apk-tools-3.0.2/test/solver/provides17.test
--- old/apk-tools-3.0.1/test/solver/provides17.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides17.test     2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing testp (0.1-r0)
 (2/2) Installing testr (0.1-r0)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides18.test 
new/apk-tools-3.0.2/test/solver/provides18.test
--- old/apk-tools-3.0.1/test/solver/provides18.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides18.test     2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 (1/2) Purging wine-staging (10)
 (2/2) Installing wine (2)
-OK: 0 MiB in 1 packages
+OK: 2 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides19.test 
new/apk-tools-3.0.2/test/solver/provides19.test
--- old/apk-tools-3.0.1/test/solver/provides19.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides19.test     2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides.repo
 @EXPECT
 (1/1) Installing mailreadsolo (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides2.test 
new/apk-tools-3.0.2/test/solver/provides2.test
--- old/apk-tools-3.0.1/test/solver/provides2.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides2.test      2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides.repo
 @EXPECT
 (1/1) Installing mailreadplus (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides21.test 
new/apk-tools-3.0.2/test/solver/provides21.test
--- old/apk-tools-3.0.1/test/solver/provides21.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides21.test     2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 (1/3) Installing polkit (999124)
 (2/3) Installing polkit-dev (999124)
 (3/3) Installing postmarketos-base-systemd (1)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides22.test 
new/apk-tools-3.0.2/test/solver/provides22.test
--- old/apk-tools-3.0.1/test/solver/provides22.test     2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides22.test     2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing openjdk8-jre-base (1.0)
 (2/2) Installing openjdk8-jdk (1.0)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides3.test 
new/apk-tools-3.0.2/test/solver/provides3.test
--- old/apk-tools-3.0.1/test/solver/provides3.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides3.test      2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides.repo
 @EXPECT
 (1/1) Installing mymailreader (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides4.test 
new/apk-tools-3.0.2/test/solver/provides4.test
--- old/apk-tools-3.0.1/test/solver/provides4.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides4.test      2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @EXPECT
 (1/2) Installing mailreadplus (1)
 (2/2) Installing mymailreader (1)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/provides8.test 
new/apk-tools-3.0.2/test/solver/provides8.test
--- old/apk-tools-3.0.1/test/solver/provides8.test      2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/provides8.test      2025-12-12 
10:51:51.000000000 +0100
@@ -2,4 +2,4 @@
 @REPO provides.repo
 @EXPECT
 (1/1) Installing mailreadplus (1)
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/selfupgrade1.test 
new/apk-tools-3.0.2/test/solver/selfupgrade1.test
--- old/apk-tools-3.0.1/test/solver/selfupgrade1.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/selfupgrade1.test   2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 Preupgrading:
 (1/2) Upgrading libcrypto (1 -> 2)
 (2/2) Upgrading apk-tools (1 -> 2)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/selfupgrade2.test 
new/apk-tools-3.0.2/test/solver/selfupgrade2.test
--- old/apk-tools-3.0.1/test/solver/selfupgrade2.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/selfupgrade2.test   2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (1/3) Purging application (1)
 (2/3) Upgrading libcrypto (1 -> 2)
 (3/3) Upgrading apk-tools (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/selfupgrade5.test 
new/apk-tools-3.0.2/test/solver/selfupgrade5.test
--- old/apk-tools-3.0.1/test/solver/selfupgrade5.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/selfupgrade5.test   2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 Preupgrading:
 (1/1) Upgrading application (1 -> 2)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/selfupgrade7.test 
new/apk-tools-3.0.2/test/solver/selfupgrade7.test
--- old/apk-tools-3.0.1/test/solver/selfupgrade7.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/selfupgrade7.test   2025-12-12 
10:51:51.000000000 +0100
@@ -5,4 +5,4 @@
 @EXPECT
 Preupgrading:
 (1/1) Upgrading application (1 -> 2)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/selfupgrade8.test 
new/apk-tools-3.0.2/test/solver/selfupgrade8.test
--- old/apk-tools-3.0.1/test/solver/selfupgrade8.test   2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/selfupgrade8.test   2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (1/3) Upgrading libcrypto (1 -> 2)
 (2/3) Upgrading apk-tools (1 -> 2)
 (3/3) Upgrading application (1 -> 2)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/upgrade1.test 
new/apk-tools-3.0.2/test/solver/upgrade1.test
--- old/apk-tools-3.0.1/test/solver/upgrade1.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/upgrade1.test       2025-12-12 
10:51:51.000000000 +0100
@@ -6,4 +6,4 @@
 (1/3) Purging libold (1)
 (2/3) Installing libnew (1)
 (3/3) Upgrading app (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/upgrade2.test 
new/apk-tools-3.0.2/test/solver/upgrade2.test
--- old/apk-tools-3.0.1/test/solver/upgrade2.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/upgrade2.test       2025-12-12 
10:51:51.000000000 +0100
@@ -3,4 +3,4 @@
 @INSTALLED upgrade.installed
 @WORLD app
 @EXPECT
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/upgrade3.test 
new/apk-tools-3.0.2/test/solver/upgrade3.test
--- old/apk-tools-3.0.1/test/solver/upgrade3.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/upgrade3.test       2025-12-12 
10:51:51.000000000 +0100
@@ -4,4 +4,4 @@
 @WORLD app b
 @EXPECT
 (1/1) Upgrading b (1 -> 2)
-OK: 0 MiB in 3 packages
+OK: 3 B in 3 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/solver/upgrade4.test 
new/apk-tools-3.0.2/test/solver/upgrade4.test
--- old/apk-tools-3.0.1/test/solver/upgrade4.test       2025-12-03 
12:24:53.000000000 +0100
+++ new/apk-tools-3.0.2/test/solver/upgrade4.test       2025-12-12 
10:51:51.000000000 +0100
@@ -7,4 +7,4 @@
 (2/4) Purging libold (1)
 (3/4) Installing libnew (1)
 (4/4) Upgrading app (1 -> 2)
-OK: 0 MiB in 2 packages
+OK: 2 B in 2 packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/user/mkpkg.sh 
new/apk-tools-3.0.2/test/user/mkpkg.sh
--- old/apk-tools-3.0.1/test/user/mkpkg.sh      2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/user/mkpkg.sh      2025-12-12 10:51:51.000000000 
+0100
@@ -12,7 +12,7 @@
 echo "root:x:${gid}:root" > etc/group
 mkdir -p files/usr/share/foo/bar
 
-$APK --root=. mkpkg --compat=3.0.0_pre2 -I name:compat -I version:1.0 -F files 
-o compat-1.0.apk
+$APK --root=. mkpkg --no-xattrs --compat=3.0.0_pre2 -I name:compat -I 
version:1.0 -F files -o compat-1.0.apk
 $APK adbdump compat-1.0.apk | sed -n '/^paths:/,$p' | diff -u /dev/fd/4 4<<EOF 
- || assert "wrong fetch result"
 paths: # 5 items
   - acl:
@@ -41,7 +41,7 @@
       group: root
 EOF
 
-$APK --root=. mkpkg --compat=3.0.0_pre3 -I name:compat -I version:1.0 -F files 
-o compat-1.0.apk
+$APK --root=. mkpkg --no-xattrs --compat=3.0.0_pre3 -I name:compat -I 
version:1.0 -F files -o compat-1.0.apk
 $APK adbdump compat-1.0.apk | sed -n '/^paths:/,$p' | diff -u /dev/fd/4 4<<EOF 
- || assert "wrong fetch result"
 paths: # 4 items
   - name: usr
@@ -66,7 +66,7 @@
       group: root
 EOF
 
-$APK --root=. mkpkg --compat=3.0.0_rc9 -I name:compat -I version:1.0 -F files 
-o compat-1.0.apk
+$APK --root=. mkpkg --no-xattrs --compat=3.0.0_rc9 -I name:compat -I 
version:1.0 -F files -o compat-1.0.apk
 $APK adbdump compat-1.0.apk | sed -n '/^paths:/,$p' | diff -u /dev/fd/4 4<<EOF 
- || assert "wrong fetch result"
 paths: # 1 items
   - name: usr/share/foo/bar
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/user/scripts.sh 
new/apk-tools-3.0.2/test/user/scripts.sh
--- old/apk-tools-3.0.1/test/user/scripts.sh    2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/user/scripts.sh    2025-12-12 10:51:51.000000000 
+0100
@@ -27,7 +27,7 @@
   * Hello from pre-install / pre-install / scripts / unset
   Executing scripts-1.0.post-install
   * Hello from post-install / post-install / unset
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
 EOF
 
 diff -u - apk-stderr.log <<EOF || assert "wrong scripts result"
@@ -42,5 +42,5 @@
   * Hello from pre-install / pre-install / scripts / test
   Executing scripts-1.0.post-install
   * Hello from post-install / post-install / test
-OK: 0 MiB in 1 packages
+OK: 1 B in 1 packages
 EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apk-tools-3.0.1/test/user/uvol.sh 
new/apk-tools-3.0.2/test/user/uvol.sh
--- old/apk-tools-3.0.1/test/user/uvol.sh       2025-12-03 12:24:53.000000000 
+0100
+++ new/apk-tools-3.0.2/test/user/uvol.sh       2025-12-12 10:51:51.000000000 
+0100
@@ -34,7 +34,7 @@
 uvol(write): uvol-test: write data 13
 uvol(write): uvol-test: drained input
 uvol(up): uvol-test: up data
-OK: 0 MiB in 1 packages
+OK: 13 B in 1 packages
 EOF
 
 reset_uvol_db
@@ -45,7 +45,7 @@
 ERROR: uvol(write): exited with error 2
 uvol(remove): uvol-test: remove scriptfail
 ERROR: uvol-scriptfail-1.0: failed to extract uvol/scriptfail: uvol error
-1 error; 0 MiB in 1 packages
+1 error; 33 B in 1 packages
 EOF
 
 exit 0

Reply via email to