{
  "name": "apk-tools",
  "icon": "https://bb10repo.whytofly.de/img/bb10-apkui.png",
  "category": "Runtime",
  "type": "cli",
  "homepage": "https://gitlab.alpinelinux.org/alpine/apk-tools",
  "description": "The apk package manager binary itself — wraps the Alpine apk-tools 3.0.5 source tree with BB10-specific patches: TZ-init guard for QNX 6.6 ldqnx, /accounts/1000/shared/misc/apk/etc/apk/config as a fallback config path, unlink-before-overwrite when re-extracting post-install scripts under the perimeter-remapped file owners, and SIGPIPE ignore so the runtime survives its parent being killed mid-install. Built against OpenSSL 1.1.1w with no-asm so it links cleanly against the stock QNX 6.6 dynamic linker.\n\nThis package replaces the running apk binary at /accounts/1000/shared/misc/apk/apk. The install uses a __devuser-mediated post-install swap: the new binary is extracted into $APK_HOME/var/apk-stage, then a detached 3-second sleep forks a /bin/__devuser cp that atomically replaces the live binary file (the old, mmap'd binary continues running until the current transaction completes; new invocations pick up the new bytes).",
  "history": [
    {
      "version": "20260625",
      "released": "2026-06-25",
      "changes": "- lib/apk/exec: chmod 0777 the script-exec dir on every run (the parent dir's setgid bit makes new dirs group-owned but not group-executable), so post-install hooks dropped there stay runnable when apk and Rubus operate the same packages across perimeters\n- Rebuilt against the relocated blackberry_toolchain (cross-file + pkgconfig prefixes updated)"
    },
    {
      "version": "20260526",
      "released": "2026-05-26",
      "changes": "- post-install probes for __devuser at /bin/, /q/, /base/bin/ (works on autoroot and the old jailbreak)\n- Replaces /accounts/.../apk via __devuser cp so the resulting binary carries BB10 pathtrust EXEC"
    },
    {
      "version": "20260525",
      "released": "2026-05-25",
      "changes": "- Initial release\n- TZ + config-fallback + unlink-before-write + SIGPIPE-ignore patches"
    }
  ]
}
