diff --git a/.prettierignore b/.prettierignore index 2e117bf..af63be6 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,2 @@ docs/*.md +**/*.resolved.json \ No newline at end of file diff --git a/MODULE.bazel b/MODULE.bazel index 5b5c119..b2ee78d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,7 +6,7 @@ module( compatibility_level = 1, ) -bazel_dep(name = "bazel_skylib", version = "1.4.1") +bazel_dep(name = "bazel_skylib", version = "1.4.2") bazel_dep(name = "platforms", version = "0.0.5") bazel_dep(name = "aspect_bazel_lib", version = "1.34.5") @@ -31,19 +31,19 @@ apk = use_extension( ) apk.translate_lock( name = "examples_lock", - lock = "//examples/lock:apko.lock.json", + lock = "//examples/lock:apko.resolved.json", ) apk.translate_lock( name = "examples_wolfi_base", - lock = "//examples/wolfi-base:apko.lock.json", + lock = "//examples/wolfi-base:apko.resolved.json", ) apk.translate_lock( name = "examples_oci", - lock = "//examples/oci:apko.lock.json", + lock = "//examples/oci:apko.resolved.json", ) apk.translate_lock( name = "examples_multi_arch_and_repo", - lock = "//examples/multi_arch_and_repo:apko.lock.json", + lock = "//examples/multi_arch_and_repo:apko.resolved.json", ) use_repo(apk, "examples_multi_arch_and_repo") use_repo(apk, "examples_lock") diff --git a/apko/private/apk.bzl b/apko/private/apk.bzl index 3340806..585fa71 100644 --- a/apko/private/apk.bzl +++ b/apko/private/apk.bzl @@ -53,8 +53,6 @@ def _apk_import_impl(rctx): data_output = "{}/{}.dat.tar.gz".format(output, data_sha256) apk_output = "{}/{}/{}-{}.apk".format(repo_escaped, rctx.attr.architecture, rctx.attr.package_name, rctx.attr.version) - _check_initial_setup(rctx) - rctx.download( url = [_range(rctx.attr.url, rctx.attr.signature_range)], output = sig_output, @@ -109,6 +107,7 @@ filegroup( def _apk_repository_impl(rctx): repo = util.repo_url(rctx.attr.url, rctx.attr.architecture) repo_escaped = util.url_escape(repo) + _check_initial_setup(rctx) rctx.download( url = [rctx.attr.url], output = "{}/{}/APKINDEX/latest.tar.gz".format(repo_escaped, rctx.attr.architecture), diff --git a/apko/private/versions.bzl b/apko/private/versions.bzl index 666f449..7bd1efd 100644 --- a/apko/private/versions.bzl +++ b/apko/private/versions.bzl @@ -3,7 +3,7 @@ # Add new versions by running # ./scripts/mirror_apko.sh APKO_VERSIONS = { - "v0.0.0": { + "v0.0.0": { "darwin_amd64": "sha256-hZ253iuIVqEOTQ4rrX1DrgOMqnxaHM6b8iUeUjd1ZBY=", "darwin_arm64": "sha256-OX8S8TjiVenvc71CMWRqZM/JKOItTeKxLYk48HTY8m0=", "linux_386": "sha256-sw4xdL7SN67wYz59J5XgEgtx8wdF4tS2SA1FQt/9J48=", diff --git a/e2e/smoke/MODULE.bazel b/e2e/smoke/MODULE.bazel index d056979..f4a0579 100644 --- a/e2e/smoke/MODULE.bazel +++ b/e2e/smoke/MODULE.bazel @@ -13,6 +13,6 @@ apko = use_extension( ) apko.translate_lock( name = "example_lock", - lock = "//:apko.lock.json", + lock = "//:apko.resolved.json", ) use_repo(apko, "example_lock") diff --git a/e2e/smoke/apko.resolved.json b/e2e/smoke/apko.resolved.json new file mode 100755 index 0000000..9ae0f5d --- /dev/null +++ b/e2e/smoke/apko.resolved.json @@ -0,0 +1,51 @@ +{ + "version": "v1", + "contents": { + "keyring": [], + "repositories": [ + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/main/x86_64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" + } + ], + "packages": [ + { + "name": "musl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/musl-1.2.4_git20230717-r2.apk", + "version": "1.2.4_git20230717-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-ANg2OFHCs6IsHHmIoXifycdNICo=" + }, + "control": { + "range": "bytes=664-1230", + "checksum": "sha1-0QcZQhy2GxzaRF4Kip4NVG0pgrc=" + }, + "data": { + "range": "bytes=1231-667648", + "checksum": "sha256-BEDUjs8id32t4l9xhzFKSVDrEOOuxHeKIAjyg/cmIE8=" + } + }, + { + "name": "busybox", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/busybox-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-668", + "checksum": "sha1-pSFhEF15QuR0fTfB4gsrKiR9mGE=" + }, + "control": { + "range": "bytes=669-2302", + "checksum": "sha1-yUyBAl1hksZXxUYlinKcmpP25Mg=" + }, + "data": { + "range": "bytes=2303-946176", + "checksum": "sha256-Zs0o1FRREtYAGgLCGNlYeePF3JMce+XMufu7XMhRoyU=" + } + } + ] + } +} \ No newline at end of file diff --git a/examples/lock/apko.resolved.json b/examples/lock/apko.resolved.json new file mode 100755 index 0000000..9ae0f5d --- /dev/null +++ b/examples/lock/apko.resolved.json @@ -0,0 +1,51 @@ +{ + "version": "v1", + "contents": { + "keyring": [], + "repositories": [ + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/main/x86_64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" + } + ], + "packages": [ + { + "name": "musl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/musl-1.2.4_git20230717-r2.apk", + "version": "1.2.4_git20230717-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-ANg2OFHCs6IsHHmIoXifycdNICo=" + }, + "control": { + "range": "bytes=664-1230", + "checksum": "sha1-0QcZQhy2GxzaRF4Kip4NVG0pgrc=" + }, + "data": { + "range": "bytes=1231-667648", + "checksum": "sha256-BEDUjs8id32t4l9xhzFKSVDrEOOuxHeKIAjyg/cmIE8=" + } + }, + { + "name": "busybox", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/busybox-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-668", + "checksum": "sha1-pSFhEF15QuR0fTfB4gsrKiR9mGE=" + }, + "control": { + "range": "bytes=669-2302", + "checksum": "sha1-yUyBAl1hksZXxUYlinKcmpP25Mg=" + }, + "data": { + "range": "bytes=2303-946176", + "checksum": "sha256-Zs0o1FRREtYAGgLCGNlYeePF3JMce+XMufu7XMhRoyU=" + } + } + ] + } +} \ No newline at end of file diff --git a/examples/multi_arch_and_repo/apko.resolved.json b/examples/multi_arch_and_repo/apko.resolved.json new file mode 100755 index 0000000..dfe2b30 --- /dev/null +++ b/examples/multi_arch_and_repo/apko.resolved.json @@ -0,0 +1,1614 @@ +{ + "version": "v1", + "contents": { + "keyring": [], + "repositories": [ + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/main/aarch64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/APKINDEX.tar.gz", + "architecture": "aarch64" + }, + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/community/aarch64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/community/aarch64/APKINDEX.tar.gz", + "architecture": "aarch64" + }, + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/main/x86_64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" + }, + { + "name": "dl-cdn.alpinelinux.org/alpine/edge/community/x86_64", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" + } + ], + "packages": [ + { + "name": "musl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/musl-1.2.4_git20230717-r2.apk", + "version": "1.2.4_git20230717-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-Qf7WZvHgi0cv95+XLvZBYxYKyig=" + }, + "control": { + "range": "bytes=664-1224", + "checksum": "sha1-30HuBqXCnGbAQL2IxLQWUHyKRSk=" + }, + "data": { + "range": "bytes=1225-741376", + "checksum": "sha256-MfZJIxShLDZSAc1M5Xy7dLHmZqlmnvhOT3sW02/8J4E=" + } + }, + { + "name": "busybox", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/busybox-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-PBGVWNt4xA1THP2P3dfy9TnLWiE=" + }, + "control": { + "range": "bytes=666-2296", + "checksum": "sha1-i0QLUSqQAVl6+tHakdwcWQWZZZc=" + }, + "data": { + "range": "bytes=2297-1056768", + "checksum": "sha256-NCaVUlRwPqx20DBwcItmei1UJCM2o+jR8gEo321j+Xg=" + } + }, + { + "name": "busybox-binsh", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/busybox-binsh-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-FUjmjX/VSCQ/kYHyODGskbCRPSU=" + }, + "control": { + "range": "bytes=665-1252", + "checksum": "sha1-LG321TVRw3s7xL2YjdL/ZOJ5Jsk=" + }, + "data": { + "range": "bytes=1253-8192", + "checksum": "sha256-hfMPdcEc1N8glTxg5RvyQjb9fYT3RcP6OXdilm1auew=" + } + }, + { + "name": "libcrypto3", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-e4UlPBOPo5uamR7v2usgKL6iC+I=" + }, + "control": { + "range": "bytes=665-1235", + "checksum": "sha1-2gJ9FoYO7RUd6uk6nYCkDGBmPt8=" + }, + "data": { + "range": "bytes=1236-4329472", + "checksum": "sha256-sRCodHB/44SsQWjbQFLKkv8t6OkM6vP4CZ0eBcpzWAQ=" + } + }, + { + "name": "ca-certificates", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/ca-certificates-20230506-r0.apk", + "version": "20230506-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-5he+BdpFgNVLTPPnpsaK9lgSKik=" + }, + "control": { + "range": "bytes=665-1570", + "checksum": "sha1-oiXlWJpkMQg01kaWyTSAZu2FPXQ=" + }, + "data": { + "range": "bytes=1571-811008", + "checksum": "sha256-b3vULRULD44dZp1L1VKn8uN24aeJ2jrEmsUCfcCV33E=" + } + }, + { + "name": "libmagic", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libmagic-5.45-r1.apk", + "version": "5.45-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-X4NmE99kIZ2OQnlcdGELV1oyQ68=" + }, + "control": { + "range": "bytes=665-1239", + "checksum": "sha1-lBAwOxb9Lftgj5cO5dflHXew7GY=" + }, + "data": { + "range": "bytes=1240-8671232", + "checksum": "sha256-v56iImXToBEn7idzWDlDdsRKqZUY3P9AF5cEUKxFPcM=" + } + }, + { + "name": "file", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/file-5.45-r1.apk", + "version": "5.45-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-1lswPWt1R6EY1ln/eFXb8m70viU=" + }, + "control": { + "range": "bytes=665-1240", + "checksum": "sha1-JxfU1x6yHHuqimUeBnCd2syvUK4=" + }, + "data": { + "range": "bytes=1241-86016", + "checksum": "sha256-7h+09APflQbMumUj1K5sS/zMl1A0SYc+CHuRFCvEIIs=" + } + }, + { + "name": "bzip2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/bzip2-1.0.8-r6.apk", + "version": "1.0.8-r6", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-661", + "checksum": "sha1-+uBl9dBlfqUwEiW8BQU//df0akc=" + }, + "control": { + "range": "bytes=662-1272", + "checksum": "sha1-n9JcmQmoBfz40JrGB87nh74TUjI=" + }, + "data": { + "range": "bytes=1273-516096", + "checksum": "sha256-QsNG62FfoP+W+wuI51uh1afoto3ZVq0IXC+ObqqiOp0=" + } + }, + { + "name": "libbz2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libbz2-1.0.8-r6.apk", + "version": "1.0.8-r6", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-hDMGMQjRgrShwz/F5mI7VU60Jtw=" + }, + "control": { + "range": "bytes=663-1216", + "checksum": "sha1-+ff94+klSZECTsgNO1xBgZ+ym7E=" + }, + "data": { + "range": "bytes=1217-86016", + "checksum": "sha256-Dphhoqvsm+UyMjMeJTHfVnrlguzuneHsXbAyUEBWOV4=" + } + }, + { + "name": "libcap2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libcap2-2.69-r1.apk", + "version": "2.69-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-GmeZCRuA7KqhHfNS7wTi6x5e8co=" + }, + "control": { + "range": "bytes=666-1281", + "checksum": "sha1-Xdm5nUTAvTb94jU4YLqfmaPzjd8=" + }, + "data": { + "range": "bytes=1282-151552", + "checksum": "sha256-ihyWTWl3hKudGKN8JJxgEtMkgZay+8MUCJS3BE9G4Lg=" + } + }, + { + "name": "zlib", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/zlib-1.3-r0.apk", + "version": "1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-V5C8sGOajyCae3csMRB6vn9LHeI=" + }, + "control": { + "range": "bytes=665-1209", + "checksum": "sha1-PvfyDRSoGShWtUkM97uGlUZcv80=" + }, + "data": { + "range": "bytes=1210-143360", + "checksum": "sha256-r1aeCDjfSCAa6/O+aiBodU8mpRKIS/lSlqn7q8nenFc=" + } + }, + { + "name": "cdrkit", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/community/aarch64/cdrkit-1.1.11-r6.apk", + "version": "1.1.11-r6", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-C7g4AZIwIKQlWHIm3gSm2EJ2SYM=" + }, + "control": { + "range": "bytes=665-1406", + "checksum": "sha1-fOR6FgU0Wpdw6JSlrxyd/E9DqPA=" + }, + "data": { + "range": "bytes=1407-2932736", + "checksum": "sha256-WFslnDKd2QO1GCBIWQJZ9CAVgHoCXhDNTl0D8webnvk=" + } + }, + { + "name": "brotli-libs", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/brotli-libs-1.0.9-r15.apk", + "version": "1.0.9-r15", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-ByxRu62OZZJTXpKg1iRhXCU/xCg=" + }, + "control": { + "range": "bytes=665-1247", + "checksum": "sha1-Dhaft/uuWBU/TcFBlv/8crWoIB4=" + }, + "data": { + "range": "bytes=1248-811008", + "checksum": "sha256-+3fUxGXfYzK+hDZwRFz+CP/HHEZ52/Z5mePCrl+fYnA=" + } + }, + { + "name": "c-ares", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/c-ares-1.19.1-r1.apk", + "version": "1.19.1-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-2ycJKHyD0XcSE5l1VrhqvUfY764=" + }, + "control": { + "range": "bytes=667-1224", + "checksum": "sha1-a6YjazuSxWnz1zdm1J64y6EDqr0=" + }, + "data": { + "range": "bytes=1225-147456", + "checksum": "sha256-WpRlDkXAbNGq6y8VUaFCZFLNhK15HaVky63Shcagcho=" + } + }, + { + "name": "libunistring", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libunistring-1.1-r2.apk", + "version": "1.1-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-sgpMT0o4Ufl0nl1yTtHIof01/0A=" + }, + "control": { + "range": "bytes=664-1261", + "checksum": "sha1-3ex6eSauJ0tUR4qHgZdiEhRCQMc=" + }, + "data": { + "range": "bytes=1262-1720320", + "checksum": "sha256-Ho4ZydLzxdfOeA/ACnEn4T+5USx7Elmrz1hydqeeTWI=" + } + }, + { + "name": "libidn2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libidn2-2.3.4-r4.apk", + "version": "2.3.4-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-DUsSnI+TfMkFJORSWBdHXu3l1mU=" + }, + "control": { + "range": "bytes=664-1276", + "checksum": "sha1-ljbXpFVG2ZWumOI9E4CvQSpQ9BI=" + }, + "data": { + "range": "bytes=1277-212992", + "checksum": "sha256-Rj4m0q/SQALG4GjNL9k5rCdz3NMV79c0tMZhVuLBY9w=" + } + }, + { + "name": "nghttp2-libs", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/nghttp2-libs-1.56.0-r0.apk", + "version": "1.56.0-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-akwq1l5CuNpbSVZ521u/YIm3yT8=" + }, + "control": { + "range": "bytes=665-1237", + "checksum": "sha1-GwqtRCM/cq7FYOS1XXnKrsu2bak=" + }, + "data": { + "range": "bytes=1238-212992", + "checksum": "sha256-yVL/jaWXI3bdFdM8Vo23M19VnSujo1ovLhKZHeKtqk0=" + } + }, + { + "name": "libssl3", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-ZN/owR9G6UcpFNRhWPGfCy2t5D4=" + }, + "control": { + "range": "bytes=664-1237", + "checksum": "sha1-KblDGkXMHfEQqgVWHTXad8JUbXs=" + }, + "data": { + "range": "bytes=1238-622592", + "checksum": "sha256-ZtVM5KTf2ojftvRxzDZoFrChoNtHyErlXvPsByoZU6E=" + } + }, + { + "name": "libcurl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libcurl-8.3.0-r1.apk", + "version": "8.3.0-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-6PqBaATpKUSUo905F7CwJivRkd4=" + }, + "control": { + "range": "bytes=666-1280", + "checksum": "sha1-z/MC1o4odvz/Eb2Z1DUx8ljiUSU=" + }, + "data": { + "range": "bytes=1281-618496", + "checksum": "sha256-f/6mel1fvmylRlupSsYV7PvP74rICBl5QIegqPU7184=" + } + }, + { + "name": "ssl_client", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/ssl_client-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-ztthkAaPDUyoDzN5PUHaj6kCEaw=" + }, + "control": { + "range": "bytes=666-1292", + "checksum": "sha1-lF4dVtumi3qx/vjJzIEroyodoHI=" + }, + "data": { + "range": "bytes=1293-81920", + "checksum": "sha256-euO6TKAAbDXhTDSpMP2Yj5g3XRNYFI1gw8EQc3DP+fU=" + } + }, + { + "name": "curl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/curl-8.3.0-r1.apk", + "version": "8.3.0-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-EGFEtDC8+QW/SWoH4dM7XBoEikQ=" + }, + "control": { + "range": "bytes=665-1230", + "checksum": "sha1-JkQSBN+ufF+UEhla4UH/W6dv44c=" + }, + "data": { + "range": "bytes=1231-278528", + "checksum": "sha256-fWgLj+mcwF8vRpcPkDuodbtt0czTXMtVmJ0wUTz+laM=" + } + }, + { + "name": "libmnl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libmnl-1.0.5-r2.apk", + "version": "1.0.5-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-QVFWBvanA4vCXcquijtwJJUq6NM=" + }, + "control": { + "range": "bytes=666-1244", + "checksum": "sha1-JQiZbwsFl8cGYLgrCAUt4K4vl7M=" + }, + "data": { + "range": "bytes=1245-81920", + "checksum": "sha256-xzNocZTsZvA4S4c16ZBTqBs+xkgzIzILlf/II4iOf+k=" + } + }, + { + "name": "ethtool", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/ethtool-6.5-r0.apk", + "version": "6.5-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-BScgWOW4/t8KmRHbdLwH8q75Sb0=" + }, + "control": { + "range": "bytes=663-1266", + "checksum": "sha1-4sldiAiSoaV8aT+LifEGZFlzdI0=" + }, + "data": { + "range": "bytes=1267-606208", + "checksum": "sha256-ND+Ev4p9ZqFbD1exzNe4/nn7Nf0AGRo9nOKZomnwFrA=" + } + }, + { + "name": "libexpat", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libexpat-2.5.0-r2.apk", + "version": "2.5.0-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-AXoinK2z2TiLkXmXBF39n6c/vck=" + }, + "control": { + "range": "bytes=663-1235", + "checksum": "sha1-FyC6nimAwGM1Qm9Ukcb8ClTiq10=" + }, + "data": { + "range": "bytes=1236-212992", + "checksum": "sha256-7E1u5KMVdjRa3h9E9R8EWOseXRk+GQHdBEPoqor+cbc=" + } + }, + { + "name": "pcre2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/pcre2-10.42-r1.apk", + "version": "10.42-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-xUtNbJMsRI0Q0UGsjz/KMdByuVw=" + }, + "control": { + "range": "bytes=665-1248", + "checksum": "sha1-q1L2e3+3fzHkN/u/FPtLzgQ5c3Y=" + }, + "data": { + "range": "bytes=1249-675840", + "checksum": "sha256-JjOvh64DnIFHCXGXf8yEtC5vqXfoCnR5IAyXJ0oZP50=" + } + }, + { + "name": "git", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/git-2.42.0-r0.apk", + "version": "2.42.0-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-jkAKunWThTWWZtXzRFQC9BGJVWI=" + }, + "control": { + "range": "bytes=665-1284", + "checksum": "sha1-TI9v4JclUFWRvZgM45F9BEQC0y0=" + }, + "data": { + "range": "bytes=1285-6631424", + "checksum": "sha256-u5h4W5YD43w9dlDQEPldWErpcYva5iHPMYNbb8d2wu0=" + } + }, + { + "name": "oniguruma", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/oniguruma-6.9.8-r1.apk", + "version": "6.9.8-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-mBa5id98tRAFBZDKdN67iwh9roQ=" + }, + "control": { + "range": "bytes=666-1238", + "checksum": "sha1-A7BmWOZhrShTrsjVJLxE6qYGJ1g=" + }, + "data": { + "range": "bytes=1239-630784", + "checksum": "sha256-9aWMrica+8G9mtgs2s9KZb39KbfvaXuRwoSsBUSKulc=" + } + }, + { + "name": "jq", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/jq-1.7-r1.apk", + "version": "1.7-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-xXbFpmM5kFdQgF2tF5/MwnvXQS0=" + }, + "control": { + "range": "bytes=666-1266", + "checksum": "sha1-W0SSZr+VoFBocT6/ypdVXNdZgCw=" + }, + "data": { + "range": "bytes=1267-679936", + "checksum": "sha256-fwH6w1quXH/lxOISmCjW5QznrmL5oLQYOPeshic5KHA=" + } + }, + { + "name": "ncurses-terminfo-base", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/ncurses-terminfo-base-6.4_p20230918-r0.apk", + "version": "6.4_p20230918-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-lnOWV49TG9icw+JsIjHjrWXb6Do=" + }, + "control": { + "range": "bytes=666-1204", + "checksum": "sha1-t5RYzQ+damV2s5gl9CRFOzAg1B8=" + }, + "data": { + "range": "bytes=1205-221184", + "checksum": "sha256-+Uh7UUB2YJFuzNyUp/hlWM4QHvMs0mLARbYSaDGY4tg=" + } + }, + { + "name": "libncursesw", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libncursesw-6.4_p20230918-r0.apk", + "version": "6.4_p20230918-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-DNjpAWTxtgwfMdnL8EuPziE9+sE=" + }, + "control": { + "range": "bytes=667-1257", + "checksum": "sha1-pcNYR8gJQ0sbMv90nAHyqgaS++o=" + }, + "data": { + "range": "bytes=1258-409600", + "checksum": "sha256-wrErcm8SpKjbpzN4zX6sH5ifzuFwYWCmms5j9eem7gc=" + } + }, + { + "name": "less", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/less-643-r1.apk", + "version": "643-r1", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-W4+YAR7RrpKTEfeoxiFWCwGSc/s=" + }, + "control": { + "range": "bytes=665-1262", + "checksum": "sha1-mdK6yaeUbs8ysPOZyPlwoUuauOs=" + }, + "data": { + "range": "bytes=1263-368640", + "checksum": "sha256-cgl1JicVLVNIyVvQvlZ40B82D244g+tGgVpJfSr1tcQ=" + } + }, + { + "name": "musl-obstack", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/musl-obstack-1.2.3-r2.apk", + "version": "1.2.3-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-tUx53sJwKGu5dFS1S4eyZE+V/CU=" + }, + "control": { + "range": "bytes=663-1255", + "checksum": "sha1-zP61PCnxJII3zfQbkTRlwFnrJsA=" + }, + "data": { + "range": "bytes=1256-81920", + "checksum": "sha256-930v2Z4kyen1e3+YJ8952tHUuXWC56m0c0EFMtA2Crc=" + } + }, + { + "name": "libucontext", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libucontext-1.2-r2.apk", + "version": "1.2-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-Wbc7dydSLzf4gBUmmxAaLFk7RII=" + }, + "control": { + "range": "bytes=666-1246", + "checksum": "sha1-SujvfarP2t90n2+6SeDGN7nv7Og=" + }, + "data": { + "range": "bytes=1247-147456", + "checksum": "sha256-4UuDMTZABlya/twt0biTxJmmEgFXkyOkZUYTO3ShTQM=" + } + }, + { + "name": "gcompat", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/gcompat-1.1.0-r4.apk", + "version": "1.1.0-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-Z2/TdevUenXjLzZgEWQb7ma14zc=" + }, + "control": { + "range": "bytes=666-1280", + "checksum": "sha1-vd84iRbIP5YkR3N5nF5v4pkqq7A=" + }, + "data": { + "range": "bytes=1281-151552", + "checksum": "sha256-yzVVfE4EULM2Oy82X4jOFmdxK7iOx5ihcqgAKcvQbz8=" + } + }, + { + "name": "openssh-keygen", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-keygen-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-eVCMuje7nIrybt6PsV9V1roJpe4=" + }, + "control": { + "range": "bytes=666-1265", + "checksum": "sha1-HeRiewQxizguvvo6YPViTLJpPsA=" + }, + "data": { + "range": "bytes=1266-671744", + "checksum": "sha256-pVGVkkOSzcw+1zmNrvAZ60R3PBL+vvsPsZgcWXwSRUU=" + } + }, + { + "name": "libedit", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/libedit-20230828.3.1-r3.apk", + "version": "20230828.3.1-r3", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-GtKpy5IpMoCk3EVf1kQJcNdvwo0=" + }, + "control": { + "range": "bytes=666-1239", + "checksum": "sha1-YNHGo/OQMg0hEvhA9617OqlOb6Q=" + }, + "data": { + "range": "bytes=1240-278528", + "checksum": "sha256-XGTZv4F39as8HpitzLKqUrqMYYz0/4AphGVLJy/ND/E=" + } + }, + { + "name": "openssh-client-common", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-client-common-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-sT3O6UR/8N3apErsHhE9Tm/KRXg=" + }, + "control": { + "range": "bytes=663-1327", + "checksum": "sha1-x5iJvjtRj0tUFO1Sbrdqq3iCm6A=" + }, + "data": { + "range": "bytes=1328-3239936", + "checksum": "sha256-Bm1S9lohZ6JAlcXnCuHXV+WpXdinT3L2ovgE4dEccFs=" + } + }, + { + "name": "openssh-client-default", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-client-default-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-Di48PDwK+itBtxaQrEkaBCW9rXc=" + }, + "control": { + "range": "bytes=667-1297", + "checksum": "sha1-8Y9lVEWWExnSo+jzRk3E3l6ewaw=" + }, + "data": { + "range": "bytes=1298-999424", + "checksum": "sha256-5u16CpnYcvkXk8j8CYN//BMd1TAC52/Ida3C2snjXFs=" + } + }, + { + "name": "openssh-sftp-server", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-sftp-server-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-668", + "checksum": "sha1-+QY5n/oUXqw/WK9E+yCBR4pdSq4=" + }, + "control": { + "range": "bytes=669-1221", + "checksum": "sha1-DVgNB1RLzQW43dzFI4e2P97Bpic=" + }, + "data": { + "range": "bytes=1222-217088", + "checksum": "sha256-u1LHPUM+TXqZEg1gQzlGrCrKLZaW+L09V9K+mk/414o=" + } + }, + { + "name": "openssh-server-common", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-server-common-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-S1AluX+YZTL0EL6GrHn5uV8XhPc=" + }, + "control": { + "range": "bytes=667-1206", + "checksum": "sha1-zX0HX6iJD2L4QDkcuep/m8hydjo=" + }, + "data": { + "range": "bytes=1207-20480", + "checksum": "sha256-BzoAOoyKyegveRwGDizwV65jwyK+qCxh3dP8XHLM2yQ=" + } + }, + { + "name": "openssh-server", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-server-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-x2DsxbY/yGQDCIFmWLXny2k4z+o=" + }, + "control": { + "range": "bytes=665-1257", + "checksum": "sha1-XWp69XGtHQAErlcMzIFlkxehgdA=" + }, + "data": { + "range": "bytes=1258-1064960", + "checksum": "sha256-LXr5n02UsfI0Y+Vpkghnf0BWrfys+MKlYOhfHzd/vP0=" + } + }, + { + "name": "openssh", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssh-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-iXpZyjTwLMej/iWNc+cunyafCEU=" + }, + "control": { + "range": "bytes=665-1255", + "checksum": "sha1-OE+eDQo2lw1bn/1Jmhs2WGZsS9k=" + }, + "data": { + "range": "bytes=1256-491520", + "checksum": "sha256-M/KFzKj4fFIhEljT1AXymkvgd/XB8CyNtehJCKqXr6Q=" + } + }, + { + "name": "openssl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/openssl-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-qpEpaFN9cDePzdcNpSak7qbSSek=" + }, + "control": { + "range": "bytes=666-1282", + "checksum": "sha1-EZw1z48yajZWq7pz3DL2mu/Zo1M=" + }, + "data": { + "range": "bytes=1283-905216", + "checksum": "sha256-kMgJNDgQ5IJBu2z0IAdgpuhV6kinPLVRQyAPy3YLkjU=" + } + }, + { + "name": "unzip", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/aarch64/unzip-6.0-r14.apk", + "version": "6.0-r14", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-PjQz6q0GQdn7b9KRWV3L5zBSXmk=" + }, + "control": { + "range": "bytes=666-1264", + "checksum": "sha1-hHOACMAIHiD+WGwQPb7mTjqk8ls=" + }, + "data": { + "range": "bytes=1265-421888", + "checksum": "sha256-tsARnoKgO0QLK8wayZ3KvQaERtXhPiq0gi5GylUbzEs=" + } + }, + { + "name": "musl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/musl-1.2.4_git20230717-r2.apk", + "version": "1.2.4_git20230717-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-ANg2OFHCs6IsHHmIoXifycdNICo=" + }, + "control": { + "range": "bytes=664-1230", + "checksum": "sha1-0QcZQhy2GxzaRF4Kip4NVG0pgrc=" + }, + "data": { + "range": "bytes=1231-667648", + "checksum": "sha256-BEDUjs8id32t4l9xhzFKSVDrEOOuxHeKIAjyg/cmIE8=" + } + }, + { + "name": "busybox", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/busybox-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-668", + "checksum": "sha1-pSFhEF15QuR0fTfB4gsrKiR9mGE=" + }, + "control": { + "range": "bytes=669-2302", + "checksum": "sha1-yUyBAl1hksZXxUYlinKcmpP25Mg=" + }, + "data": { + "range": "bytes=2303-946176", + "checksum": "sha256-Zs0o1FRREtYAGgLCGNlYeePF3JMce+XMufu7XMhRoyU=" + } + }, + { + "name": "busybox-binsh", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/busybox-binsh-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-yxFnMhRyKkDqvArqfuN2Y/TXmLU=" + }, + "control": { + "range": "bytes=664-1254", + "checksum": "sha1-y+876ecCKpKTjsX0hS1BIKxfzcQ=" + }, + "data": { + "range": "bytes=1255-8192", + "checksum": "sha256-hfMPdcEc1N8glTxg5RvyQjb9fYT3RcP6OXdilm1auew=" + } + }, + { + "name": "libcrypto3", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-YX+LgPHr1QvqzVeo00pzh0N+pz8=" + }, + "control": { + "range": "bytes=665-1237", + "checksum": "sha1-ZEQ/Swd09lSmHKO9p2+zwUXRQaU=" + }, + "data": { + "range": "bytes=1238-4608000", + "checksum": "sha256-PFzquilmu/3ENM3aAyWOZmjBzRfO+R7dXDMbr0HIZK0=" + } + }, + { + "name": "ca-certificates", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/ca-certificates-20230506-r0.apk", + "version": "20230506-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-MnzTkHZE1VZCbJ0+yO/fr7VjD8g=" + }, + "control": { + "range": "bytes=667-1574", + "checksum": "sha1-+uveAQeeWLy7IxxTdy5KAAutdQw=" + }, + "data": { + "range": "bytes=1575-704512", + "checksum": "sha256-ctYgZXWrTc4HQ/rjb1M1k2GYfO5/L8AQro55dEYuk4o=" + } + }, + { + "name": "libmagic", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libmagic-5.45-r1.apk", + "version": "5.45-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-Y7E7cCRHTUITWjx73VdXfTuUdgQ=" + }, + "control": { + "range": "bytes=663-1241", + "checksum": "sha1-34ALZ/Y+f6juXy//QDqh/MEeylA=" + }, + "data": { + "range": "bytes=1242-8667136", + "checksum": "sha256-7UOEqpfwvq9Rgx5GMP3Xslf4FH8mu0qsqLxDTZ8Zz+w=" + } + }, + { + "name": "file", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/file-5.45-r1.apk", + "version": "5.45-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-TgFrwxRX5L4y9S+OEUz1aVFB90w=" + }, + "control": { + "range": "bytes=664-1240", + "checksum": "sha1-1+TftWmPKud22iOxtUHJPGKbkwA=" + }, + "data": { + "range": "bytes=1241-45056", + "checksum": "sha256-S+suzhR/v9Gx+j0smILUOtQByHiuPkQ3fEXXGGCGP6s=" + } + }, + { + "name": "bzip2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/bzip2-1.0.8-r6.apk", + "version": "1.0.8-r6", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-P67oLjpMRJNMrayXx4q2Gl+76Ng=" + }, + "control": { + "range": "bytes=664-1277", + "checksum": "sha1-KKvV9vd5o4u2wVOlyo1Fzut2BxI=" + }, + "data": { + "range": "bytes=1278-339968", + "checksum": "sha256-cHfSeV/APP7lcD9JZOgqDMlIbBhmLCm52H22WvhsMig=" + } + }, + { + "name": "libbz2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libbz2-1.0.8-r6.apk", + "version": "1.0.8-r6", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-hpnPXaGPm2DMu4/WvuiMSybIXEM=" + }, + "control": { + "range": "bytes=666-1223", + "checksum": "sha1-qyKCdp/o4nO8dx8icoZMk9bJDc0=" + }, + "data": { + "range": "bytes=1224-90112", + "checksum": "sha256-Mk9dHzeS6VvIVwmzD3d+qNJ2V98H+RnPYF31Ber329Y=" + } + }, + { + "name": "libcap2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libcap2-2.69-r1.apk", + "version": "2.69-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-Bd6Tqdb8bdPbmO0bR3C/XKxLOxU=" + }, + "control": { + "range": "bytes=665-1280", + "checksum": "sha1-cywvJAUrMCU2omdoUqGqtfH+5mQ=" + }, + "data": { + "range": "bytes=1281-73728", + "checksum": "sha256-C4aJqzuMt6c6rvl0yMyOqKs4nVfl4ZTqpp80ugkpOt4=" + } + }, + { + "name": "zlib", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/zlib-1.3-r0.apk", + "version": "1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-mAWk+xBjBT417iizUU/qsJFibcg=" + }, + "control": { + "range": "bytes=666-1214", + "checksum": "sha1-UyU/FOShjX2c7vV6LrJJqHoEww4=" + }, + "data": { + "range": "bytes=1215-110592", + "checksum": "sha256-F/PCJowznw2vgmZQGOtIYEZ6N0FSXQhGcm9YOFfuUQw=" + } + }, + { + "name": "cdrkit", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/cdrkit-1.1.11-r6.apk", + "version": "1.1.11-r6", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-PcaIcvtCYH3YmMKt9HnGV2S+4+Y=" + }, + "control": { + "range": "bytes=666-1411", + "checksum": "sha1-DxC8qRwPAlKzaSvOjYQWRpNIekg=" + }, + "data": { + "range": "bytes=1412-2392064", + "checksum": "sha256-jqEOsCHVJ3Y9igFdkTKFvuLtuhej/hv8oKzOBH1WoR4=" + } + }, + { + "name": "brotli-libs", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/brotli-libs-1.0.9-r15.apk", + "version": "1.0.9-r15", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-FhcKAmLTgKlcqgcKO5TkX/b8J6I=" + }, + "control": { + "range": "bytes=664-1249", + "checksum": "sha1-iq6bqx7oAWJawxb8RdSwMX+WWL0=" + }, + "data": { + "range": "bytes=1250-798720", + "checksum": "sha256-fQT9EL7gHla1JMODqxySS8blrP2LIadzoR4HrzmEmm8=" + } + }, + { + "name": "c-ares", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/c-ares-1.19.1-r1.apk", + "version": "1.19.1-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-FHDQSb6PJRyJi9fKvBN4jpouMac=" + }, + "control": { + "range": "bytes=663-1225", + "checksum": "sha1-y3ungrV5E2msiuKoPMfuRwS/vvA=" + }, + "data": { + "range": "bytes=1226-98304", + "checksum": "sha256-5hQ5CgJkoPN+5pq0ZlGrVeqiX8YnU1YQSSODRAxZUiE=" + } + }, + { + "name": "libunistring", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libunistring-1.1-r2.apk", + "version": "1.1-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-cTUIglMFCL+O8Sb/UkXmYpobuJI=" + }, + "control": { + "range": "bytes=665-1262", + "checksum": "sha1-YbcBtv9bd3AK9R2s7uqTLAvH0CY=" + }, + "data": { + "range": "bytes=1263-1708032", + "checksum": "sha256-4FbUuvCuMqNXarZ5XcrSYTtqgm0t8zOBgakMR3lXq4E=" + } + }, + { + "name": "libidn2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libidn2-2.3.4-r4.apk", + "version": "2.3.4-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-sralOXk1Hd0O1ByUYQk4VM3HrWs=" + }, + "control": { + "range": "bytes=666-1280", + "checksum": "sha1-dquGXF1eiNQStvQWvGoNcFguZ50=" + }, + "data": { + "range": "bytes=1281-212992", + "checksum": "sha256-n0xMTorhbuzFattyq/XF3twqMVx/aCtWEFWxacjhvYk=" + } + }, + { + "name": "nghttp2-libs", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/nghttp2-libs-1.56.0-r0.apk", + "version": "1.56.0-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-hBzJORzgmMwJbueuvHDBY6BWRYU=" + }, + "control": { + "range": "bytes=664-1241", + "checksum": "sha1-96RV+QJ6O55uBA+hPm/PDhDY4Qw=" + }, + "data": { + "range": "bytes=1242-151552", + "checksum": "sha256-aYxgpX4w+hOnlj4Ns0SYmU66CxsChXxtg5m3VFg3u9A=" + } + }, + { + "name": "libssl3", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-ab/TJ79DE7iDWNoNoSK/1mt02W8=" + }, + "control": { + "range": "bytes=666-1243", + "checksum": "sha1-6LeqCCjz4yc+gg1vMMOToRITVIg=" + }, + "data": { + "range": "bytes=1244-561152", + "checksum": "sha256-erTc3H0/1RMPM4KfmabUgFUcZxpNlSP4dhvuIvcpJEw=" + } + }, + { + "name": "libcurl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libcurl-8.3.0-r1.apk", + "version": "8.3.0-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-661", + "checksum": "sha1-eEbQNKYmNA9rJM5074aw4JgEomA=" + }, + "control": { + "range": "bytes=662-1279", + "checksum": "sha1-J5C9EszCPx2AqGklz5N1a9XYFr0=" + }, + "data": { + "range": "bytes=1280-589824", + "checksum": "sha256-Hq74ZgZIoP13cTr4nTGq0AVP++xtxq4mO5uEWQcp2CM=" + } + }, + { + "name": "ssl_client", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/ssl_client-1.36.1-r8.apk", + "version": "1.36.1-r8", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-eLEQ6ZwLvec60lF/fotKdDXjcO8=" + }, + "control": { + "range": "bytes=667-1296", + "checksum": "sha1-Ba91uoRwrhBkvhzxUq0hqXUKw54=" + }, + "data": { + "range": "bytes=1297-28672", + "checksum": "sha256-R9W1ut1Th13Bq/zyJX9yFrBwYR3j6bkvujOvMIo6JGs=" + } + }, + { + "name": "curl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/curl-8.3.0-r1.apk", + "version": "8.3.0-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-661", + "checksum": "sha1-7M6+duRjf8Q/5+cyX+rAfg6bxwE=" + }, + "control": { + "range": "bytes=662-1227", + "checksum": "sha1-azc7xyQfC2FA24MEGYek90fmClc=" + }, + "data": { + "range": "bytes=1228-249856", + "checksum": "sha256-Novw0EBTFa39ndniKGF8e/J9PUlWPDDQPz20m1tA6qc=" + } + }, + { + "name": "libmnl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libmnl-1.0.5-r2.apk", + "version": "1.0.5-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-660", + "checksum": "sha1-yyDMDrbQQf73c2P7FJJRfsyqFOY=" + }, + "control": { + "range": "bytes=661-1241", + "checksum": "sha1-NqDyLUl7k8ND7qAmQORX5Vax9/o=" + }, + "data": { + "range": "bytes=1242-40960", + "checksum": "sha256-6rtbXFvHI+XH/8TwzrIK8Fp8bjV1XGcXAWx9L8x/MYQ=" + } + }, + { + "name": "ethtool", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/ethtool-6.5-r0.apk", + "version": "6.5-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-EdSWPeOJ/wO6vOBs3gv/UiQ4j5c=" + }, + "control": { + "range": "bytes=667-1273", + "checksum": "sha1-Yz4XOjG5+USp6dNjzSw2xCGPQsk=" + }, + "data": { + "range": "bytes=1274-503808", + "checksum": "sha256-WGc6rr4tRvbYwaGVY5KNrwtBVKsCjs5wU+MJ65AqnWw=" + } + }, + { + "name": "libexpat", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libexpat-2.5.0-r2.apk", + "version": "2.5.0-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-n0vE4cXGVEQGpFLaUlEFjlBnCSs=" + }, + "control": { + "range": "bytes=667-1240", + "checksum": "sha1-mv0QW0qdKn/lCvZPl+Lyejzj8Ys=" + }, + "data": { + "range": "bytes=1241-147456", + "checksum": "sha256-kyAkJF2AM8lWKLepjlR6wk5ZffbnvaHJrJ3c7ftKIWQ=" + } + }, + { + "name": "pcre2", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/pcre2-10.42-r1.apk", + "version": "10.42-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-JPBjkbakBHdpVpiF8PuHm038g3k=" + }, + "control": { + "range": "bytes=665-1253", + "checksum": "sha1-u6HRcxbnXAb9OtuAPHz/Tcbqhxw=" + }, + "data": { + "range": "bytes=1254-692224", + "checksum": "sha256-N21s1SOI2yTaxFUQkaOwUIpRvr03PDT+hWRN7SH/O8Y=" + } + }, + { + "name": "git", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/git-2.42.0-r0.apk", + "version": "2.42.0-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-Ad724GJC9yRzPjq10fnJw6YNJRw=" + }, + "control": { + "range": "bytes=664-1283", + "checksum": "sha1-Cw1rO00H+nfeFTR1kH4N6Q5HC28=" + }, + "data": { + "range": "bytes=1284-6164480", + "checksum": "sha256-j98bf9+iEtgvZ+jGqB+QPKwQCUFkz2O6ICAIgY3awx4=" + } + }, + { + "name": "oniguruma", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/oniguruma-6.9.8-r1.apk", + "version": "6.9.8-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-Gqw4Ju7vp6DBSzpw/u7w/I+SHkM=" + }, + "control": { + "range": "bytes=666-1240", + "checksum": "sha1-oWmBBiL4eggPH6lPPhcC59oKuMQ=" + }, + "data": { + "range": "bytes=1241-557056", + "checksum": "sha256-AqX38nTMOCaRdMgp5oM3Sq6QlzBt8s4Nrdg9gDKAbsc=" + } + }, + { + "name": "jq", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/jq-1.7-r1.apk", + "version": "1.7-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-yStBf2MS1wllpBE1fE8vu6ly79w=" + }, + "control": { + "range": "bytes=663-1267", + "checksum": "sha1-DdhYw5SjplVJKD0iEfmYDfzHfqI=" + }, + "data": { + "range": "bytes=1268-651264", + "checksum": "sha256-20Fb/RsDGjfE1jYTT354zKr/znd2koHN9mlUyjI646Q=" + } + }, + { + "name": "ncurses-terminfo-base", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/ncurses-terminfo-base-6.4_p20230918-r0.apk", + "version": "6.4_p20230918-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-tfiH7EGW/XaUB59H6EWbUyEPcFQ=" + }, + "control": { + "range": "bytes=664-1202", + "checksum": "sha1-GC04dLkYIT+xdaa+risiVYglvHk=" + }, + "data": { + "range": "bytes=1203-221184", + "checksum": "sha256-AalqDJ3jivpcVDpE/dEfO9TKgVRaeRbsZLPijlBaSnY=" + } + }, + { + "name": "libncursesw", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libncursesw-6.4_p20230918-r0.apk", + "version": "6.4_p20230918-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-5F5Bt2p6L0pL+IoRPRdUHuWJsVY=" + }, + "control": { + "range": "bytes=665-1257", + "checksum": "sha1-uL1VdnxBXwSk0jy4QWda+v6w024=" + }, + "data": { + "range": "bytes=1258-352256", + "checksum": "sha256-OruV/1oKpNSmY9QpQfxrtKuUYCTWW3k+BCswdhu5oLA=" + } + }, + { + "name": "less", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/less-643-r1.apk", + "version": "643-r1", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-gTD+TVbyXlns3FsrNgF5XMq6YlI=" + }, + "control": { + "range": "bytes=666-1267", + "checksum": "sha1-jUg3NsV97MAsWb2j6QRK1ogaIHE=" + }, + "data": { + "range": "bytes=1268-221184", + "checksum": "sha256-qMbeDoc+JeeNNaEc96YWuJ9Hh8eiipuPDhZVzXtR95A=" + } + }, + { + "name": "musl-obstack", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/musl-obstack-1.2.3-r2.apk", + "version": "1.2.3-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-ZZinq9Kt5A7btL70WNINlOyMdwk=" + }, + "control": { + "range": "bytes=665-1259", + "checksum": "sha1-3bhmn6hmA9pXwDrXNpExU4LJL6A=" + }, + "data": { + "range": "bytes=1260-28672", + "checksum": "sha256-l0WOI/SyZ4smtSOMRP6HCOC9M8Hr7XGV9VfaukS1NrQ=" + } + }, + { + "name": "libucontext", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libucontext-1.2-r2.apk", + "version": "1.2-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-EQqWvel6ikS+p2JBc+M3QCIQcmE=" + }, + "control": { + "range": "bytes=665-1245", + "checksum": "sha1-KGSOy6LYcu0n9RQPDEouNJZTUDU=" + }, + "data": { + "range": "bytes=1246-40960", + "checksum": "sha256-2q5eSSJawHBfn89LrRkEGLVgdyA25SryCUYcUL2G9Mg=" + } + }, + { + "name": "gcompat", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/gcompat-1.1.0-r4.apk", + "version": "1.1.0-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-666", + "checksum": "sha1-voGpgzIcZD2nuJgWihRThavv9JM=" + }, + "control": { + "range": "bytes=667-1289", + "checksum": "sha1-F+WycXm/+x7Bo0p727l8EyFMfIY=" + }, + "data": { + "range": "bytes=1290-106496", + "checksum": "sha256-E3YVZobU2LhlnSwZL3JzOyEhI4Xl8/+N7yScR2kZ1bs=" + } + }, + { + "name": "openssh-keygen", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-keygen-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-XEtrOKN9mkofLEipfjf5IWrI33s=" + }, + "control": { + "range": "bytes=666-1268", + "checksum": "sha1-MWEYe8T8yaaqjvqoELLoDhx0n64=" + }, + "data": { + "range": "bytes=1269-569344", + "checksum": "sha256-XIPx1STJ9WXnnEkjbDLgNSQzXKhGEm/NFuSRTum6Z3s=" + } + }, + { + "name": "libedit", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/libedit-20230828.3.1-r3.apk", + "version": "20230828.3.1-r3", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-8dF+8Jwir24o2+uShKak3egU28o=" + }, + "control": { + "range": "bytes=664-1240", + "checksum": "sha1-PJw71Y+3fzlgURO0wAusbk9SFe8=" + }, + "data": { + "range": "bytes=1241-192512", + "checksum": "sha256-Ig1n9UQoSArFheGsmHT1O12MDroFMWsMsjkopgaT29w=" + } + }, + { + "name": "openssh-client-common", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-client-common-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-dWbtgDA+gtCjsx8QdQ4e8Uqcmsw=" + }, + "control": { + "range": "bytes=665-1332", + "checksum": "sha1-AE3gmDvuVDPBR8whbsG/K0gA75E=" + }, + "data": { + "range": "bytes=1333-2895872", + "checksum": "sha256-xQECChj4UW+TX3Qiwv7ejjmjfEIlEh6g2IICV5qxZeU=" + } + }, + { + "name": "openssh-client-default", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-client-default-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-JMw5ErCnLO/tFVHrF8q6CTfOESw=" + }, + "control": { + "range": "bytes=665-1296", + "checksum": "sha1-rwjA9HewojKmVgYsrKyRqK9Ru20=" + }, + "data": { + "range": "bytes=1297-925696", + "checksum": "sha256-4XiY4DpsedWAF0sSj0AZ+AkvI5eIdl72rcKw1BMaGKQ=" + } + }, + { + "name": "openssh-sftp-server", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-sftp-server-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-HMBOoMk4nKc70XGdWg6URQuMk3s=" + }, + "control": { + "range": "bytes=666-1220", + "checksum": "sha1-G2bNvQvUPZZes2UyZQ7x7es3npg=" + }, + "data": { + "range": "bytes=1221-184320", + "checksum": "sha256-j1ir71U1iurnaZeqtNOSX1JFsZxspO7/bYk6NOynDp8=" + } + }, + { + "name": "openssh-server-common", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-server-common-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-665", + "checksum": "sha1-J4t+aaO2o8Nau34drAEZ3zInhkI=" + }, + "control": { + "range": "bytes=666-1205", + "checksum": "sha1-pIDGcQsNPdaw9cajM531Wj+UcJs=" + }, + "data": { + "range": "bytes=1206-20480", + "checksum": "sha256-BzoAOoyKyegveRwGDizwV65jwyK+qCxh3dP8XHLM2yQ=" + } + }, + { + "name": "openssh-server", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-server-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-nWAA/rsU0I743jLbgr2aEZLeytE=" + }, + "control": { + "range": "bytes=664-1258", + "checksum": "sha1-ETkBu+oBBdGG+a7naEOpSUNFqBE=" + }, + "data": { + "range": "bytes=1259-983040", + "checksum": "sha256-DolFa7K+AS1AJZ/07hSoazh2DLyLaxYff/YW+S6T+eA=" + } + }, + { + "name": "openssh", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssh-9.4_p1-r0.apk", + "version": "9.4_p1-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-668", + "checksum": "sha1-DhHvH9TzlKiWQsN2GrFNq53/OJU=" + }, + "control": { + "range": "bytes=669-1259", + "checksum": "sha1-OIh2Qq0SMm8MHXo35mJ21Jaajfw=" + }, + "data": { + "range": "bytes=1260-425984", + "checksum": "sha256-qvYxE6iwgo2aZm+Uddb5SYPu2hJs5qbPH0rDN3o67V4=" + } + }, + { + "name": "openssl", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/openssl-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-663", + "checksum": "sha1-/9uKAcsGOwpKfE3JY/eKmGdcchw=" + }, + "control": { + "range": "bytes=664-1280", + "checksum": "sha1-3wG4znekUe6psNerK6yQ0rx6xR8=" + }, + "data": { + "range": "bytes=1281-749568", + "checksum": "sha256-txbi6HAgTaRwlLccqXsA28vMJ7fZX2Fh0oXYs3Hnkto=" + } + }, + { + "name": "unzip", + "url": "https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/unzip-6.0-r14.apk", + "version": "6.0-r14", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-664", + "checksum": "sha1-nn5gt5HpCjfRUBct0xAA/PITZoQ=" + }, + "control": { + "range": "bytes=665-1267", + "checksum": "sha1-HiJ8SNd0LkBvaxF/xXH0MfjjrXY=" + }, + "data": { + "range": "bytes=1268-327680", + "checksum": "sha256-Pzc+g+JW6jS7akg/ZGrJJy6zTxJzRL9C5M87ZwnU7bk=" + } + } + ] + } +} \ No newline at end of file diff --git a/examples/multi_arch_and_repo/test.yaml b/examples/multi_arch_and_repo/test.yaml index 5ab4b09..a1ee72a 100644 --- a/examples/multi_arch_and_repo/test.yaml +++ b/examples/multi_arch_and_repo/test.yaml @@ -4,7 +4,7 @@ commandTests: command: "curl" args: ["--version"] expectedOutput: - - curl 8.2.1 + - curl 8.3.0 - "Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss" - "Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets" - name: "os-release" diff --git a/examples/oci/apko.lock.json b/examples/oci/apko.resolved.json old mode 100644 new mode 100755 similarity index 63% rename from examples/oci/apko.lock.json rename to examples/oci/apko.resolved.json index ca8b4ea..6388a75 --- a/examples/oci/apko.lock.json +++ b/examples/oci/apko.resolved.json @@ -1,529 +1,529 @@ { - "version": "6", + "version": "v1", "contents": { "keyring": [ { - "name": "packages.wolfi.dev/os", + "name": "packages.wolfi.dev/os/wolfi-signing.rsa.pub", "url": "https://packages.wolfi.dev/os/wolfi-signing.rsa.pub" } ], "repositories": [ - { - "name": "packages.wolfi.dev/os/x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/APKINDEX.tar.gz", - "architecture": "x86_64" - }, { "name": "packages.wolfi.dev/os/aarch64", "url": "https://packages.wolfi.dev/os/aarch64/APKINDEX.tar.gz", "architecture": "aarch64" + }, + { + "name": "packages.wolfi.dev/os/x86_64", + "url": "https://packages.wolfi.dev/os/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" } ], "packages": [ { - "name": "libcrypto3", - "version": "3.1.2-r0", + "name": "ca-certificates-bundle", + "url": "https://packages.wolfi.dev/os/aarch64/ca-certificates-bundle-20230506-r0.apk", + "version": "20230506-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/libcrypto3-3.1.2-r0.apk", "signature": { - "range": "bytes=0-699", - "checksum": "sha256-nOcET53r3nrjusQyXg6edCikJhAODIKEk6oYFmZxvUU=" + "range": "bytes=0-647", + "checksum": "sha1-s9/tr3z/dZPicv1OVKz31ysaJQE=" }, "control": { - "range": "bytes=700-1085", - "checksum": "sha1-+3nAt7RyKFTBjexHkaBwDrv+Z6I=" + "range": "bytes=648-935", + "checksum": "sha1-N1RG8Ckcg5B0Nlp6kS26dA5WFwY=" }, "data": { - "range": "bytes=1086-", - "checksum": "sha256-FNf00Z0//J5UOybBlveK6703A5hnKFfszk1FWvNitNk=" + "range": "bytes=936-249592", + "checksum": "sha256-JounDEIr83QfxnDYPBhlTQylRA7HgcBlgABrHYkIyMk=" } }, { - "name": "apk-tools", - "version": "2.14.0-r0", + "name": "wolfi-baselayout", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-baselayout-20230201-r6.apk", + "version": "20230201-r6", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/apk-tools-2.14.0-r0.apk", "signature": { - "range": "bytes=0-657", - "checksum": "sha256-5iLdt0Jfkb2YWUgWbLu8FDtBlFxG7pgjl4Tndy1pyFc=" + "range": "bytes=0-698", + "checksum": "sha1-7pyg3ZZyuqiKYxS+nOTx8KoRV+8=" }, "control": { - "range": "bytes=658-1090", - "checksum": "sha1-I3OAi6ke9HMmxkiab+4MuJQmdUQ=" + "range": "bytes=699-1046", + "checksum": "sha1-1IRhQ5Af8EsskNGI41B61PJKEmQ=" }, "data": { - "range": "bytes=1091-", - "checksum": "sha256-VH73KhNt/1S0ukNpkqJq6f73nHK06O7MsAwsZFlUglI=" + "range": "bytes=1047-125392", + "checksum": "sha256-8ugMC+WWnVs2LDEgnIjgFy489tBWgjsJGRnK85brHok=" } }, { - "name": "glibc-locale-posix", - "version": "2.38-r1", + "name": "ld-linux", + "url": "https://packages.wolfi.dev/os/aarch64/ld-linux-2.38-r4.apk", + "version": "2.38-r4", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/glibc-locale-posix-2.38-r1.apk", "signature": { - "range": "bytes=0-698", - "checksum": "sha256-xwsrTNzztevfLTehhdQwfFuHAkgArdyiC+PmHicka1U=" + "range": "bytes=0-701", + "checksum": "sha1-VrQHL4/4WkESJJKGwzo4W69SiZU=" }, "control": { - "range": "bytes=699-1039", - "checksum": "sha1-4gutsH8p4w9Z2Xhac68QZCMllJE=" + "range": "bytes=702-1082", + "checksum": "sha1-fEjlH2UibUBTtkWQySgs981a97c=" }, "data": { - "range": "bytes=1040-", - "checksum": "sha256-RqW+DOBPCv5QxiSOGhxl/YkSHnW/kxPlN9zGPZ8TRUk=" + "range": "bytes=1083-265292", + "checksum": "sha256-FW5sUim5xjh4g8t62SFOckOCRLggW3/9obhz5WMtBLs=" } }, { - "name": "wolfi-baselayout", - "version": "20230201-r6", + "name": "glibc-locale-posix", + "url": "https://packages.wolfi.dev/os/aarch64/glibc-locale-posix-2.38-r4.apk", + "version": "2.38-r4", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/wolfi-baselayout-20230201-r6.apk", "signature": { - "range": "bytes=0-698", - "checksum": "sha256-Bj+GOknC0GAts5s8bVPN24Y5/M9Nj260tNzSrHqpXZI=" + "range": "bytes=0-703", + "checksum": "sha1-ExYvtwS/9ZckTPHIoR2hSIxyyGk=" }, "control": { - "range": "bytes=699-1046", - "checksum": "sha1-1IRhQ5Af8EsskNGI41B61PJKEmQ=" + "range": "bytes=704-1046", + "checksum": "sha1-nRybgp0BFjtWgjyaS9KGUPmJCD8=" }, "data": { - "range": "bytes=1047-", - "checksum": "sha256-8ugMC+WWnVs2LDEgnIjgFy489tBWgjsJGRnK85brHok=" + "range": "bytes=1047-416968", + "checksum": "sha256-OBwvYsWYWZ7yJhexp77CPEWKZ2i3DOukGNsYiqnw/Yc=" } }, { - "name": "ca-certificates-bundle", - "version": "20230506-r0", + "name": "glibc", + "url": "https://packages.wolfi.dev/os/aarch64/glibc-2.38-r4.apk", + "version": "2.38-r4", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/ca-certificates-bundle-20230506-r0.apk", "signature": { - "range": "bytes=0-647", - "checksum": "sha256-m4ZtmbjpQApZ9Wuvc3edO5of5ukmdM0f0/KAmEvInw4=" + "range": "bytes=0-699", + "checksum": "sha1-wVu0suc4naxLiF1QCwPunOg+32A=" }, "control": { - "range": "bytes=648-935", - "checksum": "sha1-N1RG8Ckcg5B0Nlp6kS26dA5WFwY=" + "range": "bytes=700-1303", + "checksum": "sha1-ZA7IqbremBHLHlQ7f1dSFT56ulo=" }, "data": { - "range": "bytes=936-", - "checksum": "sha256-JounDEIr83QfxnDYPBhlTQylRA7HgcBlgABrHYkIyMk=" + "range": "bytes=1304-5592271", + "checksum": "sha256-Jj84GdOHfCbFXurgPz3PgOKIEZxfwUknD0IIKLh8SqE=" } }, { - "name": "libssl3", - "version": "3.1.2-r0", + "name": "openssl-config", + "url": "https://packages.wolfi.dev/os/aarch64/openssl-config-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/libssl3-3.1.2-r0.apk", "signature": { - "range": "bytes=0-701", - "checksum": "sha256-2JJQnOS/PdcMf+d0U1Jc6+c2eix0AQXcuLpzbZqv71Q=" + "range": "bytes=0-705", + "checksum": "sha1-uFtSHkqLyD45PyHIso1+ZPG0PiM=" }, "control": { - "range": "bytes=702-1082", - "checksum": "sha1-kr+Ksmy64hVjPKFFHnKSnYEBR0I=" + "range": "bytes=706-1039", + "checksum": "sha1-7oyz3YeBeAEXH76Br9Goxyifc6g=" }, "data": { - "range": "bytes=1083-", - "checksum": "sha256-A1NfHwwnV2DS4kY6VxIQPtvQUe5+BXx2QJ1UH4Jw1o4=" + "range": "bytes=1040-87925", + "checksum": "sha256-Lawv1JMtsRPpXEt3d/lQCmSecHDIpsgLDjGMjTLRZjk=" } }, { - "name": "glibc", - "version": "2.38-r1", + "name": "libcrypto3", + "url": "https://packages.wolfi.dev/os/aarch64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/glibc-2.38-r1.apk", "signature": { - "range": "bytes=0-694", - "checksum": "sha256-FXeWy2R8+kgeRMoDtQmxiNjh+LmwRPtlscd5u0GJSzw=" + "range": "bytes=0-696", + "checksum": "sha1-roup6EyV9xw/CtzeADF22AEPy0U=" }, "control": { - "range": "bytes=695-1299", - "checksum": "sha1-MugIKjJ8HOqOItnKwxk2JxUhj88=" + "range": "bytes=697-1083", + "checksum": "sha1-iuEf86+YHOr0UKkGzDdUSw4i+Nc=" }, "data": { - "range": "bytes=1300-", - "checksum": "sha256-3v8mfTqtpIgtMG3CiUAWDPDZ/poCkmGWqSYte4QAbtg=" + "range": "bytes=1084-4045983", + "checksum": "sha256-d8p7x3NHPCXl77dKHZHtvIedSJ8FDiU58wJNzqdPk9I=" } }, { - "name": "ld-linux", - "version": "2.38-r1", + "name": "libssl3", + "url": "https://packages.wolfi.dev/os/aarch64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/ld-linux-2.38-r1.apk", "signature": { - "range": "bytes=0-696", - "checksum": "sha256-16LnmYyNAAeCBijjku0DypdXIJP8rNdDnfQomxNzgnE=" + "range": "bytes=0-697", + "checksum": "sha1-vpwW16he8Mt8BYXpNNQe53DUrsQ=" }, "control": { - "range": "bytes=697-1076", - "checksum": "sha1-ihq1wyde/YNVvYGUggS95PXEBJA=" + "range": "bytes=698-1080", + "checksum": "sha1-L0DjrOCqzdhH2EdQ6ZSNZgN3Ktg=" }, "data": { - "range": "bytes=1077-", - "checksum": "sha256-GfjkSSu9sPicA9qL9vNeJSOoWvXbQCZ24QG+erDmU1w=" + "range": "bytes=1081-702303", + "checksum": "sha256-IowCw3jzQ8YCdVpABw/ZyPjZzETKy9jMj47TGCZq4uc=" } }, { - "name": "openssl-config", - "version": "3.1.2-r0", + "name": "zlib", + "url": "https://packages.wolfi.dev/os/aarch64/zlib-1.3-r0.apk", + "version": "1.3-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/openssl-config-3.1.2-r0.apk", "signature": { - "range": "bytes=0-700", - "checksum": "sha256-Rrs7RViUuARVvRb1VutKFHcXjTb6i+ANrL2ZQYIfZDc=" + "range": "bytes=0-701", + "checksum": "sha1-iJS8f/TSENQs2Eu9BB7caD4rH50=" }, "control": { - "range": "bytes=701-1033", - "checksum": "sha1-sgALPjJB5fjwqGoac1y6Mb/RXCo=" + "range": "bytes=702-1097", + "checksum": "sha1-R07tRo77NrCkG/+XBgAedcCD8nc=" }, "data": { - "range": "bytes=1034-", - "checksum": "sha256-p53xlCztz5e7FPUhX0vl+1L/+ZrMzTU4gSe+5GlMZak=" + "range": "bytes=1098-181319", + "checksum": "sha256-t5kF44HTqexBesECOSIZKTAQ31+qknxkJ1JCJ3cHNGc=" } }, { - "name": "zlib", - "version": "1.3-r0", + "name": "apk-tools", + "url": "https://packages.wolfi.dev/os/aarch64/apk-tools-2.14.0-r0.apk", + "version": "2.14.0-r0", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/zlib-1.3-r0.apk", "signature": { - "range": "bytes=0-701", - "checksum": "sha256-4aAdoRSgflaGInkk2Ncqv9dXV94mLV2IKaNRTXBqVgc=" + "range": "bytes=0-657", + "checksum": "sha1-/pRAL96gP1XHx1k+tRsJZcjl0ec=" }, "control": { - "range": "bytes=702-1097", - "checksum": "sha1-R07tRo77NrCkG/+XBgAedcCD8nc=" + "range": "bytes=658-1090", + "checksum": "sha1-I3OAi6ke9HMmxkiab+4MuJQmdUQ=" }, "data": { - "range": "bytes=1098-", - "checksum": "sha256-t5kF44HTqexBesECOSIZKTAQ31+qknxkJ1JCJ3cHNGc=" + "range": "bytes=1091-552340", + "checksum": "sha256-VH73KhNt/1S0ukNpkqJq6f73nHK06O7MsAwsZFlUglI=" } }, { "name": "libcrypt1", - "version": "2.38-r1", + "url": "https://packages.wolfi.dev/os/aarch64/libcrypt1-2.38-r4.apk", + "version": "2.38-r4", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/libcrypt1-2.38-r1.apk", "signature": { - "range": "bytes=0-694", - "checksum": "sha256-uQC+up+tpVUQXrXm8BovkF26OGHypahwwrz9ryiRd4Q=" + "range": "bytes=0-705", + "checksum": "sha1-cyWYaN4OXOhwbJlSSs/G6ed4lt0=" }, "control": { - "range": "bytes=695-1068", - "checksum": "sha1-QDkZN/XXYdpKRizZ1Ed8tsSLiSo=" + "range": "bytes=706-1090", + "checksum": "sha1-0eToluB1+usL3vR5ImPbMaDlzOo=" }, "data": { - "range": "bytes=1069-", - "checksum": "sha256-Dg5870Lg4df3FaaGOu4bhxE/sqS2jDkpRSUV5gP82Gw=" + "range": "bytes=1091-101348", + "checksum": "sha256-1s88kvKB0VoonHKsBtOHoiAA7OABM7rwWJQQY3rhplM=" } }, { "name": "busybox", + "url": "https://packages.wolfi.dev/os/aarch64/busybox-1.36.1-r2.apk", "version": "1.36.1-r2", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/busybox-1.36.1-r2.apk", "signature": { "range": "bytes=0-662", - "checksum": "sha256-SmY/CYRsiYWPA3RJCXvKU4bvtZXCwlNGBhxjSnCFVrs=" + "checksum": "sha1-m9X6KDEy74aCpQlKlkegUn5XjOo=" }, "control": { "range": "bytes=663-1148", "checksum": "sha1-seigbSQse4Xfe9+fcu4mQlROELc=" }, "data": { - "range": "bytes=1149-", + "range": "bytes=1149-738253", "checksum": "sha256-OAfCAR9diQsN/NifKaGSUalgVuRMlk5Q5QIm/Es0Dy0=" } }, { "name": "wolfi-keys", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-keys-1-r5.apk", "version": "1-r5", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/wolfi-keys-1-r5.apk", "signature": { "range": "bytes=0-649", - "checksum": "sha256-ACcfQJESmIm4zmXY/JBPslUPIuwZFgFyR1dgSAlQ13E=" + "checksum": "sha1-gzWC3AAj7YIsQDzN/gvn8c9yAIU=" }, "control": { "range": "bytes=650-927", "checksum": "sha1-bv8UpjnaKOuomrjzKID7FZ1yh6Y=" }, "data": { - "range": "bytes=928-", + "range": "bytes=928-63884", "checksum": "sha256-zf3o3DKaAdttzXGdVIQQtMqTadLz9zKJK5ZDblXbxSU=" } }, { "name": "wolfi-base", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-base-1-r3.apk", "version": "1-r3", "architecture": "aarch64", - "url": "https://packages.wolfi.dev/os/aarch64/wolfi-base-1-r3.apk", "signature": { "range": "bytes=0-647", - "checksum": "sha256-zeScFrcm3nVrHdJsMgWwAC5zUl4PygjybROyc4Ed0CE=" + "checksum": "sha1-28eQsqKm0sB2uCqQlYdygG9mvAY=" }, "control": { "range": "bytes=648-953", "checksum": "sha1-AdH4EQtmNVnVY0EGwNoVdTeR6tM=" }, "data": { - "range": "bytes=954-", + "range": "bytes=954-21644", "checksum": "sha256-7+l/eiD400rccp2H6FJqg2jYITQWTgbDEF5lUYnXk78=" } }, { "name": "ca-certificates-bundle", + "url": "https://packages.wolfi.dev/os/x86_64/ca-certificates-bundle-20230506-r0.apk", "version": "20230506-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/ca-certificates-bundle-20230506-r0.apk", "signature": { "range": "bytes=0-649", - "checksum": "sha256-h1Wj2FAjSIS61Pn3wT+N8ocmh6LCySY4XTEfzP7auOA=" + "checksum": "sha1-HoqYVacxp/KTeMmeQyrXh6Mqa0w=" }, "control": { "range": "bytes=650-966", "checksum": "sha1-/YGo3iUSdyF2/rk3tKR6MhtUEzg=" }, "data": { - "range": "bytes=967-", + "range": "bytes=967-249591", "checksum": "sha256-7neBVl819zb1HiRNaW8Ze6E1SPTrvfxytQyCdRTbUrg=" } }, { - "name": "libssl3", - "version": "3.1.2-r0", + "name": "wolfi-baselayout", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-baselayout-20230201-r6.apk", + "version": "20230201-r6", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libssl3-3.1.2-r0.apk", "signature": { - "range": "bytes=0-696", - "checksum": "sha256-pX4BktfhuPJYz/naNQ+/bLX2rLsD8qcZGlJ3/xa+AtA=" + "range": "bytes=0-700", + "checksum": "sha1-B0aZFr+bN3sKl78a/r6g1idipu8=" }, "control": { - "range": "bytes=697-1067", - "checksum": "sha1-KxOTEVLsjDakMA3X+/dunv1sbVw=" + "range": "bytes=701-1049", + "checksum": "sha1-7VhAhkjHFu8hi9j6VPHxlOX95sc=" }, "data": { - "range": "bytes=1068-", - "checksum": "sha256-fRE+SmXiIHBUcd7sg5aBTaZA0HIVCRTHi6BedDD/mBc=" + "range": "bytes=1050-125391", + "checksum": "sha256-E1YOC4cEwiNxueSte+3mQzPSxBGuAE7D89R3E7gVxYQ=" } }, { - "name": "glibc-locale-posix", - "version": "2.38-r1", + "name": "ld-linux", + "url": "https://packages.wolfi.dev/os/x86_64/ld-linux-2.38-r4.apk", + "version": "2.38-r4", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/glibc-locale-posix-2.38-r1.apk", "signature": { - "range": "bytes=0-692", - "checksum": "sha256-7xRf327HLB/5Nl+lJ2td3vybte3tGHVVQj1Ha4DCAGE=" + "range": "bytes=0-695", + "checksum": "sha1-/FxEfFGVAbtxtCSLpVMWvuqv7fs=" }, "control": { - "range": "bytes=693-1036", - "checksum": "sha1-t3B1UtIKvydFltjFBTSIz95M4Uc=" + "range": "bytes=696-1080", + "checksum": "sha1-3oEy5WjftVPxhrr0LI3GtnmIsxM=" }, "data": { - "range": "bytes=1037-", - "checksum": "sha256-J+O1VFBKcu9xm/wcXgJGPqJv+8sq3IbnCE2xvRMGZ8c=" + "range": "bytes=1081-266151", + "checksum": "sha256-4eZZfqUqkO+7axjIHCebfmc6r1/Chwp4ri3kaem7h6k=" } }, { - "name": "apk-tools", - "version": "2.14.0-r0", + "name": "glibc-locale-posix", + "url": "https://packages.wolfi.dev/os/x86_64/glibc-locale-posix-2.38-r4.apk", + "version": "2.38-r4", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/apk-tools-2.14.0-r0.apk", "signature": { - "range": "bytes=0-657", - "checksum": "sha256-2+sFpwBB0Ol/KFzvL50XbFMNInU7utN4K1nom+Nd09g=" + "range": "bytes=0-700", + "checksum": "sha1-5xEv5lBijD6VZYV8Qz6SqOPTPEY=" }, "control": { - "range": "bytes=658-1094", - "checksum": "sha1-5lEO4JohyDLUB0MMSqVgQor2Ug8=" + "range": "bytes=701-1046", + "checksum": "sha1-JzVSmXBhSE+NalrHMrp1ksadsL4=" }, "data": { - "range": "bytes=1095-", - "checksum": "sha256-LJsAe8zTp0gXfPprwAs0lqnUjhG2t4ytWAQZajDu81w=" + "range": "bytes=1047-416967", + "checksum": "sha256-tGh/DvGFVq+2+Hx8jie/1KUn2mRUB6ZRCKydx/LSex0=" } }, { - "name": "openssl-config", - "version": "3.1.2-r0", + "name": "glibc", + "url": "https://packages.wolfi.dev/os/x86_64/glibc-2.38-r4.apk", + "version": "2.38-r4", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/openssl-config-3.1.2-r0.apk", "signature": { - "range": "bytes=0-698", - "checksum": "sha256-YiJ52K616UbOcfikvivowz/nKHI6kYRx1XHoZkcmYDM=" + "range": "bytes=0-697", + "checksum": "sha1-B09z0L/wix/T/zhYkOtKTuHwwNc=" }, "control": { - "range": "bytes=699-1033", - "checksum": "sha1-8YXo1izBaNRtUvASCnnJBIs4ZFY=" + "range": "bytes=698-1304", + "checksum": "sha1-Z7HBHy5WI5PY9nZ1UxLIyMC8ok8=" }, "data": { - "range": "bytes=1034-", - "checksum": "sha256-eiG2XDm1A9ISP/knoPU+rTnNeHwqMTHBd8kcqTGBoAI=" + "range": "bytes=1305-6656589", + "checksum": "sha256-HlRfUzL0ktItVOePqKA4QuzU4KJf0fLTvUarEAd6yYU=" } }, { - "name": "ld-linux", - "version": "2.38-r1", + "name": "openssl-config", + "url": "https://packages.wolfi.dev/os/x86_64/openssl-config-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/ld-linux-2.38-r1.apk", "signature": { "range": "bytes=0-701", - "checksum": "sha256-AXwPY/xsVV9QG4+a0Z3TAEABNSIvspfyIQWUXASVa/o=" + "checksum": "sha1-eBG28qEC0LKgqM0mMu6tOVqYv70=" }, "control": { - "range": "bytes=702-1085", - "checksum": "sha1-mLP2PhJnwuy+X9e40BkWRGoNpz8=" + "range": "bytes=702-1038", + "checksum": "sha1-Hf1wTsCSVZNpng1bU87e+L17oXg=" }, "data": { - "range": "bytes=1086-", - "checksum": "sha256-QlwNddHxbCE/HIligvH5ajs5f66QA6IhO1252X/Bsjg=" + "range": "bytes=1039-87924", + "checksum": "sha256-c2Emvjgi5XnN/11t1oSMfebhQydRQfKvvE9Plp+bKG0=" } }, { - "name": "glibc", - "version": "2.38-r1", + "name": "libcrypto3", + "url": "https://packages.wolfi.dev/os/x86_64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/glibc-2.38-r1.apk", "signature": { - "range": "bytes=0-696", - "checksum": "sha256-d4+OPb4mx0sTLwm96slBXDhnHqJx64LuuZb1cAduZiw=" + "range": "bytes=0-699", + "checksum": "sha1-nJHZmdBdjoYa/C+Rmwzm4WU+/i0=" }, "control": { - "range": "bytes=697-1304", - "checksum": "sha1-ZmAI/Ykd1R9bcT1s82L3SPJhOEA=" + "range": "bytes=700-1072", + "checksum": "sha1-6MModYE7dAtOLG3kDnIa/Jxbn7o=" }, "data": { - "range": "bytes=1305-", - "checksum": "sha256-6Zet8FU0YNkt8puM+YQk9F3nKs8Zs1pBUMNtukApAJ4=" + "range": "bytes=1073-5052654", + "checksum": "sha256-10L+W350qzd0iW85BXd0h1b0+Ts5h+OwA7kKnh6Kd4E=" } }, { - "name": "wolfi-baselayout", - "version": "20230201-r6", + "name": "libssl3", + "url": "https://packages.wolfi.dev/os/x86_64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-baselayout-20230201-r6.apk", "signature": { - "range": "bytes=0-700", - "checksum": "sha256-voGHae+yd9WCX8oSdhNhu02HBWp1RpgyPOCmV/YQU6A=" + "range": "bytes=0-699", + "checksum": "sha1-DCmKvpfxxiBBQGZqGUtJVoI13Fg=" }, "control": { - "range": "bytes=701-1049", - "checksum": "sha1-7VhAhkjHFu8hi9j6VPHxlOX95sc=" + "range": "bytes=700-1072", + "checksum": "sha1-Iy4/pjMZ4WLOJ4BLVG3Pa3SJxY8=" }, "data": { - "range": "bytes=1050-", - "checksum": "sha256-E1YOC4cEwiNxueSte+3mQzPSxBGuAE7D89R3E7gVxYQ=" + "range": "bytes=1073-702510", + "checksum": "sha256-IopNidsB0UFST/X1256+PyDyhKHMliuQa5ZxPIWQ51s=" } }, { - "name": "libcrypto3", - "version": "3.1.2-r0", + "name": "zlib", + "url": "https://packages.wolfi.dev/os/x86_64/zlib-1.3-r0.apk", + "version": "1.3-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libcrypto3-3.1.2-r0.apk", "signature": { - "range": "bytes=0-700", - "checksum": "sha256-pgX/AzJPCwbLImhK+AM1sAxuj10BDxeA4z1D3PyW5B8=" + "range": "bytes=0-694", + "checksum": "sha1-wLEvCLf24LATq+f5KWJSwgmcAJ0=" }, "control": { - "range": "bytes=701-1074", - "checksum": "sha1-ZEp23bIVsI2yn1PD2I5al1BecY4=" + "range": "bytes=695-1078", + "checksum": "sha1-2c/3NY/o7FDtGM4k93d8nDACYWk=" }, "data": { - "range": "bytes=1075-", - "checksum": "sha256-Ettey6//lpLf4X70l/LpSVi8rt8LaZw1qGvL/j3yAsc=" + "range": "bytes=1079-148702", + "checksum": "sha256-ZwQMNfeiOo2duE+cxSybjb283bIAphOkpJgXFEXtW7g=" } }, { - "name": "zlib", - "version": "1.3-r0", + "name": "apk-tools", + "url": "https://packages.wolfi.dev/os/x86_64/apk-tools-2.14.0-r0.apk", + "version": "2.14.0-r0", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/zlib-1.3-r0.apk", "signature": { - "range": "bytes=0-694", - "checksum": "sha256-gW3pGEhnMfw9XSw6IOM+XeeRaSJroOqkUiCXyPscp3g=" + "range": "bytes=0-657", + "checksum": "sha1-ymoiwR/HGgPI6Dz5a/1Zh6fha7Q=" }, "control": { - "range": "bytes=695-1078", - "checksum": "sha1-2c/3NY/o7FDtGM4k93d8nDACYWk=" + "range": "bytes=658-1094", + "checksum": "sha1-5lEO4JohyDLUB0MMSqVgQor2Ug8=" }, "data": { - "range": "bytes=1079-", - "checksum": "sha256-ZwQMNfeiOo2duE+cxSybjb283bIAphOkpJgXFEXtW7g=" + "range": "bytes=1095-454723", + "checksum": "sha256-LJsAe8zTp0gXfPprwAs0lqnUjhG2t4ytWAQZajDu81w=" } }, { "name": "libcrypt1", - "version": "2.38-r1", + "url": "https://packages.wolfi.dev/os/x86_64/libcrypt1-2.38-r4.apk", + "version": "2.38-r4", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libcrypt1-2.38-r1.apk", "signature": { - "range": "bytes=0-693", - "checksum": "sha256-HZh2U9316Uxsyl1CoFF4vNd8PJCKjA1zzSnRGEoprJM=" + "range": "bytes=0-706", + "checksum": "sha1-c3rfRkmh7sNGcUxOO08a6FObwJY=" }, "control": { - "range": "bytes=694-1070", - "checksum": "sha1-DwdoqPBygzIvrTNKsyOy09wnRmQ=" + "range": "bytes=707-1098", + "checksum": "sha1-n+N4hUZxluqt+un56eFC7L+9E7c=" }, "data": { - "range": "bytes=1071-", - "checksum": "sha256-p9RviAkWnEBtTIm5Ho0T3JwdbpPlN/CkDdOi604pJ90=" + "range": "bytes=1099-74699", + "checksum": "sha256-aljP9Rli63HrOWlJUkcMC1fZnya6gml46yMmCyeP82o=" } }, { "name": "busybox", + "url": "https://packages.wolfi.dev/os/x86_64/busybox-1.36.1-r2.apk", "version": "1.36.1-r2", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/busybox-1.36.1-r2.apk", "signature": { "range": "bytes=0-660", - "checksum": "sha256-JpKU0Hf2BDujBVfwhLGGNgNyvPYtA/tMzzCZCnRc120=" + "checksum": "sha1-j8OEvqjvBe2INGxLIH/TkRi3c2Q=" }, "control": { "range": "bytes=661-1153", "checksum": "sha1-d2kYe9D3/7EJ+b9C6YkKqlSsU/M=" }, "data": { - "range": "bytes=1154-", + "range": "bytes=1154-668762", "checksum": "sha256-/ZVBynpsT9iBHekkLAf59csVhMBwoKyjLnjF53u2cIE=" } }, { "name": "wolfi-keys", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-keys-1-r5.apk", "version": "1-r5", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-keys-1-r5.apk", "signature": { "range": "bytes=0-648", - "checksum": "sha256-avYaa1hJQ/CoUqQOxxaM36C7X93zg8JiGjUcCYkefeA=" + "checksum": "sha1-gRoSbfAGT9dw1PUvlDYIZQBVtig=" }, "control": { "range": "bytes=649-957", "checksum": "sha1-0fpy9hX9x84izBkTlUFtNXLEeqk=" }, "data": { - "range": "bytes=958-", + "range": "bytes=958-63883", "checksum": "sha256-33hX1bPb8tpZMsxDs8sUQchU8T7ptX3dpgoJd6GSZqo=" } }, { "name": "wolfi-base", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-base-1-r3.apk", "version": "1-r3", "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-base-1-r3.apk", "signature": { "range": "bytes=0-649", - "checksum": "sha256-norCSxfvICp4g+SZfOlti5CGOorNXdiRcOtTW/XcMYw=" + "checksum": "sha1-cA59nhpZr8A+8yOVgciutltDZWw=" }, "control": { "range": "bytes=650-983", "checksum": "sha1-LrzTxq5MubwvQY3xCuDnXVIGJek=" }, "data": { - "range": "bytes=984-", + "range": "bytes=984-21647", "checksum": "sha256-ZBy+EmJUZ0VgbBysw6eCtifGF++Gvf+36StxdJqhU7E=" } } ] } -} +} \ No newline at end of file diff --git a/examples/wolfi-base/apko.lock.json b/examples/wolfi-base/apko.lock.json deleted file mode 100644 index 057fc68..0000000 --- a/examples/wolfi-base/apko.lock.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "version": "6", - "contents": { - "keyring": [ - { - "name": "packages.wolfi.dev/os", - "url": "https://packages.wolfi.dev/os/wolfi-signing.rsa.pub" - } - ], - "repositories": [ - { - "name": "packages.wolfi.dev/os/x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/APKINDEX.tar.gz", - "architecture": "x86_64" - } - ], - "packages": [ - { - "name": "ca-certificates-bundle", - "version": "20230506-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/ca-certificates-bundle-20230506-r0.apk", - "signature": { - "range": "bytes=0-649", - "checksum": "sha256-h1Wj2FAjSIS61Pn3wT+N8ocmh6LCySY4XTEfzP7auOA=" - }, - "control": { - "range": "bytes=650-966", - "checksum": "sha1-/YGo3iUSdyF2/rk3tKR6MhtUEzg=" - }, - "data": { - "range": "bytes=967-", - "checksum": "sha256-7neBVl819zb1HiRNaW8Ze6E1SPTrvfxytQyCdRTbUrg=" - } - }, - { - "name": "libssl3", - "version": "3.1.2-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libssl3-3.1.2-r0.apk", - "signature": { - "range": "bytes=0-696", - "checksum": "sha256-pX4BktfhuPJYz/naNQ+/bLX2rLsD8qcZGlJ3/xa+AtA=" - }, - "control": { - "range": "bytes=697-1067", - "checksum": "sha1-KxOTEVLsjDakMA3X+/dunv1sbVw=" - }, - "data": { - "range": "bytes=1068-", - "checksum": "sha256-fRE+SmXiIHBUcd7sg5aBTaZA0HIVCRTHi6BedDD/mBc=" - } - }, - { - "name": "glibc-locale-posix", - "version": "2.38-r1", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/glibc-locale-posix-2.38-r1.apk", - "signature": { - "range": "bytes=0-692", - "checksum": "sha256-7xRf327HLB/5Nl+lJ2td3vybte3tGHVVQj1Ha4DCAGE=" - }, - "control": { - "range": "bytes=693-1036", - "checksum": "sha1-t3B1UtIKvydFltjFBTSIz95M4Uc=" - }, - "data": { - "range": "bytes=1037-", - "checksum": "sha256-J+O1VFBKcu9xm/wcXgJGPqJv+8sq3IbnCE2xvRMGZ8c=" - } - }, - { - "name": "apk-tools", - "version": "2.14.0-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/apk-tools-2.14.0-r0.apk", - "signature": { - "range": "bytes=0-657", - "checksum": "sha256-2+sFpwBB0Ol/KFzvL50XbFMNInU7utN4K1nom+Nd09g=" - }, - "control": { - "range": "bytes=658-1094", - "checksum": "sha1-5lEO4JohyDLUB0MMSqVgQor2Ug8=" - }, - "data": { - "range": "bytes=1095-", - "checksum": "sha256-LJsAe8zTp0gXfPprwAs0lqnUjhG2t4ytWAQZajDu81w=" - } - }, - { - "name": "openssl-config", - "version": "3.1.2-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/openssl-config-3.1.2-r0.apk", - "signature": { - "range": "bytes=0-698", - "checksum": "sha256-YiJ52K616UbOcfikvivowz/nKHI6kYRx1XHoZkcmYDM=" - }, - "control": { - "range": "bytes=699-1033", - "checksum": "sha1-8YXo1izBaNRtUvASCnnJBIs4ZFY=" - }, - "data": { - "range": "bytes=1034-", - "checksum": "sha256-eiG2XDm1A9ISP/knoPU+rTnNeHwqMTHBd8kcqTGBoAI=" - } - }, - { - "name": "ld-linux", - "version": "2.38-r1", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/ld-linux-2.38-r1.apk", - "signature": { - "range": "bytes=0-701", - "checksum": "sha256-AXwPY/xsVV9QG4+a0Z3TAEABNSIvspfyIQWUXASVa/o=" - }, - "control": { - "range": "bytes=702-1085", - "checksum": "sha1-mLP2PhJnwuy+X9e40BkWRGoNpz8=" - }, - "data": { - "range": "bytes=1086-", - "checksum": "sha256-QlwNddHxbCE/HIligvH5ajs5f66QA6IhO1252X/Bsjg=" - } - }, - { - "name": "glibc", - "version": "2.38-r1", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/glibc-2.38-r1.apk", - "signature": { - "range": "bytes=0-696", - "checksum": "sha256-d4+OPb4mx0sTLwm96slBXDhnHqJx64LuuZb1cAduZiw=" - }, - "control": { - "range": "bytes=697-1304", - "checksum": "sha1-ZmAI/Ykd1R9bcT1s82L3SPJhOEA=" - }, - "data": { - "range": "bytes=1305-", - "checksum": "sha256-6Zet8FU0YNkt8puM+YQk9F3nKs8Zs1pBUMNtukApAJ4=" - } - }, - { - "name": "wolfi-baselayout", - "version": "20230201-r6", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-baselayout-20230201-r6.apk", - "signature": { - "range": "bytes=0-700", - "checksum": "sha256-voGHae+yd9WCX8oSdhNhu02HBWp1RpgyPOCmV/YQU6A=" - }, - "control": { - "range": "bytes=701-1049", - "checksum": "sha1-7VhAhkjHFu8hi9j6VPHxlOX95sc=" - }, - "data": { - "range": "bytes=1050-", - "checksum": "sha256-E1YOC4cEwiNxueSte+3mQzPSxBGuAE7D89R3E7gVxYQ=" - } - }, - { - "name": "libcrypto3", - "version": "3.1.2-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libcrypto3-3.1.2-r0.apk", - "signature": { - "range": "bytes=0-700", - "checksum": "sha256-pgX/AzJPCwbLImhK+AM1sAxuj10BDxeA4z1D3PyW5B8=" - }, - "control": { - "range": "bytes=701-1074", - "checksum": "sha1-ZEp23bIVsI2yn1PD2I5al1BecY4=" - }, - "data": { - "range": "bytes=1075-", - "checksum": "sha256-Ettey6//lpLf4X70l/LpSVi8rt8LaZw1qGvL/j3yAsc=" - } - }, - { - "name": "zlib", - "version": "1.3-r0", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/zlib-1.3-r0.apk", - "signature": { - "range": "bytes=0-694", - "checksum": "sha256-gW3pGEhnMfw9XSw6IOM+XeeRaSJroOqkUiCXyPscp3g=" - }, - "control": { - "range": "bytes=695-1078", - "checksum": "sha1-2c/3NY/o7FDtGM4k93d8nDACYWk=" - }, - "data": { - "range": "bytes=1079-", - "checksum": "sha256-ZwQMNfeiOo2duE+cxSybjb283bIAphOkpJgXFEXtW7g=" - } - }, - { - "name": "libcrypt1", - "version": "2.38-r1", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/libcrypt1-2.38-r1.apk", - "signature": { - "range": "bytes=0-693", - "checksum": "sha256-HZh2U9316Uxsyl1CoFF4vNd8PJCKjA1zzSnRGEoprJM=" - }, - "control": { - "range": "bytes=694-1070", - "checksum": "sha1-DwdoqPBygzIvrTNKsyOy09wnRmQ=" - }, - "data": { - "range": "bytes=1071-", - "checksum": "sha256-p9RviAkWnEBtTIm5Ho0T3JwdbpPlN/CkDdOi604pJ90=" - } - }, - { - "name": "busybox", - "version": "1.36.1-r2", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/busybox-1.36.1-r2.apk", - "signature": { - "range": "bytes=0-660", - "checksum": "sha256-JpKU0Hf2BDujBVfwhLGGNgNyvPYtA/tMzzCZCnRc120=" - }, - "control": { - "range": "bytes=661-1153", - "checksum": "sha1-d2kYe9D3/7EJ+b9C6YkKqlSsU/M=" - }, - "data": { - "range": "bytes=1154-", - "checksum": "sha256-/ZVBynpsT9iBHekkLAf59csVhMBwoKyjLnjF53u2cIE=" - } - }, - { - "name": "wolfi-keys", - "version": "1-r5", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-keys-1-r5.apk", - "signature": { - "range": "bytes=0-648", - "checksum": "sha256-avYaa1hJQ/CoUqQOxxaM36C7X93zg8JiGjUcCYkefeA=" - }, - "control": { - "range": "bytes=649-957", - "checksum": "sha1-0fpy9hX9x84izBkTlUFtNXLEeqk=" - }, - "data": { - "range": "bytes=958-", - "checksum": "sha256-33hX1bPb8tpZMsxDs8sUQchU8T7ptX3dpgoJd6GSZqo=" - } - }, - { - "name": "wolfi-base", - "version": "1-r3", - "architecture": "x86_64", - "url": "https://packages.wolfi.dev/os/x86_64/wolfi-base-1-r3.apk", - "signature": { - "range": "bytes=0-649", - "checksum": "sha256-norCSxfvICp4g+SZfOlti5CGOorNXdiRcOtTW/XcMYw=" - }, - "control": { - "range": "bytes=650-983", - "checksum": "sha1-LrzTxq5MubwvQY3xCuDnXVIGJek=" - }, - "data": { - "range": "bytes=984-", - "checksum": "sha256-ZBy+EmJUZ0VgbBysw6eCtifGF++Gvf+36StxdJqhU7E=" - } - } - ] - } -} diff --git a/examples/wolfi-base/apko.resolved.json b/examples/wolfi-base/apko.resolved.json new file mode 100755 index 0000000..af9120f --- /dev/null +++ b/examples/wolfi-base/apko.resolved.json @@ -0,0 +1,529 @@ +{ + "version": "v1", + "contents": { + "keyring": [ + { + "name": "packages.wolfi.dev/os/wolfi-signing.rsa.pub", + "url": "https://packages.wolfi.dev/os/wolfi-signing.rsa.pub" + } + ], + "repositories": [ + { + "name": "packages.wolfi.dev/os/x86_64", + "url": "https://packages.wolfi.dev/os/x86_64/APKINDEX.tar.gz", + "architecture": "x86_64" + }, + { + "name": "packages.wolfi.dev/os/aarch64", + "url": "https://packages.wolfi.dev/os/aarch64/APKINDEX.tar.gz", + "architecture": "aarch64" + } + ], + "packages": [ + { + "name": "ca-certificates-bundle", + "url": "https://packages.wolfi.dev/os/x86_64/ca-certificates-bundle-20230506-r0.apk", + "version": "20230506-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-649", + "checksum": "sha1-HoqYVacxp/KTeMmeQyrXh6Mqa0w=" + }, + "control": { + "range": "bytes=650-966", + "checksum": "sha1-/YGo3iUSdyF2/rk3tKR6MhtUEzg=" + }, + "data": { + "range": "bytes=967-249591", + "checksum": "sha256-7neBVl819zb1HiRNaW8Ze6E1SPTrvfxytQyCdRTbUrg=" + } + }, + { + "name": "wolfi-baselayout", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-baselayout-20230201-r6.apk", + "version": "20230201-r6", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-700", + "checksum": "sha1-B0aZFr+bN3sKl78a/r6g1idipu8=" + }, + "control": { + "range": "bytes=701-1049", + "checksum": "sha1-7VhAhkjHFu8hi9j6VPHxlOX95sc=" + }, + "data": { + "range": "bytes=1050-125391", + "checksum": "sha256-E1YOC4cEwiNxueSte+3mQzPSxBGuAE7D89R3E7gVxYQ=" + } + }, + { + "name": "ld-linux", + "url": "https://packages.wolfi.dev/os/x86_64/ld-linux-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-695", + "checksum": "sha1-/FxEfFGVAbtxtCSLpVMWvuqv7fs=" + }, + "control": { + "range": "bytes=696-1080", + "checksum": "sha1-3oEy5WjftVPxhrr0LI3GtnmIsxM=" + }, + "data": { + "range": "bytes=1081-266151", + "checksum": "sha256-4eZZfqUqkO+7axjIHCebfmc6r1/Chwp4ri3kaem7h6k=" + } + }, + { + "name": "glibc-locale-posix", + "url": "https://packages.wolfi.dev/os/x86_64/glibc-locale-posix-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-700", + "checksum": "sha1-5xEv5lBijD6VZYV8Qz6SqOPTPEY=" + }, + "control": { + "range": "bytes=701-1046", + "checksum": "sha1-JzVSmXBhSE+NalrHMrp1ksadsL4=" + }, + "data": { + "range": "bytes=1047-416967", + "checksum": "sha256-tGh/DvGFVq+2+Hx8jie/1KUn2mRUB6ZRCKydx/LSex0=" + } + }, + { + "name": "glibc", + "url": "https://packages.wolfi.dev/os/x86_64/glibc-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-697", + "checksum": "sha1-B09z0L/wix/T/zhYkOtKTuHwwNc=" + }, + "control": { + "range": "bytes=698-1304", + "checksum": "sha1-Z7HBHy5WI5PY9nZ1UxLIyMC8ok8=" + }, + "data": { + "range": "bytes=1305-6656589", + "checksum": "sha256-HlRfUzL0ktItVOePqKA4QuzU4KJf0fLTvUarEAd6yYU=" + } + }, + { + "name": "openssl-config", + "url": "https://packages.wolfi.dev/os/x86_64/openssl-config-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-701", + "checksum": "sha1-eBG28qEC0LKgqM0mMu6tOVqYv70=" + }, + "control": { + "range": "bytes=702-1038", + "checksum": "sha1-Hf1wTsCSVZNpng1bU87e+L17oXg=" + }, + "data": { + "range": "bytes=1039-87924", + "checksum": "sha256-c2Emvjgi5XnN/11t1oSMfebhQydRQfKvvE9Plp+bKG0=" + } + }, + { + "name": "libcrypto3", + "url": "https://packages.wolfi.dev/os/x86_64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-699", + "checksum": "sha1-nJHZmdBdjoYa/C+Rmwzm4WU+/i0=" + }, + "control": { + "range": "bytes=700-1072", + "checksum": "sha1-6MModYE7dAtOLG3kDnIa/Jxbn7o=" + }, + "data": { + "range": "bytes=1073-5052654", + "checksum": "sha256-10L+W350qzd0iW85BXd0h1b0+Ts5h+OwA7kKnh6Kd4E=" + } + }, + { + "name": "libssl3", + "url": "https://packages.wolfi.dev/os/x86_64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-699", + "checksum": "sha1-DCmKvpfxxiBBQGZqGUtJVoI13Fg=" + }, + "control": { + "range": "bytes=700-1072", + "checksum": "sha1-Iy4/pjMZ4WLOJ4BLVG3Pa3SJxY8=" + }, + "data": { + "range": "bytes=1073-702510", + "checksum": "sha256-IopNidsB0UFST/X1256+PyDyhKHMliuQa5ZxPIWQ51s=" + } + }, + { + "name": "zlib", + "url": "https://packages.wolfi.dev/os/x86_64/zlib-1.3-r0.apk", + "version": "1.3-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-694", + "checksum": "sha1-wLEvCLf24LATq+f5KWJSwgmcAJ0=" + }, + "control": { + "range": "bytes=695-1078", + "checksum": "sha1-2c/3NY/o7FDtGM4k93d8nDACYWk=" + }, + "data": { + "range": "bytes=1079-148702", + "checksum": "sha256-ZwQMNfeiOo2duE+cxSybjb283bIAphOkpJgXFEXtW7g=" + } + }, + { + "name": "apk-tools", + "url": "https://packages.wolfi.dev/os/x86_64/apk-tools-2.14.0-r0.apk", + "version": "2.14.0-r0", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-657", + "checksum": "sha1-ymoiwR/HGgPI6Dz5a/1Zh6fha7Q=" + }, + "control": { + "range": "bytes=658-1094", + "checksum": "sha1-5lEO4JohyDLUB0MMSqVgQor2Ug8=" + }, + "data": { + "range": "bytes=1095-454723", + "checksum": "sha256-LJsAe8zTp0gXfPprwAs0lqnUjhG2t4ytWAQZajDu81w=" + } + }, + { + "name": "libcrypt1", + "url": "https://packages.wolfi.dev/os/x86_64/libcrypt1-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-706", + "checksum": "sha1-c3rfRkmh7sNGcUxOO08a6FObwJY=" + }, + "control": { + "range": "bytes=707-1098", + "checksum": "sha1-n+N4hUZxluqt+un56eFC7L+9E7c=" + }, + "data": { + "range": "bytes=1099-74699", + "checksum": "sha256-aljP9Rli63HrOWlJUkcMC1fZnya6gml46yMmCyeP82o=" + } + }, + { + "name": "busybox", + "url": "https://packages.wolfi.dev/os/x86_64/busybox-1.36.1-r2.apk", + "version": "1.36.1-r2", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-660", + "checksum": "sha1-j8OEvqjvBe2INGxLIH/TkRi3c2Q=" + }, + "control": { + "range": "bytes=661-1153", + "checksum": "sha1-d2kYe9D3/7EJ+b9C6YkKqlSsU/M=" + }, + "data": { + "range": "bytes=1154-668762", + "checksum": "sha256-/ZVBynpsT9iBHekkLAf59csVhMBwoKyjLnjF53u2cIE=" + } + }, + { + "name": "wolfi-keys", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-keys-1-r5.apk", + "version": "1-r5", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-648", + "checksum": "sha1-gRoSbfAGT9dw1PUvlDYIZQBVtig=" + }, + "control": { + "range": "bytes=649-957", + "checksum": "sha1-0fpy9hX9x84izBkTlUFtNXLEeqk=" + }, + "data": { + "range": "bytes=958-63883", + "checksum": "sha256-33hX1bPb8tpZMsxDs8sUQchU8T7ptX3dpgoJd6GSZqo=" + } + }, + { + "name": "wolfi-base", + "url": "https://packages.wolfi.dev/os/x86_64/wolfi-base-1-r3.apk", + "version": "1-r3", + "architecture": "x86_64", + "signature": { + "range": "bytes=0-649", + "checksum": "sha1-cA59nhpZr8A+8yOVgciutltDZWw=" + }, + "control": { + "range": "bytes=650-983", + "checksum": "sha1-LrzTxq5MubwvQY3xCuDnXVIGJek=" + }, + "data": { + "range": "bytes=984-21647", + "checksum": "sha256-ZBy+EmJUZ0VgbBysw6eCtifGF++Gvf+36StxdJqhU7E=" + } + }, + { + "name": "ca-certificates-bundle", + "url": "https://packages.wolfi.dev/os/aarch64/ca-certificates-bundle-20230506-r0.apk", + "version": "20230506-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-647", + "checksum": "sha1-s9/tr3z/dZPicv1OVKz31ysaJQE=" + }, + "control": { + "range": "bytes=648-935", + "checksum": "sha1-N1RG8Ckcg5B0Nlp6kS26dA5WFwY=" + }, + "data": { + "range": "bytes=936-249592", + "checksum": "sha256-JounDEIr83QfxnDYPBhlTQylRA7HgcBlgABrHYkIyMk=" + } + }, + { + "name": "wolfi-baselayout", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-baselayout-20230201-r6.apk", + "version": "20230201-r6", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-698", + "checksum": "sha1-7pyg3ZZyuqiKYxS+nOTx8KoRV+8=" + }, + "control": { + "range": "bytes=699-1046", + "checksum": "sha1-1IRhQ5Af8EsskNGI41B61PJKEmQ=" + }, + "data": { + "range": "bytes=1047-125392", + "checksum": "sha256-8ugMC+WWnVs2LDEgnIjgFy489tBWgjsJGRnK85brHok=" + } + }, + { + "name": "ld-linux", + "url": "https://packages.wolfi.dev/os/aarch64/ld-linux-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-701", + "checksum": "sha1-VrQHL4/4WkESJJKGwzo4W69SiZU=" + }, + "control": { + "range": "bytes=702-1082", + "checksum": "sha1-fEjlH2UibUBTtkWQySgs981a97c=" + }, + "data": { + "range": "bytes=1083-265292", + "checksum": "sha256-FW5sUim5xjh4g8t62SFOckOCRLggW3/9obhz5WMtBLs=" + } + }, + { + "name": "glibc-locale-posix", + "url": "https://packages.wolfi.dev/os/aarch64/glibc-locale-posix-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-703", + "checksum": "sha1-ExYvtwS/9ZckTPHIoR2hSIxyyGk=" + }, + "control": { + "range": "bytes=704-1046", + "checksum": "sha1-nRybgp0BFjtWgjyaS9KGUPmJCD8=" + }, + "data": { + "range": "bytes=1047-416968", + "checksum": "sha256-OBwvYsWYWZ7yJhexp77CPEWKZ2i3DOukGNsYiqnw/Yc=" + } + }, + { + "name": "glibc", + "url": "https://packages.wolfi.dev/os/aarch64/glibc-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-699", + "checksum": "sha1-wVu0suc4naxLiF1QCwPunOg+32A=" + }, + "control": { + "range": "bytes=700-1303", + "checksum": "sha1-ZA7IqbremBHLHlQ7f1dSFT56ulo=" + }, + "data": { + "range": "bytes=1304-5592271", + "checksum": "sha256-Jj84GdOHfCbFXurgPz3PgOKIEZxfwUknD0IIKLh8SqE=" + } + }, + { + "name": "openssl-config", + "url": "https://packages.wolfi.dev/os/aarch64/openssl-config-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-705", + "checksum": "sha1-uFtSHkqLyD45PyHIso1+ZPG0PiM=" + }, + "control": { + "range": "bytes=706-1039", + "checksum": "sha1-7oyz3YeBeAEXH76Br9Goxyifc6g=" + }, + "data": { + "range": "bytes=1040-87925", + "checksum": "sha256-Lawv1JMtsRPpXEt3d/lQCmSecHDIpsgLDjGMjTLRZjk=" + } + }, + { + "name": "libcrypto3", + "url": "https://packages.wolfi.dev/os/aarch64/libcrypto3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-696", + "checksum": "sha1-roup6EyV9xw/CtzeADF22AEPy0U=" + }, + "control": { + "range": "bytes=697-1083", + "checksum": "sha1-iuEf86+YHOr0UKkGzDdUSw4i+Nc=" + }, + "data": { + "range": "bytes=1084-4045983", + "checksum": "sha256-d8p7x3NHPCXl77dKHZHtvIedSJ8FDiU58wJNzqdPk9I=" + } + }, + { + "name": "libssl3", + "url": "https://packages.wolfi.dev/os/aarch64/libssl3-3.1.3-r0.apk", + "version": "3.1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-697", + "checksum": "sha1-vpwW16he8Mt8BYXpNNQe53DUrsQ=" + }, + "control": { + "range": "bytes=698-1080", + "checksum": "sha1-L0DjrOCqzdhH2EdQ6ZSNZgN3Ktg=" + }, + "data": { + "range": "bytes=1081-702303", + "checksum": "sha256-IowCw3jzQ8YCdVpABw/ZyPjZzETKy9jMj47TGCZq4uc=" + } + }, + { + "name": "zlib", + "url": "https://packages.wolfi.dev/os/aarch64/zlib-1.3-r0.apk", + "version": "1.3-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-701", + "checksum": "sha1-iJS8f/TSENQs2Eu9BB7caD4rH50=" + }, + "control": { + "range": "bytes=702-1097", + "checksum": "sha1-R07tRo77NrCkG/+XBgAedcCD8nc=" + }, + "data": { + "range": "bytes=1098-181319", + "checksum": "sha256-t5kF44HTqexBesECOSIZKTAQ31+qknxkJ1JCJ3cHNGc=" + } + }, + { + "name": "apk-tools", + "url": "https://packages.wolfi.dev/os/aarch64/apk-tools-2.14.0-r0.apk", + "version": "2.14.0-r0", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-657", + "checksum": "sha1-/pRAL96gP1XHx1k+tRsJZcjl0ec=" + }, + "control": { + "range": "bytes=658-1090", + "checksum": "sha1-I3OAi6ke9HMmxkiab+4MuJQmdUQ=" + }, + "data": { + "range": "bytes=1091-552340", + "checksum": "sha256-VH73KhNt/1S0ukNpkqJq6f73nHK06O7MsAwsZFlUglI=" + } + }, + { + "name": "libcrypt1", + "url": "https://packages.wolfi.dev/os/aarch64/libcrypt1-2.38-r4.apk", + "version": "2.38-r4", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-705", + "checksum": "sha1-cyWYaN4OXOhwbJlSSs/G6ed4lt0=" + }, + "control": { + "range": "bytes=706-1090", + "checksum": "sha1-0eToluB1+usL3vR5ImPbMaDlzOo=" + }, + "data": { + "range": "bytes=1091-101348", + "checksum": "sha256-1s88kvKB0VoonHKsBtOHoiAA7OABM7rwWJQQY3rhplM=" + } + }, + { + "name": "busybox", + "url": "https://packages.wolfi.dev/os/aarch64/busybox-1.36.1-r2.apk", + "version": "1.36.1-r2", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-662", + "checksum": "sha1-m9X6KDEy74aCpQlKlkegUn5XjOo=" + }, + "control": { + "range": "bytes=663-1148", + "checksum": "sha1-seigbSQse4Xfe9+fcu4mQlROELc=" + }, + "data": { + "range": "bytes=1149-738253", + "checksum": "sha256-OAfCAR9diQsN/NifKaGSUalgVuRMlk5Q5QIm/Es0Dy0=" + } + }, + { + "name": "wolfi-keys", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-keys-1-r5.apk", + "version": "1-r5", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-649", + "checksum": "sha1-gzWC3AAj7YIsQDzN/gvn8c9yAIU=" + }, + "control": { + "range": "bytes=650-927", + "checksum": "sha1-bv8UpjnaKOuomrjzKID7FZ1yh6Y=" + }, + "data": { + "range": "bytes=928-63884", + "checksum": "sha256-zf3o3DKaAdttzXGdVIQQtMqTadLz9zKJK5ZDblXbxSU=" + } + }, + { + "name": "wolfi-base", + "url": "https://packages.wolfi.dev/os/aarch64/wolfi-base-1-r3.apk", + "version": "1-r3", + "architecture": "aarch64", + "signature": { + "range": "bytes=0-647", + "checksum": "sha1-28eQsqKm0sB2uCqQlYdygG9mvAY=" + }, + "control": { + "range": "bytes=648-953", + "checksum": "sha1-AdH4EQtmNVnVY0EGwNoVdTeR6tM=" + }, + "data": { + "range": "bytes=954-21644", + "checksum": "sha256-7+l/eiD400rccp2H6FJqg2jYITQWTgbDEF5lUYnXk78=" + } + } + ] + } +} \ No newline at end of file diff --git a/examples/wolfi-base/apko.yaml b/examples/wolfi-base/apko.yaml index 29c1dc9..339cf81 100644 --- a/examples/wolfi-base/apko.yaml +++ b/examples/wolfi-base/apko.yaml @@ -10,3 +10,4 @@ cmd: /bin/sh -l archs: - x86_64 + - aarch64 diff --git a/resolve-all.sh b/resolve-all.sh deleted file mode 100755 index 412ac75..0000000 --- a/resolve-all.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -set -o errexit -o nounset -o pipefail - - -# THIS IS A HACKY BASH SCRIPT THAT IS NOT MEANT TO BE USED BY USERS. - -# Updates lock file for given a example for missing packages. -# -# Runs bazel build and tries to add package entries for missing packages by -# capturing the error message. -# -# Can be run as ./resolve-all.sh -# -# Eg: `./resolve-all.sh examples/wolfi-base` - -example="$1" -dir="${2:-$1}" -lockfile="$dir/apko.lock.json" - -echo "🔗 Lockfile is at $lockfile" -echo "" - -output=$(mktemp) - -while [ true ]; do - echo "" > $output - if ! bazel build $example &> $output; then - required="$(cat $output | sed -n "s/.*apk\ at\ \(.*\): Get.*/\1/p" | head -1)" - if [[ -n "$required" ]]; then - echo "🥖 Found missing apk $required" - - echo "🥕 Fetching $required" - resolve=$(mktemp) - json=$(mktemp) - if ./resolve.sh $required 2> $json > $resolve; then - lock="$(jq --argjson package "$(cat $json | jq -c)" '.contents.packages |= . + [$package]' "$dir/apko.lock.json")" - echo "$lock" > "$dir/apko.lock.json" - echo "👌 Fetched succesfully $(jq -r '.name + "-" + .version + " (" + .architecture + ")"' $json)" - echo "" - else - echo "" - echo "❗ err" - echo "" - cat "$resolve" - cat "$json" - exit 1 - fi - else - cat "$output" - exit 1 - fi - else - echo "🙌 All good!" - exit 0 - fi -done diff --git a/resolve.sh b/resolve.sh deleted file mode 100755 index b38ea71..0000000 --- a/resolve.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env bash - -# THIS IS A HACKY BASH SCRIPT THAT IS NOT MEANT TO BE USED BY USERS. -# Generates lock file package entry for a given apk url. -# This is a hacky interim bash script to generate lockfiles until we get `apko resolve` command. -# -# Can be run as `./resolve.sh ` - -set -o errexit -o nounset -o pipefail - -apk="$TMPDIR/$(echo $1 | base64)" - -if [[ ! -f "$apk" ]]; then - curl -fsSL $1 -o $apk -fi - -streams=($(cat $apk | xxd -p -c0 | grep -b -o "1f8b" | cut -d":" -f1 | awk '{print $1/=2}' | awk '{print int($1+0.5)}')) - -function extract_section () { - local input_file=$1 - local start_offset=$2 - local end_offset=$3 - if [[ -z "${end_offset}" ]]; then - tail -c +"$((start_offset + 1))" "$input_file" - else - local length=$((end_offset - start_offset + 1)) - # Use head to skip to the start offset and tail to extract the section - head -c "$end_offset" "$input_file" | tail -c +"$((start_offset + 1))" - fi -} - - -sig_begin="${streams[0]}" -control_begin="${streams[1]}" -data_begin="${streams[2]}" - -echo "" -echo "@ sanity check" -echo "" - - -if ! extract_section $apk $sig_begin $control_begin | gzip -t 2> /dev/null; then - echo "x signature section contains 1f8b. trying the next index" - sig_begin="${streams[0]}" - control_begin="${streams[2]}" - data_begin="${streams[3]}" -fi - -t=$(mktemp -t "t1") -t2=$(mktemp -t "t2") - -extract_section $apk $sig_begin $control_begin >> $t -curl -fsSL $1 -H "Range: bytes=$sig_begin-$(($control_begin-1))" >> $t2 -wc -c $t $t2 -diffoscope $t $t2 - -extract_section $apk $control_begin $data_begin >> $t -curl -fsSL $1 -H "Range: bytes=$control_begin-$(($data_begin-1))" >> $t2 -wc -c $t $t2 -diffoscope $t $t2 - -extract_section $apk $data_begin "" >> $t -curl -fsSL $1 -H "Range: bytes=$data_begin-" >> $t2 -wc -c $t $t2 -diffoscope $t $t2 - - -echo "" -echo "@ sections" -echo "" - -echo "-> sig" -echo "" -extract_section $apk $sig_begin $control_begin | tar -tf - - -echo "" -echo "-> control" -echo "" -extract_section $apk $control_begin $data_begin | tar -tf - - -echo "" -echo "-> data" -echo "" -extract_section $apk $data_begin "" | tar -tf - - - -echo "" -echo "@ gather info" -echo "" -info=$(extract_section $apk $control_begin $data_begin | tar -xOz - .PKGINFO) - -pkgname= -pkgver= -pkgarch= -sig_sig=$(extract_section $apk $sig_begin $control_begin | shasum -a 256 | cut -d '-' -f 1 | tr -d ' ' | xxd -r -p | base64) -control_sig=$(extract_section $apk $control_begin $data_begin | shasum -a 1 | cut -d '-' -f 1 | tr -d ' ' | xxd -r -p | base64) -data_sig=$(extract_section $apk $data_begin "" | shasum -a 256 | cut -d '-' -f 1 | tr -d ' ' | xxd -r -p | base64) - -while IFS=$'\n' read -r line; do - key=$(echo "$line" | cut -d '=' -f 1 | tr -d ' ') - value=$(echo "$line" | cut -d '=' -f 2 | tr -d ' ') - if [[ "$key" == "pkgname" ]]; then - pkgname="$value" - elif [[ "$key" == "pkgver" ]]; then - pkgver="$value" - elif [[ "$key" == "arch" ]]; then - pkgarch="$value" - fi -done < <(extract_section $apk $control_begin $data_begin | tar -xOz - .PKGINFO) - -if [[ "$pkgarch" == "noarch" ]]; then - pkgarch=$(echo "${1}" | sed "s/\/$pkgname.*//" | rev | cut -f 1 -d "/" | rev) -fi - -echo "" -echo "@ Add this to lock" -echo "" - -cat >&2 <