From 95ad300b346a4a63ccd70e6cfc14e3df4585522e Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Sat, 14 Sep 2024 17:39:27 +0100 Subject: [PATCH 01/16] refactor: improve the lock copy.sh script * separate the script into a template file so it's easier to shellcheck and syntax highlight in editors. * shellcheck the script and remove all SC2086 warnings ("Double quote to prevent globbing and word splitting") * improve the buildozer help messages in the copy.sh script: * reduce duplication of buildozer command * add a more clear autofix bazel run command that can be easily copy-pasted * change some of the variable names in the copy.sh template for longer, easier to understand names (repo_name >> name, lock_label >> label) * move repo_name and workspace_relative_path into variables to reduce line length and improve readability --- apt/private/BUILD.bazel | 1 + apt/private/copy.sh.tmpl | 51 +++++++++++++++++++++++++++++++ apt/private/resolve.bzl | 65 ++++++++++------------------------------ 3 files changed, 68 insertions(+), 49 deletions(-) create mode 100644 apt/private/copy.sh.tmpl diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index c0f7597..18bbffc 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -3,6 +3,7 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") exports_files([ "dpkg_statusd.sh", "dpkg_status.sh", + "copy.sh.tmpl", "package.BUILD.tmpl", ]) diff --git a/apt/private/copy.sh.tmpl b/apt/private/copy.sh.tmpl new file mode 100644 index 0000000..48367f1 --- /dev/null +++ b/apt/private/copy.sh.tmpl @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +set -o pipefail -o errexit -o nounset + +lock=$(realpath "$1") +autofix=${{2:-}} + +cd "$BUILD_WORKING_DIRECTORY" + +echo +echo "Writing lockfile to {workspace_relative_path}" +cp "$lock" "{workspace_relative_path}" + +# Detect which file we wish the user to edit +if [ -e "$BUILD_WORKSPACE_DIRECTORY/WORKSPACE" ]; then + wksp_file="WORKSPACE" +elif [ -e "$BUILD_WORKSPACE_DIRECTORY/WORKSPACE.bazel" ]; then + wksp_file="WORKSPACE.bazel" +elif [ -e "$BUILD_WORKSPACE_DIRECTORY/MODULE.bazel" ]; then + wksp_file="MODULE.bazel" +else + echo>&2 "Error: no MODULE.bazel or WORKSPACE file was found" + exit 1 +fi + +# Detect a vendored buildozer binary in canonical location (tools/buildozer) +if [ -e "$BUILD_WORKSPACE_DIRECTORY/tools/buildozer" ]; then + buildozer="tools/buildozer" +else + # Assume it's on the $PATH + buildozer="buildozer" +fi + +echo + +cmd="$buildozer 'set lock \"{lock_label}\"' $wksp_file:{repo_name}" + +if [[ "$autofix" == "--autofix" ]]; then + eval "$cmd" +else + cat <&2 "Error: no MODULE.bazel or WORKSPACE file was found" - exit 1 -fi - -# Detect a vendored buildozer binary in canonical location (tools/buildozer) -if [ -e $BUILD_WORKSPACE_DIRECTORY/tools/buildozer ]; then - buildozer="tools/buildozer" -else - # Assume it's on the $PATH - buildozer="buildozer" -fi - -if [[ "${{2:-}}" == "--autofix" ]]; then - echo '' - ${{buildozer}} 'set lock \"{label}\"' ${{wksp_file}}:{name} -else - cat < Date: Fri, 13 Sep 2024 17:02:39 +0100 Subject: [PATCH 02/16] refactor: package_index _fetch_package_index While working with some flaky mirrors and trying to figure out why they were failing I found the _fetch_package_index code a bit hard to follow so here's my attempt at streamlining it a bit: * Change the general flow of the for-loop so that we can directly set the reasons for failure in failed_attempts * Remove both integrity as an argument and as a return value since neither is ever used. * return the content of the Packages index instead of the path, since we already have the repository_context. This way we don't need rctx anywhere else. * Reword failure messages adding more context and debug information * Shorter lines and templated strings, trying to make the code easier to read and follow. --- apt/private/package_index.bzl | 91 +++++++++++++++++++++-------------- 1 file changed, 56 insertions(+), 35 deletions(-) diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index d498767..8e1ce0e 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -2,9 +2,7 @@ load(":util.bzl", "util") -def _fetch_package_index(rctx, url, dist, comp, arch, integrity): - target_triple = "{dist}/{comp}/{arch}".format(dist = dist, comp = comp, arch = arch) - +def _fetch_package_index(rctx, url, dist, comp, arch): # See https://linux.die.net/man/1/xz and https://linux.die.net/man/1/gzip # --keep -> keep the original file (Bazel might be still committing the output to the cache) # --force -> overwrite the output if it exists @@ -16,44 +14,66 @@ def _fetch_package_index(rctx, url, dist, comp, arch, integrity): failed_attempts = [] - for (ext, cmd) in supported_extensions.items(): - output = "{}/Packages.{}".format(target_triple, ext) - dist_url = "{}/dists/{}/{}/binary-{}/Packages.{}".format(url, dist, comp, arch, ext) + for ext, cmd in supported_extensions.items(): + index = "Packages" + index_full = "{}.{}".format(index, ext) + + output = "{dist}/{comp}/{arch}/{index}".format( + dist = dist, + comp = comp, + arch = arch, + index = index, + ) + output_full = "{}.{}".format(output, ext) + + index_url = "{url}/dists/{dist}/{comp}/binary-{arch}/{index_full}".format( + url = url, + dist = dist, + comp = comp, + arch = arch, + index_full = index_full, + ) + download = rctx.download( - url = dist_url, - output = output, - integrity = integrity, + url = index_url, + output = output_full, allow_fail = True, ) - decompress_r = None - if download.success: - decompress_r = rctx.execute(cmd + [output]) - if decompress_r.return_code == 0: - integrity = download.integrity - break - failed_attempts.append((dist_url, download, decompress_r)) + if not download.success: + reason = "Download failed. See warning above for details." + failed_attempts.append((index_url, reason)) + continue - if len(failed_attempts) == len(supported_extensions): - attempt_messages = [] - for (url, download, decompress) in failed_attempts: - reason = "unknown" - if not download.success: - reason = "Download failed. See warning above for details." - elif decompress.return_code != 0: - reason = "Decompression failed with non-zero exit code.\n\n{}\n{}".format(decompress.stderr, decompress.stdout) + decompress_cmd = cmd + [output_full] + decompress_res = rctx.execute(decompress_cmd) - attempt_messages.append("""\n*) Failed '{}'\n\n{}""".format(url, reason)) + if decompress_res.return_code == 0: + break - fail(""" -** Tried to download {} different package indices and all failed. + reason = "'{cmd}' returned a non-zero exit code: {return_code}" + reason += "\n\n{stderr}\n{stdout}" + reason = reason.format( + cmd = decompress_cmd, + return_code = decompress_res.return_code, + stderr = decompress_res.stderr, + stdout = decompress_res.stdout, + ) + + failed_attempts.append((index_url, reason)) -{} - """.format(len(failed_attempts), "\n".join(attempt_messages))) + if len(failed_attempts) == len(supported_extensions): + attempt_messages = [ + "\n * '{}' FAILED:\n\n {}".format(url, reason) + for url, reason in failed_attempts + ] - return ("{}/Packages".format(target_triple), integrity) + fail("Failed to fetch packages index:\n" + "\n".join(attempt_messages)) + + return rctx.read(output) def _parse_package_index(state, contents, arch, root): + # TODO: this is expensive to perform. last_key = "" pkg = {} for group in contents.split("\n\n"): @@ -113,12 +133,13 @@ def _create(rctx, sources, archs): # on misconfigured HTTP servers) url = url.rstrip("/") - rctx.report_progress("Fetching package index: {}/{} for {}".format(dist, comp, arch)) - (output, _) = _fetch_package_index(rctx, url, dist, comp, arch, "") + index = "{}/{} for {}".format(dist, comp, arch) + + rctx.report_progress("Fetching package index: %s" % index) + output = _fetch_package_index(rctx, url, dist, comp, arch) - # TODO: this is expensive to perform. - rctx.report_progress("Parsing package index: {}/{} for {}".format(dist, comp, arch)) - _parse_package_index(state, rctx.read(output), arch, url) + rctx.report_progress("Parsing package index: %s" % index) + _parse_package_index(state, output, arch, url) return struct( package_versions = lambda **kwargs: _package_versions(state, **kwargs), From 29d181b063006c5b9eae3ec590065a6aa5c98d95 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Sat, 14 Sep 2024 20:13:04 +0100 Subject: [PATCH 03/16] refactor: package_index struct * remove the `state` "intermediary `struct`" in `package_resolution.bzl` since it wasn't used / needed. * refactor and move _set_dict from `util.bzl` to a `_package_set` method * use `dict .get()` with default values instead of the "nested `if`s" * renamed `package()` to `package_get` and make it return all package versions when the version is not specified so we can remove `_package_versions` * reordeder `(name, version, arch)` args to match the order of the index keys `(arch, name, version)` --- apt/private/BUILD.bazel | 1 - apt/private/package_index.bzl | 56 ++++++++++++++++-------------- apt/private/package_resolution.bzl | 21 ++++++----- apt/private/resolve.bzl | 2 +- apt/private/util.bzl | 11 ------ 5 files changed, 41 insertions(+), 50 deletions(-) diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index 18bbffc..a3ae197 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -43,7 +43,6 @@ bzl_library( name = "package_index", srcs = ["package_index.bzl"], visibility = ["//apt:__subpackages__"], - deps = [":util"], ) bzl_library( diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index 8e1ce0e..56aebcd 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -1,7 +1,5 @@ "package index" -load(":util.bzl", "util") - def _fetch_package_index(rctx, url, dist, comp, arch): # See https://linux.die.net/man/1/xz and https://linux.die.net/man/1/gzip # --keep -> keep the original file (Bazel might be still committing the output to the cache) @@ -72,8 +70,14 @@ def _fetch_package_index(rctx, url, dist, comp, arch): return rctx.read(output) -def _parse_package_index(state, contents, arch, root): - # TODO: this is expensive to perform. +def _package_set(packages, keys, package): + for key in keys[:-1]: + if key not in packages: + packages[key] = {} + packages = packages[key] + packages[keys[-1]] = package + +def _parse_package_index(packages, contents, arch, root): last_key = "" pkg = {} for group in contents.split("\n\n"): @@ -103,25 +107,28 @@ def _parse_package_index(state, contents, arch, root): if len(pkg.keys()) != 0: pkg["Root"] = root - util.set_dict(state.packages, value = pkg, keys = (arch, pkg["Package"], pkg["Version"])) + _package_set( + packages, + keys = (arch, pkg["Package"], pkg["Version"]), + package = pkg, + ) last_key = "" pkg = {} -def _package_versions(state, name, arch): - if name not in state.packages[arch]: - return [] - return state.packages[arch][name].keys() - -def _package(state, name, version, arch): - if name not in state.packages[arch]: - return None - if version not in state.packages[arch][name]: - return None - return state.packages[arch][name][version] - -def _create(rctx, sources, archs): - state = struct( - packages = dict(), +def _package_get(packages, arch, name, version = None): + versions = packages.get(arch, {}).get(name, {}) + + if version == None: + return versions.keys() + + return versions.get(version, None) + +def _new(rctx, sources, archs): + packages = {} + + package_index = struct( + packages = packages, + package_get = lambda arch, name, version = None: _package_get(packages, arch, name, version), ) for arch in archs: @@ -139,13 +146,10 @@ def _create(rctx, sources, archs): output = _fetch_package_index(rctx, url, dist, comp, arch) rctx.report_progress("Parsing package index: %s" % index) - _parse_package_index(state, output, arch, url) + _parse_package_index(packages, output, arch, url) - return struct( - package_versions = lambda **kwargs: _package_versions(state, **kwargs), - package = lambda **kwargs: _package(state, **kwargs), - ) + return package_index package_index = struct( - new = _create, + new = _new, ) diff --git a/apt/private/package_resolution.bzl b/apt/private/package_resolution.bzl index dd99863..55083fb 100644 --- a/apt/private/package_resolution.bzl +++ b/apt/private/package_resolution.bzl @@ -69,9 +69,9 @@ def _version_relop(va, vb, op): return version_lib.eq(va, vb) fail("unknown op %s" % op) -def _resolve_package(state, name, version, arch): +def _resolve_package(index, arch, name, version): # Get available versions of the package - versions = state.index.package_versions(name = name, arch = arch) + versions = index.package_get(arch, name) # Order packages by highest to lowest versions = version_lib.sort(versions, reverse = True) @@ -79,7 +79,7 @@ def _resolve_package(state, name, version, arch): if version: for av in versions: if _version_relop(av, version[1], version[0]): - package = state.index.package(name = name, version = av, arch = arch) + package = index.package_get(arch, name, av) # Since versions are ordered by hight to low, the first satisfied version will be # the highest version and rules_distroless ignores Priority field so it's safe. @@ -88,10 +88,10 @@ def _resolve_package(state, name, version, arch): elif len(versions) > 0: # First element in the versions list is the latest version. version = versions[0] - package = state.index.package(name = name, version = version, arch = arch) + package = index.package_get(arch, name, version) return package -def _resolve_all(state, name, version, arch, include_transitive): +def _resolve_all(index, arch, name, version, include_transitive): root_package = None already_recursed = {} unmet_dependencies = [] @@ -107,7 +107,7 @@ def _resolve_all(state, name, version, arch, include_transitive): fail("resolve_dependencies exhausted the iteration") (name, version) = stack.pop() - package = _resolve_package(state, name, version, arch) + package = _resolve_package(index, arch, name, version) if not package: key = "%s~~%s" % (name, version[1] if version else "") @@ -152,14 +152,13 @@ def _resolve_all(state, name, version, arch, include_transitive): return (root_package, dependencies, unmet_dependencies) -def _create_resolution(index): - state = struct(index = index) +def _new(index): return struct( - resolve_all = lambda **kwargs: _resolve_all(state, **kwargs), - resolve_package = lambda **kwargs: _resolve_package(state, **kwargs), + resolve_all = lambda **kwargs: _resolve_all(index, **kwargs), + resolve_package = lambda **kwargs: _resolve_package(index, **kwargs), ) package_resolution = struct( - new = _create_resolution, + new = _new, parse_depends = _parse_depends, ) diff --git a/apt/private/resolve.bzl b/apt/private/resolve.bzl index 995c6b0..799578c 100644 --- a/apt/private/resolve.bzl +++ b/apt/private/resolve.bzl @@ -63,9 +63,9 @@ def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): rctx.report_progress("Resolving %s" % dep_constraint) (package, dependencies, unmet_dependencies) = pkgresolution.resolve_all( + arch = arch, name = constraint["name"], version = constraint["version"], - arch = arch, include_transitive = include_transitive, ) diff --git a/apt/private/util.bzl b/apt/private/util.bzl index 3640035..cf05911 100644 --- a/apt/private/util.bzl +++ b/apt/private/util.bzl @@ -1,19 +1,8 @@ "utilities" -def _set_dict(struct, value = None, keys = []): - klen = len(keys) - for i in range(klen - 1): - k = keys[i] - if not k in struct: - struct[k] = {} - struct = struct[k] - - struct[keys[-1]] = value - def _sanitize(str): return str.replace("+", "-p-").replace(":", "-").replace("~", "_") util = struct( sanitize = _sanitize, - set_dict = _set_dict, ) From 22121d04780ccfa348e81296182179310ac9a734 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Wed, 18 Sep 2024 13:55:54 +0100 Subject: [PATCH 04/16] tests: package_index_test Add testing for package_index mocking the external / side effects (downloads, decompression, etc). --- apt/private/package_index.bzl | 15 ++-- apt/tests/BUILD.bazel | 3 + apt/tests/mocks.bzl | 69 ++++++++++++++++ apt/tests/package_index_test.bzl | 134 +++++++++++++++++++++++++++++++ 4 files changed, 215 insertions(+), 6 deletions(-) create mode 100644 apt/tests/mocks.bzl create mode 100644 apt/tests/package_index_test.bzl diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index 56aebcd..70b50a9 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -126,11 +126,6 @@ def _package_get(packages, arch, name, version = None): def _new(rctx, sources, archs): packages = {} - package_index = struct( - packages = packages, - package_get = lambda arch, name, version = None: _package_get(packages, arch, name, version), - ) - for arch in archs: for (url, dist, comp) in sources: # We assume that `url` does not contain a trailing forward slash when passing to @@ -148,8 +143,16 @@ def _new(rctx, sources, archs): rctx.report_progress("Parsing package index: %s" % index) _parse_package_index(packages, output, arch, url) - return package_index + return struct( + packages = packages, + package_get = lambda arch, name, version = None: _package_get(packages, arch, name, version), + ) package_index = struct( new = _new, + # NOTE: these are exposed here for testing purposes, DO NOT USE OTHERWISE + _fetch_package_index = _fetch_package_index, + _parse_package_index = _parse_package_index, + _package_set = _package_set, + _package_get = _package_get, ) diff --git a/apt/tests/BUILD.bazel b/apt/tests/BUILD.bazel index 809f1d0..cd723b0 100644 --- a/apt/tests/BUILD.bazel +++ b/apt/tests/BUILD.bazel @@ -1,6 +1,9 @@ +load(":package_index_test.bzl", "package_index_tests") load(":package_resolution_test.bzl", "package_resolution_tests") load(":version_test.bzl", "version_tests") +package_index_tests() + package_resolution_tests() version_tests() diff --git a/apt/tests/mocks.bzl b/apt/tests/mocks.bzl new file mode 100644 index 0000000..2008f52 --- /dev/null +++ b/apt/tests/mocks.bzl @@ -0,0 +1,69 @@ +"mocks for unit tests" + +def _report_progress(): + return lambda msg: None + +def _read(read_output = None): + return lambda filename: read_output + +def _download(success): + return lambda *args, **kwargs: struct(success = success) + +def _execute(results): + if len(results) < 1: + fail("You have to provide at least one result to mock execute") + + return lambda *args, **kwargs: results.pop() + +def _rctx(**kwargs): + if "report_progress" not in kwargs: + kwargs["report_progress"] = _report_progress() + + return struct(**kwargs) + +def _pkg(arch, name, version): + return { + "Package": name, + "Architecture": arch, + "Version": version, + "Priority": "optional", + "Section": "foobar", + "Maintainer": "Mr Foo ", + "Installed-Size": "25", + "Depends": "libc6 (>= 2.4)", + "Filename": "bullseye/{}_{}_{}.deb".format(name, version, arch), + "Size": "19036", + "MD5sum": "c45cfc046f218bbaf4236fc540280a5f", + "SHA1": "dc366729ba603e300ed6d13d9b4f28e02227ef3a", + "SHA256": "f700b85a674ccec8c7214e1ac4e85715dd34f81f215cc6aa78591777972c99cc", + "SHA512": "1978000b5e45b8f2da94c5b18dbe9ba2e349c78a32b43cc97eda8ac52900b3b2107e8d41eae5b3d7bb191f7b69174d0fa4fcfec8f5e3a364a8bc56caaf06962b", + "Homepage": "https://mirror.example.com/package=foo", + "Description": """Foo package + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus at neque + neque. Praesent quis tristique ligula, in fermentum ex. Vivamus tristique sed + leo eu condimentum. Sed eget massa metus. Mauris facilisis sapien ac leo + rutrum tincidunt. Donec pretium tincidunt rutrum. Vestibulum convallis lacus + orci, sit amet eleifend orci ultricies a. + . + In sollicitudin porta ex, a malesuada ipsum laoreet nec. Nunc sodales feugiat + aliquam. Suspendisse scelerisque, neque at egestas vehicula, tellus felis + consequat sapien, et scelerisque sapien orci vitae sem. Pellentesque magna + leo, mattis dignissim viverra non, elementum at odio. Aenean diam massa, + placerat at ex sit amet, ornare laoreet diam.""", + } + +def _packages_index(arch, name, version): + return "\n".join([ + "{}: {}".format(k, v) + for k, v in _pkg(arch, name, version).items() + ]) + "\n" + +mock = struct( + report_progress = _report_progress, + read = _read, + download = _download, + execute = _execute, + rctx = _rctx, + pkg = _pkg, + packages_index = _packages_index, +) diff --git a/apt/tests/package_index_test.bzl b/apt/tests/package_index_test.bzl new file mode 100644 index 0000000..4f850e0 --- /dev/null +++ b/apt/tests/package_index_test.bzl @@ -0,0 +1,134 @@ +"unit tests for package index" + +load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") +load("//apt/private:package_index.bzl", "package_index") +load(":mocks.bzl", "mock") + +_TEST_SUITE_PREFIX = "package_index/" + +def _fetch_package_index_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + name = "foo" + version = "0.3.20-1~bullseye.1" + + output = mock.packages_index(arch, name, version) + + url = "http://mirror.com" + dist = "bullseye" + comp = "main" + + mock_rctx = mock.rctx( + read = mock.read(output), + download = mock.download(success = True), + execute = mock.execute([struct(return_code = 0)]), + ) + + actual = package_index._fetch_package_index(mock_rctx, url, dist, comp, arch) + + asserts.equals(env, output, actual) + + return unittest.end(env) + +fetch_package_index_test = unittest.make(_fetch_package_index_test) + +def _parse_package_index_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + name = "foo" + version = "0.3.20-1~bullseye.1" + + output = mock.packages_index(arch, name, version) + + url = "http://snapshot.foo.com/bar/baz" + + actual = {} + package_index._parse_package_index(actual, output, arch, url) + + asserts.equals(env, "foo", actual[arch][name][version]["Package"]) + asserts.equals(env, url, actual[arch][name][version]["Root"]) + + return unittest.end(env) + +parse_package_index_test = unittest.make(_parse_package_index_test) + +def _package_set_get_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + name = "foo" + version_1 = "1.5.1" + version_2 = "1.5.2" + + pkg1 = mock.pkg(arch, name, version_1) + pkg2 = mock.pkg(arch, name, version_2) + + parameters = [ + ( + [ + ((arch, name, version_1), pkg1), + ((arch, name, version_2), pkg2), + ], + {arch: {name: {version_1: pkg1, version_2: pkg2}}}, + ), + ] + + for keys_pkg, expected in parameters: + actual = {} + for keys, pkg_expected in keys_pkg: + package_index._package_set(actual, keys = keys, package = pkg_expected) + + version = keys[-1] + pkg_actual = package_index._package_get(actual, arch, name, version) + + asserts.equals(env, pkg_expected, pkg_actual) + + asserts.equals(env, expected, actual) + + versions_actual = package_index._package_get(actual, arch, name) + asserts.equals(env, [version_1, version_2], versions_actual) + + return unittest.end(env) + +package_set_get_test = unittest.make(_package_set_get_test) + +def _new_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + + name = "foo" + version = "0.3.20-1~bullseye.1" + output = mock.packages_index(arch, name, version) + + url = "http://mirror.com" + sources = [(url, "bullseye", "main")] + + mock_rctx = mock.rctx( + read = mock.read(output), + download = mock.download(success = True), + execute = mock.execute([struct(return_code = 0)]), + ) + + actual = package_index.new(mock_rctx, sources = sources, archs = [arch]) + + expected_pkg = mock.pkg(arch, name, version) + expected_pkg["Root"] = url + + actual_pkg = actual.package_get(arch, name, version) + asserts.equals(env, expected_pkg, actual_pkg) + + expected_packages = {arch: {name: {version: expected_pkg}}} + asserts.equals(env, expected_packages, actual.packages) + + return unittest.end(env) + +new_test = unittest.make(_new_test) + +def package_index_tests(): + fetch_package_index_test(name = _TEST_SUITE_PREFIX + "_fetch_package_index") + parse_package_index_test(name = _TEST_SUITE_PREFIX + "_parse_package_index") + package_set_get_test(name = _TEST_SUITE_PREFIX + "_package_set_get") + new_test(name = _TEST_SUITE_PREFIX + "new") From 9c19add610c7b506e84044531be6d2ead0e220d5 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 13 Sep 2024 17:15:15 +0100 Subject: [PATCH 05/16] refactor: centralize and improve package_resolution logging The package resolution debugging that e.g. checks the package dependencies should all be within package_resolution.bzl _resolve_all() and not "leak out" returning the information that's only needed for debugging / logging. Also: * reduce the verbosity of the optional dependencies warning by just printing one message per root package instead of one per package. * break up the long lines to build the error messages and remove the "# buildifier: disable=print". --- apt/private/package_resolution.bzl | 16 ++++++++++++---- apt/private/resolve.bzl | 6 +----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/apt/private/package_resolution.bzl b/apt/private/package_resolution.bzl index 55083fb..2a2af1b 100644 --- a/apt/private/package_resolution.bzl +++ b/apt/private/package_resolution.bzl @@ -96,6 +96,7 @@ def _resolve_all(index, arch, name, version, include_transitive): already_recursed = {} unmet_dependencies = [] dependencies = [] + has_optional_deps = False iteration_max = 2147483646 stack = [(name, version)] @@ -141,16 +142,23 @@ def _resolve_all(index, arch, name, version, include_transitive): for dep in deps: if type(dep) == "list": - # buildifier: disable=print - print("Warning: optional dependencies are not supported yet. https://github.com/GoogleContainerTools/rules_distroless/issues/27") - # TODO: optional dependencies + has_optional_deps = True continue # TODO: arch stack.append((dep["name"], dep["version"])) - return (root_package, dependencies, unmet_dependencies) + if has_optional_deps: + msg = "Warning: package '{}/{}' (or one of its dependencies) " + msg += "has optional dependencies that are not supported yet: #27" + print(msg.format(root_package["Package"], arch)) + + if unmet_dependencies: + msg = "Warning: the following packages have unmet dependencies: {}" + print(msg.format(",".join([up[0] for up in unmet_dependencies]))) + + return root_package, dependencies def _new(index): return struct( diff --git a/apt/private/resolve.bzl b/apt/private/resolve.bzl index 799578c..3f16e10 100644 --- a/apt/private/resolve.bzl +++ b/apt/private/resolve.bzl @@ -62,7 +62,7 @@ def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): constraint = package_resolution.parse_depends(dep_constraint).pop() rctx.report_progress("Resolving %s" % dep_constraint) - (package, dependencies, unmet_dependencies) = pkgresolution.resolve_all( + package, dependencies = pkgresolution.resolve_all( arch = arch, name = constraint["name"], version = constraint["version"], @@ -72,10 +72,6 @@ def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): if not package: fail("Unable to locate package `%s`" % dep_constraint) - if len(unmet_dependencies): - # buildifier: disable=print - print("the following packages have unmet dependencies: %s" % ",".join([up[0] for up in unmet_dependencies])) - lockf.add_package(package, arch) for dep in dependencies: From bfa7410dba773a9932945072a337ba3f26a0fd28 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Wed, 18 Sep 2024 22:58:47 +0100 Subject: [PATCH 06/16] refactor: version * move version constraint parsing from package_resolution to its own _parse_version_and_constraint method in version.bzl * refactor _version_relop into a compare method in version.bzl plus a VERSION_OPERATORS dict so that (1) we use the operator strings everywhere and (2) we can use the keys to validate the operators. --- apt/private/package_resolution.bzl | 38 +++++----------- apt/private/version.bzl | 45 ++++++++++++++++--- apt/tests/version_test.bzl | 69 +++++++++++++++++++----------- 3 files changed, 95 insertions(+), 57 deletions(-) diff --git a/apt/private/package_resolution.bzl b/apt/private/package_resolution.bzl index 2a2af1b..c52041b 100644 --- a/apt/private/package_resolution.bzl +++ b/apt/private/package_resolution.bzl @@ -22,15 +22,10 @@ def _parse_dep(raw): if paren_end_i == -1: fail('invalid version string %s expected a closing paren ")"' % raw) name = raw[:paren_start_i].strip() - version_and_const = raw[paren_start_i + 1:paren_end_i].strip() + version_and_constraint = raw[paren_start_i + 1:paren_end_i].strip() + version = version_lib.parse_version_and_constraint(version_and_constraint) raw = raw[:paren_start_i] + raw[paren_end_i + 1:] - vconst_i = version_and_const.find(" ") - if vconst_i == -1: - fail('invalid version string %s expected a version constraint ">=", "=", ">=", "<<", ">>"' % version_and_const) - - version = (version_and_const[:vconst_i], version_and_const[vconst_i + 1:]) - # Depends: python3:any # is equivalent to # Depends: python3 [any] @@ -56,19 +51,6 @@ def _parse_depends(depends_raw): return depends -def _version_relop(va, vb, op): - if op == "<<": - return version_lib.lt(va, vb) - elif op == ">>": - return version_lib.gt(va, vb) - elif op == "<=": - return version_lib.lte(va, vb) - elif op == ">=": - return version_lib.gte(va, vb) - elif op == "=": - return version_lib.eq(va, vb) - fail("unknown op %s" % op) - def _resolve_package(index, arch, name, version): # Get available versions of the package versions = index.package_get(arch, name) @@ -77,13 +59,15 @@ def _resolve_package(index, arch, name, version): versions = version_lib.sort(versions, reverse = True) package = None if version: - for av in versions: - if _version_relop(av, version[1], version[0]): - package = index.package_get(arch, name, av) - - # Since versions are ordered by hight to low, the first satisfied version will be - # the highest version and rules_distroless ignores Priority field so it's safe. - # TODO: rethink this `break` with https://github.com/GoogleContainerTools/rules_distroless/issues/34 + for va in versions: + op, vb = version + if version_lib.compare(va, op, vb): + package = index.package_get(arch, name, va) + + # Since versions are ordered by hight to low, the first + # satisfied version will be the highest version and + # rules_distroless ignores Priority field so it's safe. + # TODO: rethink this `break` with issue #34 break elif len(versions) > 0: # First element in the versions list is the latest version. diff --git a/apt/private/version.bzl b/apt/private/version.bzl index 12e9bf0..4bc6415 100644 --- a/apt/private/version.bzl +++ b/apt/private/version.bzl @@ -19,8 +19,28 @@ def _parse_version(rv): upstream = rv + # TODO: validate version + return (epoch, upstream, revision) +def _parse_version_and_constraint(version_and_constraint): + chunks = version_and_constraint.split(" ") + + if len(chunks) != 2: + fail("Invalid version constraint %s" % version_and_constraint) + + version_constraint = chunks[0] + if version_constraint not in VERSION_OPERATORS: + msg = "Invalid version constraint: %s\n" % version_constraint + msg += "Valid constraints are: %s" % VERSION_OPERATORS.keys() + fail(msg) + + version = chunks[1] + + _parse_version(version) # parsing version to validate it + + return (version_constraint, version) + def _cmp(a, b): if a < b: return -1 @@ -114,6 +134,14 @@ def _version_cmp_part(va, vb): return res return 0 +VERSION_OPERATORS = { + ">>": lambda v: v == 1, + ">=": lambda v: v >= 0, + "<<": lambda v: v == -1, + "<=": lambda v: v <= 0, + "=": lambda v: v == 0, +} + def _compare_version(va, vb): vap = _parse_version(va) vbp = _parse_version(vb) @@ -131,6 +159,16 @@ def _compare_version(va, vb): # compare debian revision return _version_cmp_part(vap[2] or "0", vbp[2] or "0") +def _compare(va, op, vb): + if op not in VERSION_OPERATORS: + fail("unknown version operator: '%s'" % op) + + res = _compare_version(va, vb) + + operator = VERSION_OPERATORS[op] + + return operator(res) + def _sort(versions, reverse = False): vr = versions for i in range(len(vr)): @@ -146,10 +184,7 @@ def _sort(versions, reverse = False): version = struct( parse = _parse_version, - gt = lambda va, vb: _compare_version(va, vb) == 1, - gte = lambda va, vb: _compare_version(va, vb) >= 0, - lt = lambda va, vb: _compare_version(va, vb) == -1, - lte = lambda va, vb: _compare_version(va, vb) <= 0, - eq = lambda va, vb: _compare_version(va, vb) == 0, + parse_version_and_constraint = _parse_version_and_constraint, + compare = _compare, sort = lambda versions, reverse = False: _sort(versions, reverse = reverse), ) diff --git a/apt/tests/version_test.bzl b/apt/tests/version_test.bzl index 27e6ccf..71a7032 100644 --- a/apt/tests/version_test.bzl +++ b/apt/tests/version_test.bzl @@ -38,37 +38,53 @@ def _parse_test(ctx): parse_test = unittest.make(_parse_test) -def _operators_test(ctx): +def _parse_version_and_constraint_test(ctx): + parameters = { + ">= 1.4.1": (">=", "1.4.1"), + "<< 7.1.ds-1": ("<<", "7.1.ds-1"), + } + + env = unittest.begin(ctx) + + for vac, expected in parameters.items(): + actual = version.parse_version_and_constraint(vac) + asserts.equals(env, actual, expected) + + return unittest.end(env) + +parse_version_and_constraint_test = unittest.make(_parse_version_and_constraint_test) + +def _compare_test(ctx): parameters = [ - ("0", version.lt, "a"), - ("1.0", version.lt, "1.1"), - ("1.2", version.lt, "1.11"), - ("1.0-0.1", version.lt, "1.1"), - ("1.0-0.1", version.lt, "1.0-1"), - ("1.0", version.eq, "1.0"), - ("1.0-0.1", version.eq, "1.0-0.1"), - ("1:1.0-0.1", version.eq, "1:1.0-0.1"), - ("1:1.0", version.eq, "1:1.0"), - ("1.0-0.1", version.lt, "1.0-1"), - ("1.0final-5sarge1", version.gt, "1.0final-5"), - ("1.0final-5", version.gt, "1.0a7-2"), - ("0.9.2-5", version.lt, "0.9.2+cvs.1.0.dev.2004.07.28-1.5"), - ("1:500", version.lt, "1:5000"), - ("100:500", version.gt, "11:5000"), - ("1.0.4-2", version.gt, "1.0pre7-2"), - ("1.5~rc1", version.lt, "1.5"), - ("1.5~rc1", version.lt, "1.5+b1"), - ("1.5~rc1", version.lt, "1.5~rc2"), - ("1.5~rc1", version.gt, "1.5~dev0"), + ("0", "<<", "a"), + ("1.0", "<<", "1.1"), + ("1.2", "<<", "1.11"), + ("1.0-0.1", "<<", "1.1"), + ("1.0-0.1", "<<", "1.0-1"), + ("1.0", "=", "1.0"), + ("1.0-0.1", "=", "1.0-0.1"), + ("1:1.0-0.1", "=", "1:1.0-0.1"), + ("1:1.0", "=", "1:1.0"), + ("1.0-0.1", "<<", "1.0-1"), + ("1.0final-5sarge1", ">>", "1.0final-5"), + ("1.0final-5", ">>", "1.0a7-2"), + ("0.9.2-5", "<<", "0.9.2+cvs.1.0.dev.2004.07.28-1.5"), + ("1:500", "<<", "1:5000"), + ("100:500", ">>", "11:5000"), + ("1.0.4-2", ">>", "1.0pre7-2"), + ("1.5~rc1", "<<", "1.5"), + ("1.5~rc1", "<<", "1.5+b1"), + ("1.5~rc1", "<<", "1.5~rc2"), + ("1.5~rc1", ">>", "1.5~dev0"), ] env = unittest.begin(ctx) - for va, version_op, vb in parameters: - asserts.true(env, version_op(va, vb)) + for va, op, vb in parameters: + asserts.true(env, version.compare(va, op, vb)) return unittest.end(env) -operators_test = unittest.make(_operators_test) +compare_test = unittest.make(_compare_test) def _sort_test(ctx): parameters = [ @@ -95,6 +111,9 @@ def _sort_test(ctx): sort_test = unittest.make(_sort_test) def version_tests(): - operators_test(name = _TEST_SUITE_PREFIX + "operators") parse_test(name = _TEST_SUITE_PREFIX + "parse") + parse_version_and_constraint_test( + name = _TEST_SUITE_PREFIX + "parse_version_and_constraint_test", + ) + compare_test(name = _TEST_SUITE_PREFIX + "compare") sort_test(name = _TEST_SUITE_PREFIX + "sort") From 3f60c24cca449299ecb7bed44f1b23da3c8ee988 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Wed, 18 Sep 2024 23:23:19 +0100 Subject: [PATCH 07/16] refactor: combine package_resolution and package_index Previously we had: ```starlark pkgindex = package_index.new(rctx, sources = sources, archs = manifest["archs"]) pkgresolution = package_resolution.new(index = pkgindex) ``` And none of the code of package_resolution was used anywhere but in resolve.bzl and after initializing the `pkgindex`. Also, it makes sense since we are building the index from the manifest and once we have the index we use it to resolve the packages and populate the lock. --- apt/private/BUILD.bazel | 7 -- apt/private/package_index.bzl | 158 +++++++++++++++++++++++++- apt/private/package_resolution.bzl | 156 ------------------------- apt/private/resolve.bzl | 6 +- apt/tests/BUILD.bazel | 3 - apt/tests/package_index_test.bzl | 109 +++++++++++++++++- apt/tests/package_resolution_test.bzl | 109 ------------------ 7 files changed, 264 insertions(+), 284 deletions(-) delete mode 100644 apt/private/package_resolution.bzl delete mode 100644 apt/tests/package_resolution_test.bzl diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index a3ae197..8c8d534 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -43,12 +43,6 @@ bzl_library( name = "package_index", srcs = ["package_index.bzl"], visibility = ["//apt:__subpackages__"], -) - -bzl_library( - name = "package_resolution", - srcs = ["package_resolution.bzl"], - visibility = ["//apt:__subpackages__"], deps = [":version"], ) @@ -59,7 +53,6 @@ bzl_library( deps = [ ":lockfile", ":package_index", - ":package_resolution", "@aspect_bazel_lib//lib:repo_utils", ], ) diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index 70b50a9..43e6961 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -1,5 +1,7 @@ "package index" +load(":version.bzl", version_lib = "version") + def _fetch_package_index(rctx, url, dist, comp, arch): # See https://linux.die.net/man/1/xz and https://linux.die.net/man/1/gzip # --keep -> keep the original file (Bazel might be still committing the output to the cache) @@ -123,7 +125,7 @@ def _package_get(packages, arch, name, version = None): return versions.get(version, None) -def _new(rctx, sources, archs): +def _index(rctx, sources, archs): packages = {} for arch in archs: @@ -148,11 +150,165 @@ def _new(rctx, sources, archs): package_get = lambda arch, name, version = None: _package_get(packages, arch, name, version), ) +# "package resolution" + +def _parse_dep(raw): + raw = raw.strip() # remove leading & trailing whitespace + name = None + version = None + archs = None + + sqb_start_i = raw.find("[") + if sqb_start_i != -1: + sqb_end_i = raw.find("]") + if sqb_end_i == -1: + fail('invalid version string %s expected a closing brackets "]"' % raw) + archs = raw[sqb_start_i + 1:sqb_end_i].strip().split(" ") + raw = raw[:sqb_start_i] + raw[sqb_end_i + 1:] + + paren_start_i = raw.find("(") + if paren_start_i != -1: + paren_end_i = raw.find(")") + if paren_end_i == -1: + fail('invalid version string %s expected a closing paren ")"' % raw) + name = raw[:paren_start_i].strip() + version_and_constraint = raw[paren_start_i + 1:paren_end_i].strip() + version = version_lib.parse_version_and_constraint(version_and_constraint) + raw = raw[:paren_start_i] + raw[paren_end_i + 1:] + + # Depends: python3:any + # is equivalent to + # Depends: python3 [any] + colon_i = raw.find(":") + if colon_i != -1: + arch_after_colon = raw[colon_i + 1:] + raw = raw[:colon_i] + archs = [arch_after_colon.strip()] + + name = raw.strip() + return {"name": name, "version": version, "arch": archs} + +def _parse_depends(depends_raw): + depends = [] + for dep in depends_raw.split(","): + if dep.find("|") != -1: + depends.append([ + _parse_dep(adep) + for adep in dep.split("|") + ]) + else: + depends.append(_parse_dep(dep)) + + return depends + +def _resolve_package(index, arch, name, version): + # Get available versions of the package + versions = index.package_get(arch, name) + + # Order packages by highest to lowest + versions = version_lib.sort(versions, reverse = True) + package = None + if version: + for va in versions: + op, vb = version + if version_lib.compare(va, op, vb): + package = index.package_get(arch, name, va) + + # Since versions are ordered by hight to low, the first + # satisfied version will be the highest version and + # rules_distroless ignores Priority field so it's safe. + # TODO: rethink this `break` with issue #34 + break + elif len(versions) > 0: + # First element in the versions list is the latest version. + version = versions[0] + package = index.package_get(arch, name, version) + return package + +def _resolve_all(index, arch, name, version, include_transitive): + root_package = None + already_recursed = {} + unmet_dependencies = [] + dependencies = [] + has_optional_deps = False + iteration_max = 2147483646 + + stack = [(name, version)] + + for i in range(0, iteration_max + 1): + if not len(stack): + break + if i == iteration_max: + fail("resolve_dependencies exhausted the iteration") + (name, version) = stack.pop() + + package = _resolve_package(index, arch, name, version) + + if not package: + key = "%s~~%s" % (name, version[1] if version else "") + unmet_dependencies.append((name, version)) + continue + + if i == 0: + # Set the root package + root_package = package + + key = "%s~~%s" % (package["Package"], package["Version"]) + + # If we encountered package before in the transitive closure, skip it + if key in already_recursed: + continue + + if i != 0: + # Add it to the dependencies + already_recursed[key] = True + dependencies.append(package) + + deps = [] + + # Extend the lookup with all the items in the dependency closure + if "Pre-Depends" in package and include_transitive: + deps.extend(_parse_depends(package["Pre-Depends"])) + + # Extend the lookup with all the items in the dependency closure + if "Depends" in package and include_transitive: + deps.extend(_parse_depends(package["Depends"])) + + for dep in deps: + if type(dep) == "list": + # TODO: optional dependencies + has_optional_deps = True + continue + + # TODO: arch + stack.append((dep["name"], dep["version"])) + + if has_optional_deps: + msg = "Warning: package '{}/{}' (or one of its dependencies) " + msg += "has optional dependencies that are not supported yet: #27" + print(msg.format(root_package["Package"], arch)) + + if unmet_dependencies: + msg = "Warning: the following packages have unmet dependencies: {}" + print(msg.format(",".join([up[0] for up in unmet_dependencies]))) + + return root_package, dependencies + +def _new(rctx, sources, archs): + index = _index(rctx, sources, archs) + + return struct( + resolve_all = lambda **kwargs: _resolve_all(index, **kwargs), + resolve_package = lambda **kwargs: _resolve_package(index, **kwargs), + ) + package_index = struct( new = _new, + parse_depends = _parse_depends, # NOTE: these are exposed here for testing purposes, DO NOT USE OTHERWISE _fetch_package_index = _fetch_package_index, _parse_package_index = _parse_package_index, _package_set = _package_set, _package_get = _package_get, + _index = _index, ) diff --git a/apt/private/package_resolution.bzl b/apt/private/package_resolution.bzl deleted file mode 100644 index c52041b..0000000 --- a/apt/private/package_resolution.bzl +++ /dev/null @@ -1,156 +0,0 @@ -"package resolution" - -load(":version.bzl", version_lib = "version") - -def _parse_dep(raw): - raw = raw.strip() # remove leading & trailing whitespace - name = None - version = None - archs = None - - sqb_start_i = raw.find("[") - if sqb_start_i != -1: - sqb_end_i = raw.find("]") - if sqb_end_i == -1: - fail('invalid version string %s expected a closing brackets "]"' % raw) - archs = raw[sqb_start_i + 1:sqb_end_i].strip().split(" ") - raw = raw[:sqb_start_i] + raw[sqb_end_i + 1:] - - paren_start_i = raw.find("(") - if paren_start_i != -1: - paren_end_i = raw.find(")") - if paren_end_i == -1: - fail('invalid version string %s expected a closing paren ")"' % raw) - name = raw[:paren_start_i].strip() - version_and_constraint = raw[paren_start_i + 1:paren_end_i].strip() - version = version_lib.parse_version_and_constraint(version_and_constraint) - raw = raw[:paren_start_i] + raw[paren_end_i + 1:] - - # Depends: python3:any - # is equivalent to - # Depends: python3 [any] - colon_i = raw.find(":") - if colon_i != -1: - arch_after_colon = raw[colon_i + 1:] - raw = raw[:colon_i] - archs = [arch_after_colon.strip()] - - name = raw.strip() - return {"name": name, "version": version, "arch": archs} - -def _parse_depends(depends_raw): - depends = [] - for dep in depends_raw.split(","): - if dep.find("|") != -1: - depends.append([ - _parse_dep(adep) - for adep in dep.split("|") - ]) - else: - depends.append(_parse_dep(dep)) - - return depends - -def _resolve_package(index, arch, name, version): - # Get available versions of the package - versions = index.package_get(arch, name) - - # Order packages by highest to lowest - versions = version_lib.sort(versions, reverse = True) - package = None - if version: - for va in versions: - op, vb = version - if version_lib.compare(va, op, vb): - package = index.package_get(arch, name, va) - - # Since versions are ordered by hight to low, the first - # satisfied version will be the highest version and - # rules_distroless ignores Priority field so it's safe. - # TODO: rethink this `break` with issue #34 - break - elif len(versions) > 0: - # First element in the versions list is the latest version. - version = versions[0] - package = index.package_get(arch, name, version) - return package - -def _resolve_all(index, arch, name, version, include_transitive): - root_package = None - already_recursed = {} - unmet_dependencies = [] - dependencies = [] - has_optional_deps = False - iteration_max = 2147483646 - - stack = [(name, version)] - - for i in range(0, iteration_max + 1): - if not len(stack): - break - if i == iteration_max: - fail("resolve_dependencies exhausted the iteration") - (name, version) = stack.pop() - - package = _resolve_package(index, arch, name, version) - - if not package: - key = "%s~~%s" % (name, version[1] if version else "") - unmet_dependencies.append((name, version)) - continue - - if i == 0: - # Set the root package - root_package = package - - key = "%s~~%s" % (package["Package"], package["Version"]) - - # If we encountered package before in the transitive closure, skip it - if key in already_recursed: - continue - - if i != 0: - # Add it to the dependencies - already_recursed[key] = True - dependencies.append(package) - - deps = [] - - # Extend the lookup with all the items in the dependency closure - if "Pre-Depends" in package and include_transitive: - deps.extend(_parse_depends(package["Pre-Depends"])) - - # Extend the lookup with all the items in the dependency closure - if "Depends" in package and include_transitive: - deps.extend(_parse_depends(package["Depends"])) - - for dep in deps: - if type(dep) == "list": - # TODO: optional dependencies - has_optional_deps = True - continue - - # TODO: arch - stack.append((dep["name"], dep["version"])) - - if has_optional_deps: - msg = "Warning: package '{}/{}' (or one of its dependencies) " - msg += "has optional dependencies that are not supported yet: #27" - print(msg.format(root_package["Package"], arch)) - - if unmet_dependencies: - msg = "Warning: the following packages have unmet dependencies: {}" - print(msg.format(",".join([up[0] for up in unmet_dependencies]))) - - return root_package, dependencies - -def _new(index): - return struct( - resolve_all = lambda **kwargs: _resolve_all(index, **kwargs), - resolve_package = lambda **kwargs: _resolve_package(index, **kwargs), - ) - -package_resolution = struct( - new = _new, - parse_depends = _parse_depends, -) diff --git a/apt/private/resolve.bzl b/apt/private/resolve.bzl index 3f16e10..42b5e7b 100644 --- a/apt/private/resolve.bzl +++ b/apt/private/resolve.bzl @@ -3,7 +3,6 @@ load("@aspect_bazel_lib//lib:repo_utils.bzl", "repo_utils") load(":lockfile.bzl", "lockfile") load(":package_index.bzl", "package_index") -load(":package_resolution.bzl", "package_resolution") def _parse_manifest(rctx, yq_toolchain_prefix, manifest): is_windows = repo_utils.is_windows(rctx) @@ -49,7 +48,6 @@ def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): )) pkgindex = package_index.new(rctx, sources = sources, archs = manifest["archs"]) - pkgresolution = package_resolution.new(index = pkgindex) lockf = lockfile.empty(rctx) for arch in manifest["archs"]: @@ -59,10 +57,10 @@ def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): fail("Duplicate package, {}. Please remove it from your manifest".format(dep_constraint)) dep_constraint_set[dep_constraint] = True - constraint = package_resolution.parse_depends(dep_constraint).pop() + constraint = package_index.parse_depends(dep_constraint).pop() rctx.report_progress("Resolving %s" % dep_constraint) - package, dependencies = pkgresolution.resolve_all( + package, dependencies = pkgindex.resolve_all( arch = arch, name = constraint["name"], version = constraint["version"], diff --git a/apt/tests/BUILD.bazel b/apt/tests/BUILD.bazel index cd723b0..dc8fa8e 100644 --- a/apt/tests/BUILD.bazel +++ b/apt/tests/BUILD.bazel @@ -1,9 +1,6 @@ load(":package_index_test.bzl", "package_index_tests") -load(":package_resolution_test.bzl", "package_resolution_tests") load(":version_test.bzl", "version_tests") package_index_tests() -package_resolution_tests() - version_tests() diff --git a/apt/tests/package_index_test.bzl b/apt/tests/package_index_test.bzl index 4f850e0..806e016 100644 --- a/apt/tests/package_index_test.bzl +++ b/apt/tests/package_index_test.bzl @@ -94,7 +94,7 @@ def _package_set_get_test(ctx): package_set_get_test = unittest.make(_package_set_get_test) -def _new_test(ctx): +def _index_test(ctx): env = unittest.begin(ctx) arch = "arm64" @@ -112,7 +112,7 @@ def _new_test(ctx): execute = mock.execute([struct(return_code = 0)]), ) - actual = package_index.new(mock_rctx, sources = sources, archs = [arch]) + actual = package_index._index(mock_rctx, sources = sources, archs = [arch]) expected_pkg = mock.pkg(arch, name, version) expected_pkg["Root"] = url @@ -125,10 +125,111 @@ def _new_test(ctx): return unittest.end(env) -new_test = unittest.make(_new_test) +index_test = unittest.make(_index_test) + +def _parse_depends_test(ctx): + env = unittest.begin(ctx) + + parameters = { + " | ".join([ + "libc6 (>= 2.2.1), default-mta", + "mail-transport-agent", + ]): [ + {"name": "libc6", "version": (">=", "2.2.1"), "arch": None}, + [ + {"name": "default-mta", "version": None, "arch": None}, + {"name": "mail-transport-agent", "version": None, "arch": None}, + ], + ], + ", ".join([ + "libluajit5.1-dev [i386 amd64 powerpc mips]", + "liblua5.1-dev [hurd-i386 ia64 s390x sparc]", + ]): [ + { + "name": "libluajit5.1-dev", + "version": None, + "arch": ["i386", "amd64", "powerpc", "mips"], + }, + { + "name": "liblua5.1-dev", + "version": None, + "arch": ["hurd-i386", "ia64", "s390x", "sparc"], + }, + ], + " | ".join([ + "emacs", + "emacsen, make, debianutils (>= 1.7)", + ]): [ + [ + {"name": "emacs", "version": None, "arch": None}, + {"name": "emacsen", "version": None, "arch": None}, + ], + {"name": "make", "version": None, "arch": None}, + {"name": "debianutils", "version": (">=", "1.7"), "arch": None}, + ], + ", ".join([ + "libcap-dev [!kfreebsd-i386 !hurd-i386]", + "autoconf", + "debhelper (>> 5.0.0)", + "file", + "libc6 (>= 2.7-1)", + "libpaper1", + "psutils", + ]): [ + {"name": "libcap-dev", "version": None, "arch": ["!kfreebsd-i386", "!hurd-i386"]}, + {"name": "autoconf", "version": None, "arch": None}, + {"name": "debhelper", "version": (">>", "5.0.0"), "arch": None}, + {"name": "file", "version": None, "arch": None}, + {"name": "libc6", "version": (">=", "2.7-1"), "arch": None}, + {"name": "libpaper1", "version": None, "arch": None}, + {"name": "psutils", "version": None, "arch": None}, + ], + "python3:any": [ + {"name": "python3", "version": None, "arch": ["any"]}, + ], + " | ".join([ + "gcc-i686-linux-gnu (>= 4:10.2)", + "gcc:i386, g++-i686-linux-gnu (>= 4:10.2)", + "g++:i386, dpkg-cross", + ]): [ + [ + {"name": "gcc-i686-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, + {"name": "gcc", "version": None, "arch": ["i386"]}, + ], + [ + {"name": "g++-i686-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, + {"name": "g++", "version": None, "arch": ["i386"]}, + ], + {"name": "dpkg-cross", "version": None, "arch": None}, + ], + " | ".join([ + "gcc-x86-64-linux-gnu (>= 4:10.2)", + "gcc:amd64, g++-x86-64-linux-gnu (>= 4:10.2)", + "g++:amd64, dpkg-cross", + ]): [ + [ + {"name": "gcc-x86-64-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, + {"name": "gcc", "version": None, "arch": ["amd64"]}, + ], + [ + {"name": "g++-x86-64-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, + {"name": "g++", "version": None, "arch": ["amd64"]}, + ], + {"name": "dpkg-cross", "version": None, "arch": None}, + ], + } + + for deps, expected in parameters.items(): + actual = package_index.parse_depends(deps) + asserts.equals(env, expected, actual) + + return unittest.end(env) + +parse_depends_test = unittest.make(_parse_depends_test) def package_index_tests(): fetch_package_index_test(name = _TEST_SUITE_PREFIX + "_fetch_package_index") parse_package_index_test(name = _TEST_SUITE_PREFIX + "_parse_package_index") package_set_get_test(name = _TEST_SUITE_PREFIX + "_package_set_get") - new_test(name = _TEST_SUITE_PREFIX + "new") + index_test(name = _TEST_SUITE_PREFIX + "_index") + parse_depends_test(name = _TEST_SUITE_PREFIX + "parse_depends") diff --git a/apt/tests/package_resolution_test.bzl b/apt/tests/package_resolution_test.bzl deleted file mode 100644 index 59a6ccb..0000000 --- a/apt/tests/package_resolution_test.bzl +++ /dev/null @@ -1,109 +0,0 @@ -"unit tests for version parsing" - -load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") -load("//apt/private:package_resolution.bzl", "package_resolution") - -_TEST_SUITE_PREFIX = "package_resolution/" - -def _parse_depends_test(ctx): - env = unittest.begin(ctx) - - parameters = { - " | ".join([ - "libc6 (>= 2.2.1), default-mta", - "mail-transport-agent", - ]): [ - {"name": "libc6", "version": (">=", "2.2.1"), "arch": None}, - [ - {"name": "default-mta", "version": None, "arch": None}, - {"name": "mail-transport-agent", "version": None, "arch": None}, - ], - ], - ", ".join([ - "libluajit5.1-dev [i386 amd64 powerpc mips]", - "liblua5.1-dev [hurd-i386 ia64 s390x sparc]", - ]): [ - { - "name": "libluajit5.1-dev", - "version": None, - "arch": ["i386", "amd64", "powerpc", "mips"], - }, - { - "name": "liblua5.1-dev", - "version": None, - "arch": ["hurd-i386", "ia64", "s390x", "sparc"], - }, - ], - " | ".join([ - "emacs", - "emacsen, make, debianutils (>= 1.7)", - ]): [ - [ - {"name": "emacs", "version": None, "arch": None}, - {"name": "emacsen", "version": None, "arch": None}, - ], - {"name": "make", "version": None, "arch": None}, - {"name": "debianutils", "version": (">=", "1.7"), "arch": None}, - ], - ", ".join([ - "libcap-dev [!kfreebsd-i386 !hurd-i386]", - "autoconf", - "debhelper (>> 5.0.0)", - "file", - "libc6 (>= 2.7-1)", - "libpaper1", - "psutils", - ]): [ - {"name": "libcap-dev", "version": None, "arch": ["!kfreebsd-i386", "!hurd-i386"]}, - {"name": "autoconf", "version": None, "arch": None}, - {"name": "debhelper", "version": (">>", "5.0.0"), "arch": None}, - {"name": "file", "version": None, "arch": None}, - {"name": "libc6", "version": (">=", "2.7-1"), "arch": None}, - {"name": "libpaper1", "version": None, "arch": None}, - {"name": "psutils", "version": None, "arch": None}, - ], - "python3:any": [ - {"name": "python3", "version": None, "arch": ["any"]}, - ], - " | ".join([ - "gcc-i686-linux-gnu (>= 4:10.2)", - "gcc:i386, g++-i686-linux-gnu (>= 4:10.2)", - "g++:i386, dpkg-cross", - ]): [ - [ - {"name": "gcc-i686-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, - {"name": "gcc", "version": None, "arch": ["i386"]}, - ], - [ - {"name": "g++-i686-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, - {"name": "g++", "version": None, "arch": ["i386"]}, - ], - {"name": "dpkg-cross", "version": None, "arch": None}, - ], - " | ".join([ - "gcc-x86-64-linux-gnu (>= 4:10.2)", - "gcc:amd64, g++-x86-64-linux-gnu (>= 4:10.2)", - "g++:amd64, dpkg-cross", - ]): [ - [ - {"name": "gcc-x86-64-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, - {"name": "gcc", "version": None, "arch": ["amd64"]}, - ], - [ - {"name": "g++-x86-64-linux-gnu", "version": (">=", "4:10.2"), "arch": None}, - {"name": "g++", "version": None, "arch": ["amd64"]}, - ], - {"name": "dpkg-cross", "version": None, "arch": None}, - ], - } - - for deps, expected in parameters.items(): - actual = package_resolution.parse_depends(deps) - asserts.equals(env, expected, actual) - - return unittest.end(env) - -parse_depends_test = unittest.make(_parse_depends_test) - -def package_resolution_tests(): - parse_depends_test(name = _TEST_SUITE_PREFIX + "parse_depends") From a596cba9ea2ba3bbb6174c68df893aed14ec945e Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 13 Sep 2024 17:32:45 +0100 Subject: [PATCH 08/16] refactor: move all manifest parsing and validation to manifest.bzl Cleanup resolve.bzl and package_index.bzl by moving all of the manifest functionality to a separate manifest.bzl file where we now do all of the work to generate the lock: manifest parsing, validation and the package index and resolution. IMHO this is how it should be because the lock is the "frozen state" of the manifest. * _parse() parses the YAML * _from_dict validates the manifest dict and does the rest of the changes that we need to produce a manifest struct * add extra validation for e.g. duplicated architectures * _lock is the only method that's exposed to the outside and it encapsulates all of the other parts, calling _from_dict and all of the package index and resolution, to produce the lock file. * move get_dupes to util.bzl * refactor the "source" struct into the new manifest where we can now centralize a lot of the structure and logic spread across multiple parts of the code. * remove yq_toolchain_prefix since it's always "yq" and, looking at GH code search, this seems to be a copy-paste leftover from rules_js (or the other way around)... the code is always the same and it never receives a string different from "yq". --- apt/BUILD.bazel | 1 + apt/extensions.bzl | 6 +- apt/private/BUILD.bazel | 15 +++- apt/private/manifest.bzl | 126 +++++++++++++++++++++++++++++++ apt/private/package_index.bzl | 56 ++++---------- apt/private/resolve.bzl | 81 +------------------- apt/private/util.bzl | 12 +++ apt/tests/BUILD.bazel | 3 + apt/tests/manifest_test.bzl | 78 +++++++++++++++++++ apt/tests/mocks.bzl | 15 ++++ apt/tests/package_index_test.bzl | 13 ++-- 11 files changed, 277 insertions(+), 129 deletions(-) create mode 100644 apt/private/manifest.bzl create mode 100644 apt/tests/manifest_test.bzl diff --git a/apt/BUILD.bazel b/apt/BUILD.bazel index 6fc5a93..fb9ae09 100644 --- a/apt/BUILD.bazel +++ b/apt/BUILD.bazel @@ -32,6 +32,7 @@ bzl_library( "//apt/private:deb_import", "//apt/private:index", "//apt/private:lockfile", + "//apt/private:manifest", "//apt/private:resolve", ], ) diff --git a/apt/extensions.bzl b/apt/extensions.bzl index 8cef957..ceb91d3 100644 --- a/apt/extensions.bzl +++ b/apt/extensions.bzl @@ -3,7 +3,8 @@ load("//apt/private:deb_import.bzl", "deb_import") load("//apt/private:index.bzl", "deb_package_index") load("//apt/private:lockfile.bzl", "lockfile") -load("//apt/private:resolve.bzl", "deb_resolve", "internal_resolve") +load("//apt/private:manifest.bzl", "manifest") +load("//apt/private:resolve.bzl", "deb_resolve") def _distroless_extension(module_ctx): root_direct_deps = [] @@ -13,9 +14,8 @@ def _distroless_extension(module_ctx): for install in mod.tags.install: lockf = None if not install.lock: - lockf = internal_resolve( + lockf = manifest.lock( module_ctx, - "yq", install.manifest, install.resolve_transitive, ) diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index 8c8d534..6c126cc 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -27,8 +27,6 @@ bzl_library( visibility = ["//apt:__subpackages__"], deps = [ ":lockfile", - "@bazel_tools//tools/build_defs/repo:http.bzl", - "@bazel_tools//tools/build_defs/repo:utils.bzl", ], ) @@ -39,6 +37,18 @@ bzl_library( deps = [":util"], ) +bzl_library( + name = "manifest", + srcs = ["manifest.bzl"], + visibility = ["//apt:__subpackages__"], + deps = [ + ":lockfile", + ":package_index", + ":util", + "@aspect_bazel_lib//lib:repo_utils", + ], +) + bzl_library( name = "package_index", srcs = ["package_index.bzl"], @@ -52,6 +62,7 @@ bzl_library( visibility = ["//apt:__subpackages__"], deps = [ ":lockfile", + ":manifest", ":package_index", "@aspect_bazel_lib//lib:repo_utils", ], diff --git a/apt/private/manifest.bzl b/apt/private/manifest.bzl new file mode 100644 index 0000000..c96d8cd --- /dev/null +++ b/apt/private/manifest.bzl @@ -0,0 +1,126 @@ +"manifest" + +load("@aspect_bazel_lib//lib:repo_utils.bzl", "repo_utils") +load(":lockfile.bzl", "lockfile") +load(":package_index.bzl", "package_index") +load(":util.bzl", "util") + +def _parse(rctx, manifest_label): + host_yq = Label("@yq_{}//:yq{}".format( + repo_utils.platform(rctx), + ".exe" if repo_utils.is_windows(rctx) else "", + )) + + yq_args = [ + str(rctx.path(host_yq)), + str(rctx.path(manifest_label)), + "-o=json", + ] + + result = rctx.execute(yq_args) + if result.return_code: + err = "failed to parse manifest - '{}' exited with {}: " + err += "\nSTDOUT:\n{}\nSTDERR:\n{}" + fail(err.format( + " ".join(yq_args), + result.return_code, + result.stdout, + result.stderr, + )) + + return json.decode(result.stdout if result.stdout != "null" else "{}") + +def _source(src): + _ext = lambda name, ext: "%s%s" % (name, (".%s" % ext) if ext else "") + + src["url"] = src["url"].rstrip("/") + + index = "Packages" + + index_path = "dists/{dist}/{comp}/binary-{arch}".format(**src) + output = "{dist}/{comp}/{arch}/{index}".format(index = index, **src) + + return struct( + arch = src["arch"], + base_url = src["url"], + index = index, + index_full = lambda ext: _ext(index, ext), + output = output, + output_full = lambda ext: _ext(output, ext), + index_path = index_path, + index_url = lambda ext: "/".join((src["url"], index_path, _ext(index, ext))), + ) + +def _from_dict(manifest, manifest_label): + manifest["label"] = manifest_label + + if manifest["version"] != 1: + err = "Unsupported manifest version: {}. Please use `version: 1`" + fail(err.format(manifest["version"])) + + for key in ("sources", "archs", "packages"): + if type(manifest[key]) != "list": + fail("`{}` should be an array".format(key)) + + for key in ("archs", "packages"): + dupes = util.get_dupes(manifest[key]) + if dupes: + err = "Duplicate {}: {}. Please remove them from manifest {}" + fail(err.format(key, dupes, manifest["label"])) + + sources = [] + + for arch in manifest["archs"]: + for src in manifest["sources"]: + dist, components = src["channel"].split(" ", 1) + + for comp in components.split(" "): + src["dist"] = dist + src["comp"] = comp + src["arch"] = arch + + sources.append(_source(src)) + + manifest["sources"] = sources + + return struct(**manifest) + +def _lock(rctx, manifest, include_transitive): + pkgindex = package_index.new(rctx, manifest) + + lockf = lockfile.empty(rctx) + + for arch in manifest.archs: + for package_name in manifest.packages: + resolved = package_index.parse_depends(package_name).pop() + + rctx.report_progress("Resolving %s" % package_name) + package, dependencies = pkgindex.resolve_all( + arch = arch, + name = resolved["name"], + version = resolved["version"], + include_transitive = include_transitive, + ) + + if not package: + fail("Unable to locate package `%s`" % package_name) + + lockf.add_package(package, arch) + + for dep in dependencies: + lockf.add_package(dep, arch) + lockf.add_package_dependency(package, dep, arch) + + return lockf + +manifest = struct( + lock = lambda rctx, manifest_label, include_transitive: _lock( + rctx, + _from_dict(_parse(rctx, manifest_label), manifest_label), + include_transitive, + ), + # NOTE: these are exposed here for testing purposes, DO NOT USE OTHERWISE + _source = _source, + _from_dict = _from_dict, + _lock = _lock, +) diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index 43e6961..b5142f4 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -2,7 +2,7 @@ load(":version.bzl", version_lib = "version") -def _fetch_package_index(rctx, url, dist, comp, arch): +def _fetch_package_index(rctx, source): # See https://linux.die.net/man/1/xz and https://linux.die.net/man/1/gzip # --keep -> keep the original file (Bazel might be still committing the output to the cache) # --force -> overwrite the output if it exists @@ -15,24 +15,8 @@ def _fetch_package_index(rctx, url, dist, comp, arch): failed_attempts = [] for ext, cmd in supported_extensions.items(): - index = "Packages" - index_full = "{}.{}".format(index, ext) - - output = "{dist}/{comp}/{arch}/{index}".format( - dist = dist, - comp = comp, - arch = arch, - index = index, - ) - output_full = "{}.{}".format(output, ext) - - index_url = "{url}/dists/{dist}/{comp}/binary-{arch}/{index_full}".format( - url = url, - dist = dist, - comp = comp, - arch = arch, - index_full = index_full, - ) + index_url = source.index_url(ext) + output_full = source.output_full(ext) download = rctx.download( url = index_url, @@ -70,7 +54,7 @@ def _fetch_package_index(rctx, url, dist, comp, arch): fail("Failed to fetch packages index:\n" + "\n".join(attempt_messages)) - return rctx.read(output) + return rctx.read(source.output) def _package_set(packages, keys, package): for key in keys[:-1]: @@ -79,7 +63,7 @@ def _package_set(packages, keys, package): packages = packages[key] packages[keys[-1]] = package -def _parse_package_index(packages, contents, arch, root): +def _parse_package_index(packages, contents, source): last_key = "" pkg = {} for group in contents.split("\n\n"): @@ -108,10 +92,10 @@ def _parse_package_index(packages, contents, arch, root): pkg[key] = value if len(pkg.keys()) != 0: - pkg["Root"] = root + pkg["Root"] = source.base_url _package_set( packages, - keys = (arch, pkg["Package"], pkg["Version"]), + keys = (source.arch, pkg["Package"], pkg["Version"]), package = pkg, ) last_key = "" @@ -125,25 +109,17 @@ def _package_get(packages, arch, name, version = None): return versions.get(version, None) -def _index(rctx, sources, archs): +def _index(rctx, manifest): packages = {} - for arch in archs: - for (url, dist, comp) in sources: - # We assume that `url` does not contain a trailing forward slash when passing to - # functions below. If one is present, remove it. Some HTTP servers do not handle - # redirects properly when a path contains "//" - # (ie. https://mymirror.com/ubuntu//dists/noble/stable/... may return a 404 - # on misconfigured HTTP servers) - url = url.rstrip("/") - - index = "{}/{} for {}".format(dist, comp, arch) + for source in manifest.sources: + index = "%s/%s" % (source.index_path, source.index) - rctx.report_progress("Fetching package index: %s" % index) - output = _fetch_package_index(rctx, url, dist, comp, arch) + rctx.report_progress("Fetching package index: %s" % index) + output = _fetch_package_index(rctx, source) - rctx.report_progress("Parsing package index: %s" % index) - _parse_package_index(packages, output, arch, url) + rctx.report_progress("Parsing package index: %s" % index) + _parse_package_index(packages, output, source) return struct( packages = packages, @@ -294,8 +270,8 @@ def _resolve_all(index, arch, name, version, include_transitive): return root_package, dependencies -def _new(rctx, sources, archs): - index = _index(rctx, sources, archs) +def _new(rctx, manifest): + index = _index(rctx, manifest) return struct( resolve_all = lambda **kwargs: _resolve_all(index, **kwargs), diff --git a/apt/private/resolve.bzl b/apt/private/resolve.bzl index 42b5e7b..5bb1eb0 100644 --- a/apt/private/resolve.bzl +++ b/apt/private/resolve.bzl @@ -1,81 +1,6 @@ "repository rule for resolving and generating lockfile" -load("@aspect_bazel_lib//lib:repo_utils.bzl", "repo_utils") -load(":lockfile.bzl", "lockfile") -load(":package_index.bzl", "package_index") - -def _parse_manifest(rctx, yq_toolchain_prefix, manifest): - is_windows = repo_utils.is_windows(rctx) - host_yq = Label("@{}_{}//:yq{}".format(yq_toolchain_prefix, repo_utils.platform(rctx), ".exe" if is_windows else "")) - yq_args = [ - str(rctx.path(host_yq)), - str(rctx.path(manifest)), - "-o=json", - ] - result = rctx.execute(yq_args) - if result.return_code: - fail("failed to parse manifest yq. '{}' exited with {}: \nSTDOUT:\n{}\nSTDERR:\n{}".format(" ".join(yq_args), result.return_code, result.stdout, result.stderr)) - - return json.decode(result.stdout if result.stdout != "null" else "{}") - -# This function is shared between BZLMOD and WORKSPACE implementations. -# INTERNAL: DO NOT DEPEND! -# buildifier: disable=function-docstring-args -def internal_resolve(rctx, yq_toolchain_prefix, manifest, include_transitive): - manifest = _parse_manifest(rctx, yq_toolchain_prefix, manifest) - - if manifest["version"] != 1: - fail("Unsupported manifest version, {}. Please use `version: 1` manifest.".format(manifest["version"])) - - if type(manifest["sources"]) != "list": - fail("`sources` should be an array") - - if type(manifest["archs"]) != "list": - fail("`archs` should be an array") - - if type(manifest["packages"]) != "list": - fail("`packages` should be an array") - - sources = [] - - for src in manifest["sources"]: - distr, components = src["channel"].split(" ", 1) - for comp in components.split(" "): - sources.append(( - src["url"], - distr, - comp, - )) - - pkgindex = package_index.new(rctx, sources = sources, archs = manifest["archs"]) - lockf = lockfile.empty(rctx) - - for arch in manifest["archs"]: - dep_constraint_set = {} - for dep_constraint in manifest["packages"]: - if dep_constraint in dep_constraint_set: - fail("Duplicate package, {}. Please remove it from your manifest".format(dep_constraint)) - dep_constraint_set[dep_constraint] = True - - constraint = package_index.parse_depends(dep_constraint).pop() - - rctx.report_progress("Resolving %s" % dep_constraint) - package, dependencies = pkgindex.resolve_all( - arch = arch, - name = constraint["name"], - version = constraint["version"], - include_transitive = include_transitive, - ) - - if not package: - fail("Unable to locate package `%s`" % dep_constraint) - - lockf.add_package(package, arch) - - for dep in dependencies: - lockf.add_package(dep, arch) - lockf.add_package_dependency(package, dep, arch) - return lockf +load(":manifest.bzl", "manifest") _BUILD_TMPL = """ filegroup( @@ -96,7 +21,8 @@ sh_binary( """ def _deb_resolve_impl(rctx): - lockf = internal_resolve(rctx, rctx.attr.yq_toolchain_prefix, rctx.attr.manifest, rctx.attr.resolve_transitive) + lockf = manifest.lock(rctx, rctx.attr.manifest, rctx.attr.resolve_transitive) + lockf.write("lock.json") lock_filename = rctx.attr.manifest.name.replace(".yaml", ".lock.json") @@ -126,7 +52,6 @@ deb_resolve = repository_rule( attrs = { "manifest": attr.label(), "resolve_transitive": attr.bool(default = True), - "yq_toolchain_prefix": attr.string(default = "yq"), "_copy_sh_tmpl": attr.label( default = "//apt/private:copy.sh.tmpl", doc = "INTERNAL, DO NOT USE - " + diff --git a/apt/private/util.bzl b/apt/private/util.bzl index cf05911..0ead44a 100644 --- a/apt/private/util.bzl +++ b/apt/private/util.bzl @@ -1,8 +1,20 @@ "utilities" +def _get_dupes(list_): + set_ = {} + dupes = [] + + for value in list_: + if value in set_: + dupes.append(value) + set_[value] = True + + return dupes + def _sanitize(str): return str.replace("+", "-p-").replace(":", "-").replace("~", "_") util = struct( + get_dupes = _get_dupes, sanitize = _sanitize, ) diff --git a/apt/tests/BUILD.bazel b/apt/tests/BUILD.bazel index dc8fa8e..b67388a 100644 --- a/apt/tests/BUILD.bazel +++ b/apt/tests/BUILD.bazel @@ -1,6 +1,9 @@ +load(":manifest_test.bzl", "manifest_tests") load(":package_index_test.bzl", "package_index_tests") load(":version_test.bzl", "version_tests") +manifest_tests() + package_index_tests() version_tests() diff --git a/apt/tests/manifest_test.bzl b/apt/tests/manifest_test.bzl new file mode 100644 index 0000000..4126c3c --- /dev/null +++ b/apt/tests/manifest_test.bzl @@ -0,0 +1,78 @@ +"unit tests for package index" + +load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") +load("//apt/private:manifest.bzl", "manifest") +load(":mocks.bzl", "mock") + +_TEST_SUITE_PREFIX = "manifest/" + +def _source_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + + src = { + "arch": arch, + "url": "http://mirror.com", + "dist": "bullseye", + "comp": "main", + } + + actual = manifest._source(src) + + asserts.true(env, actual.index_full("foo").endswith(".foo")) + + return unittest.end(env) + +source_test = unittest.make(_source_test) + +def _from_dict_test(ctx): + env = unittest.begin(ctx) + + url = "http://mirror.com" + arch = "arm64" + name = "foo" + + actual = mock.manifest(url, arch, name) + + asserts.equals(env, actual.label, "mock_manifest") + + return unittest.end(env) + +from_dict_test = unittest.make(_from_dict_test) + +def _lock_test(ctx): + env = unittest.begin(ctx) + + arch = "arm64" + name = "foo" + version = "0.3.20-1~bullseye.1" + + output = mock.packages_index(arch, name, version) + + url = "http://mirror.com" + + manifest_ = mock.manifest(url, arch, name) + + mock_rctx = mock.rctx( + read = mock.read(output), + download = mock.download(success = True), + execute = mock.execute([struct(return_code = 0)]), + ) + + actual = manifest._lock( + mock_rctx, + manifest_, + include_transitive = True, + ) + + #asserts.equals(env, actual.label, manifest_label) + + return unittest.end(env) + +lock_test = unittest.make(_lock_test) + +def manifest_tests(): + source_test(name = _TEST_SUITE_PREFIX + "_source") + from_dict_test(name = _TEST_SUITE_PREFIX + "_from_dict") + lock_test(name = _TEST_SUITE_PREFIX + "_lock_test") diff --git a/apt/tests/mocks.bzl b/apt/tests/mocks.bzl index 2008f52..fc5568e 100644 --- a/apt/tests/mocks.bzl +++ b/apt/tests/mocks.bzl @@ -1,5 +1,7 @@ "mocks for unit tests" +load("//apt/private:manifest.bzl", "manifest") + def _report_progress(): return lambda msg: None @@ -58,6 +60,17 @@ def _packages_index(arch, name, version): for k, v in _pkg(arch, name, version).items() ]) + "\n" +def _manifest_dict(url, arch, name): + return { + "version": 1, + "sources": [{"channel": "bullseye main", "url": url}], + "archs": [arch], + "packages": [name], + } + +def _manifest(url, arch, name, manifest_label = "mock_manifest"): + return manifest._from_dict(_manifest_dict(url, arch, name), manifest_label) + mock = struct( report_progress = _report_progress, read = _read, @@ -66,4 +79,6 @@ mock = struct( rctx = _rctx, pkg = _pkg, packages_index = _packages_index, + manifest_dict = _manifest_dict, + manifest = _manifest, ) diff --git a/apt/tests/package_index_test.bzl b/apt/tests/package_index_test.bzl index 806e016..f9b0813 100644 --- a/apt/tests/package_index_test.bzl +++ b/apt/tests/package_index_test.bzl @@ -1,6 +1,7 @@ "unit tests for package index" load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") +load("//apt/private:manifest.bzl", "manifest") load("//apt/private:package_index.bzl", "package_index") load(":mocks.bzl", "mock") @@ -16,8 +17,8 @@ def _fetch_package_index_test(ctx): output = mock.packages_index(arch, name, version) url = "http://mirror.com" - dist = "bullseye" - comp = "main" + + source = mock.manifest(url, arch, name).sources[0] mock_rctx = mock.rctx( read = mock.read(output), @@ -25,7 +26,7 @@ def _fetch_package_index_test(ctx): execute = mock.execute([struct(return_code = 0)]), ) - actual = package_index._fetch_package_index(mock_rctx, url, dist, comp, arch) + actual = package_index._fetch_package_index(mock_rctx, source) asserts.equals(env, output, actual) @@ -43,9 +44,10 @@ def _parse_package_index_test(ctx): output = mock.packages_index(arch, name, version) url = "http://snapshot.foo.com/bar/baz" + source = mock.manifest(url, arch, name).sources[0] actual = {} - package_index._parse_package_index(actual, output, arch, url) + package_index._parse_package_index(actual, output, source) asserts.equals(env, "foo", actual[arch][name][version]["Package"]) asserts.equals(env, url, actual[arch][name][version]["Root"]) @@ -104,7 +106,6 @@ def _index_test(ctx): output = mock.packages_index(arch, name, version) url = "http://mirror.com" - sources = [(url, "bullseye", "main")] mock_rctx = mock.rctx( read = mock.read(output), @@ -112,7 +113,7 @@ def _index_test(ctx): execute = mock.execute([struct(return_code = 0)]), ) - actual = package_index._index(mock_rctx, sources = sources, archs = [arch]) + actual = package_index._index(mock_rctx, mock.manifest(url, arch, name)) expected_pkg = mock.pkg(arch, name, version) expected_pkg["Root"] = url From 8b8d0dc0adeb082e9a4749e5037c08b014942963 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 13 Sep 2024 19:13:13 +0100 Subject: [PATCH 09/16] refactor: lockfile, pkg, and lock v1-to-v2 auto-migration * move all of the "package logic" to pkg.bzl * The v2 lockfile format: * doesn't need the fast_package_lookup dict because it's already using a dict to store the packages. * has the dependencies sorted so the lockfile now has stable serialization and the diffs of the lock are actually usable and useful to compare with the changes to the manifest. * removes the package and dependency key from the lockfile, now it's done via an external function (make_deb_import_key in deb_import.bzl) * Remove add_package_dependency from the lockfile API. Now, the package dependencies are passed as an argument to add_package. This way, the lockfile functionality is fully contained in lockfile.bzl and e.g. we can remove the "consistency checks" that were only needed because users could forget to add the dependency as a package to the lockfile. * Ensure backwards-compatibility by internally converting lock v1 to v2. Also, when a lock is set and it's in v1 format, there's a reminder that encourages the users to run @repo//:lock to update the lockfile format. --- apt/extensions.bzl | 27 ++- apt/index.bzl | 6 +- apt/private/BUILD.bazel | 20 ++- apt/private/deb_import.bzl | 9 + apt/private/index.bzl | 68 ++++---- apt/private/lockfile.bzl | 161 +++++++++++------- apt/private/manifest.bzl | 6 +- apt/private/pkg.bzl | 42 +++++ examples/debian_snapshot_security/BUILD.bazel | 2 +- 9 files changed, 220 insertions(+), 121 deletions(-) create mode 100644 apt/private/pkg.bzl diff --git a/apt/extensions.bzl b/apt/extensions.bzl index ceb91d3..225893f 100644 --- a/apt/extensions.bzl +++ b/apt/extensions.bzl @@ -1,6 +1,6 @@ "apt extensions" -load("//apt/private:deb_import.bzl", "deb_import") +load("//apt/private:deb_import.bzl", "deb_import", "make_deb_import_key") load("//apt/private:index.bzl", "deb_package_index") load("//apt/private:lockfile.bzl", "lockfile") load("//apt/private:manifest.bzl", "manifest") @@ -21,23 +21,22 @@ def _distroless_extension(module_ctx): ) if not install.nolock: - # buildifier: disable=print - print("\nNo lockfile was given, please run `bazel run @%s//:lock` to create the lockfile." % install.name) + print( + "\nNo lockfile was given. To create one please run " + + "`bazel run @{}//:lock`".format(install.name), + ) else: lockf = lockfile.from_json(module_ctx, module_ctx.read(install.lock)) - for (package) in lockf.packages(): - package_key = lockfile.make_package_key( - package["name"], - package["version"], - package["arch"], - ) + for architectures in lockf.packages.values(): + for package in architectures.values(): + deb_import_key = make_deb_import_key(install.name, package) - deb_import( - name = "%s_%s" % (install.name, package_key), - urls = [package["url"]], - sha256 = package["sha256"], - ) + deb_import( + name = deb_import_key, + url = package.url, + sha256 = package.sha256, + ) deb_resolve( name = install.name + "_resolve", diff --git a/apt/index.bzl b/apt/index.bzl index b23c31b..e8fe772 100644 --- a/apt/index.bzl +++ b/apt/index.bzl @@ -92,8 +92,10 @@ def deb_index( ) if not lock and not nolock: - # buildifier: disable=print - print("\nNo lockfile was given, please run `bazel run @%s//:lock` to create the lockfile." % name) + print( + "\nNo lockfile was given. To create one please run " + + "`bazel run @{}//:lock`".format(name), + ) _deb_package_index( name = name, diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index 6c126cc..287c316 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -26,6 +26,7 @@ bzl_library( srcs = ["index.bzl"], visibility = ["//apt:__subpackages__"], deps = [ + ":deb_import", ":lockfile", ], ) @@ -34,7 +35,13 @@ bzl_library( name = "lockfile", srcs = ["lockfile.bzl"], visibility = ["//apt:__subpackages__"], - deps = [":util"], + deps = [":pkg"], +) + +bzl_library( + name = "pkg", + srcs = ["pkg.bzl"], + visibility = ["//apt:__subpackages__"], ) bzl_library( @@ -79,7 +86,16 @@ bzl_library( name = "deb_import", srcs = ["deb_import.bzl"], visibility = ["//apt:__subpackages__"], - deps = ["@bazel_tools//tools/build_defs/repo:http.bzl"], + deps = [ + ":util", + # NOTE: I had to add cache.bzl because bazel test //docs:update_1_test was failing with + # Stardoc documentation generation failed: + # File /bin/docs/apt_stardoc.runfiles/bazel_tools/tools/build_defs/repo/http.bzl imported ':cache.bzl', + # yet /bin/docs/apt_stardoc.runfiles/bazel_tools/tools/build_defs/repo/cache.bzl was not found. + "@bazel_tools//tools/build_defs/repo:cache.bzl", + "@bazel_tools//tools/build_defs/repo:http.bzl", + "@bazel_tools//tools/build_defs/repo:utils.bzl", + ], ) bzl_library( diff --git a/apt/private/deb_import.bzl b/apt/private/deb_import.bzl index 864d887..d05ba49 100644 --- a/apt/private/deb_import.bzl +++ b/apt/private/deb_import.bzl @@ -1,6 +1,7 @@ "deb_import" load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load(":util.bzl", "util") # BUILD.bazel template _DEB_IMPORT_BUILD_TMPL = ''' @@ -53,6 +54,14 @@ filegroup( ) ''' +def make_deb_import_key(repo_name, package): + return "{}_{}_{}_{}".format( + repo_name, + util.sanitize(package.name), + package.arch, + util.sanitize(package.version), + ) + def deb_import(**kwargs): http_archive( build_file_content = _DEB_IMPORT_BUILD_TMPL, diff --git a/apt/private/index.bzl b/apt/private/index.bzl index d2ebf69..18b1bf8 100644 --- a/apt/private/index.bzl +++ b/apt/private/index.bzl @@ -1,5 +1,6 @@ "apt-get" +load(":deb_import.bzl", "make_deb_import_key") load(":lockfile.bzl", "lockfile") # header template for packages.bzl file @@ -15,7 +16,7 @@ def {}_packages(): _DEB_IMPORT_TMPL = '''\ deb_import( name = "{name}", - urls = {urls}, + urls = ["{urls}"], sha256 = "{sha256}", ) ''' @@ -39,45 +40,42 @@ def _deb_package_index_impl(rctx): if not lock_content: package_defs = [_DEB_IMPORT_HEADER_TMPL.format(rctx.attr.name)] - if len(lockf.packages()) < 1: + if not lockf.packages: package_defs.append(" pass") - for (package) in lockf.packages(): - package_key = lockfile.make_package_key( - package["name"], - package["version"], - package["arch"], - ) - - if not lock_content: - package_defs.append( - _DEB_IMPORT_TMPL.format( - name = "%s_%s" % (rctx.attr.name, package_key), - package_name = package["name"], - urls = [package["url"]], - sha256 = package["sha256"], + for architectures in lockf.packages.values(): + for package in architectures.values(): + deb_import_key = make_deb_import_key(rctx.attr.name, package) + + if not lock_content: + package_defs.append( + _DEB_IMPORT_TMPL.format( + name = deb_import_key, + package_name = package.name, + urls = package.url, + sha256 = package.sha256, + ), + ) + + repo_name = "%s%s" % ("@" if lock_content else "", deb_import_key) + + rctx.file( + "%s/%s/BUILD.bazel" % (package.name, package.arch), + package_template.format( + target_name = package.arch, + src = '"@%s//:data"' % repo_name, + deps = ",\n ".join([ + '"//%s/%s"' % (dep.name, package.arch) + for dep in package.dependencies + ]), + urls = [package.url], + name = package.name, + arch = package.arch, + sha256 = package.sha256, + repo_name = "%s" % repo_name, ), ) - repo_name = "%s%s_%s" % ("@" if lock_content else "", rctx.attr.name, package_key) - - rctx.file( - "%s/%s/BUILD.bazel" % (package["name"], package["arch"]), - package_template.format( - target_name = package["arch"], - src = '"@%s//:data"' % repo_name, - deps = ",\n ".join([ - '"//%s/%s"' % (dep["name"], package["arch"]) - for dep in package["dependencies"] - ]), - urls = [package["url"]], - name = package["name"], - arch = package["arch"], - sha256 = package["sha256"], - repo_name = "%s" % repo_name, - ), - ) - rctx.file("packages.bzl", "\n".join(package_defs)) rctx.file("BUILD.bazel", _BUILD_TMPL.format(rctx.attr.name.split("~")[-1])) diff --git a/apt/private/lockfile.bzl b/apt/private/lockfile.bzl index 09e2fd9..53dbd13 100644 --- a/apt/private/lockfile.bzl +++ b/apt/private/lockfile.bzl @@ -1,82 +1,119 @@ "lock" -load(":util.bzl", "util") +load(":pkg.bzl", "dep", "pkg") -def _make_package_key(name, version, arch): - return "%s_%s_%s" % ( - util.sanitize(name), - util.sanitize(version), - arch, - ) +def __empty(): + return struct(version = 2, packages = {}) -def _package_key(package, arch): - return _make_package_key(package["Package"], package["Version"], arch) +def __has_package(lock, p): + return ( + p.name in lock.packages and + p.arch in lock.packages[p.name] and + p.version == lock.packages[p.name][p.arch].version + ) -def _add_package(lock, package, arch): - k = _package_key(package, arch) - if k in lock.fast_package_lookup: +def __add_package(lock, p, arch): + if __has_package(lock, p): return - lock.packages.append({ - "key": k, - "name": package["Package"], - "version": package["Version"], - "url": "%s/%s" % (package["Root"], package["Filename"]), - "sha256": package["SHA256"], - "arch": arch, - "dependencies": [], - }) - lock.fast_package_lookup[k] = len(lock.packages) - 1 - -def _add_package_dependency(lock, package, dependency, arch): - k = _package_key(package, arch) - if k not in lock.fast_package_lookup: - fail("Broken state: %s is not in the lockfile." % package["Package"]) - i = lock.fast_package_lookup[k] - lock.packages[i]["dependencies"].append(dict( - key = _package_key(dependency, arch), - name = dependency["Package"], - version = dependency["Version"], - )) - -def _has_package(lock, name, version, arch): - key = "%s_%s_%s" % (util.sanitize(name), util.sanitize(version), arch) - return key in lock.fast_package_lookup + + if p.name not in lock.packages: + lock.packages[p.name] = {} + + lock.packages[p.name][p.arch] = p + +def _add_package(lock, package, arch, dependencies_to_add = None): + dependencies_to_add = dependencies_to_add or [] + + p = pkg.from_index(package, arch) + + __add_package(lock, p, arch) + + # NOTE: sorting the dependencies makes the contents + # of the lock file stable and thus they diff better + dependencies_to_add = sorted( + dependencies_to_add, + key = lambda p: (p["Package"], p["Version"]), + ) + + for dependency in dependencies_to_add: + p_dep = pkg.from_index(dependency, arch) + + __add_package(lock, p_dep, arch) + + d = dep.from_index(dependency, arch) + lock.packages[p.name][p.arch].dependencies.append(d) + +def _as_json(lock): + return json.encode_indent( + struct( + version = lock.version, + packages = lock.packages, + ), + ) + +def _write(rctx, lock, out): + return rctx.file(out, _as_json(lock)) def _create(rctx, lock): return struct( - has_package = lambda *args, **kwargs: _has_package(lock, *args, **kwargs), - add_package = lambda *args, **kwargs: _add_package(lock, *args, **kwargs), - add_package_dependency = lambda *args, **kwargs: _add_package_dependency(lock, *args, **kwargs), - packages = lambda: lock.packages, - write = lambda out: rctx.file(out, json.encode_indent(struct(version = lock.version, packages = lock.packages))), - as_json = lambda: json.encode_indent(struct(version = lock.version, packages = lock.packages)), + packages = lock.packages, + add_package = lambda package, arch, dependencies_to_add: _add_package( + lock, + package, + arch, + dependencies_to_add, + ), + as_json = lambda: _as_json(lock), + write = lambda out: _write(rctx, lock, out), ) def _empty(rctx): - lock = struct( - version = 1, - packages = list(), - fast_package_lookup = dict(), - ) - return _create(rctx, lock) + return _create(rctx, __empty()) -def _from_json(rctx, content): - lock = json.decode(content) - if lock["version"] != 1: - fail("invalid lockfile version") +def _from_lock_v1(lock_content): + if lock_content["version"] != 1: + fail("Invalid lockfile version: %s" % lock_content["version"]) + + lockv2 = __empty() + + for package in lock_content["packages"]: + p = pkg.from_lock_v1(package) + __add_package(lockv2, p, p.arch) + + return lockv2 + +def _from_lock_v2(lock_content): + if lock_content["version"] != 2: + fail("Invalid lockfile version: %s" % lock_content["version"]) + + lockv2 = __empty() + + for archs in lock_content["packages"].values(): + for package in archs.values(): + p = pkg.from_lock(package) + __add_package(lockv2, p, p.arch) + + return lockv2 + +def _from_json(rctx, lock_content): + lock_content = json.decode(lock_content) + + if lock_content["version"] == 2: + lock = _from_lock_v2(lock_content) + elif lock_content["version"] == 1: + print( + "\n\nAuto-converting lockfile format from v1 to v2. " + + "To permanently convert an existing lockfile please run " + + "`bazel run @//:lock`\n\n", + ) + + lock = _from_lock_v1(lock_content) + else: + fail("Invalid lockfile version: %s" % lock_content["version"]) - lock = struct( - version = lock["version"], - packages = lock["packages"], - fast_package_lookup = dict(), - ) - for (i, package) in enumerate(lock.packages): - lock.packages[i] = package - lock.fast_package_lookup[package["key"]] = i return _create(rctx, lock) lockfile = struct( empty = _empty, from_json = _from_json, - make_package_key = _make_package_key, ) diff --git a/apt/private/manifest.bzl b/apt/private/manifest.bzl index c96d8cd..ceaf750 100644 --- a/apt/private/manifest.bzl +++ b/apt/private/manifest.bzl @@ -105,11 +105,7 @@ def _lock(rctx, manifest, include_transitive): if not package: fail("Unable to locate package `%s`" % package_name) - lockf.add_package(package, arch) - - for dep in dependencies: - lockf.add_package(dep, arch) - lockf.add_package_dependency(package, dep, arch) + lockf.add_package(package, arch, dependencies) return lockf diff --git a/apt/private/pkg.bzl b/apt/private/pkg.bzl new file mode 100644 index 0000000..68c6d7a --- /dev/null +++ b/apt/private/pkg.bzl @@ -0,0 +1,42 @@ +"pkg" + +def _pkg_from_index(package, arch): + return struct( + name = package["Package"], + version = package["Version"], + url = "%s/%s" % (package["Root"], package["Filename"]), + sha256 = package["SHA256"], + arch = arch, + dependencies = [], + ) + +def _dep_from_index(package, arch): + return struct( + name = package["Package"], + version = package["Version"], + ) + +def _pkg_from_lock(package): + package["dependencies"] = [struct(**d) for d in package["dependencies"]] + return struct(**package) + +def _pkg_from_lock_v1(package): + package["dependencies"] = [ + struct(**{"name": d["name"], "version": d["version"]}) + for d in package["dependencies"] + ] + sorted(package["dependencies"], key = lambda d: (d.name, d.version)) + + package.pop("key") + + return struct(**package) + +pkg = struct( + from_index = _pkg_from_index, + from_lock = _pkg_from_lock, + from_lock_v1 = _pkg_from_lock_v1, +) + +dep = struct( + from_index = _dep_from_index, +) diff --git a/examples/debian_snapshot_security/BUILD.bazel b/examples/debian_snapshot_security/BUILD.bazel index f20f5cb..30d0b4e 100644 --- a/examples/debian_snapshot_security/BUILD.bazel +++ b/examples/debian_snapshot_security/BUILD.bazel @@ -7,7 +7,7 @@ jq( "@apt_security_resolve//:lockfile", ], args = ["-rj"], - filter = '.packages | map(select(.name == "libuuid1")) | .[0].version', + filter = ".packages.libuuid1[] | .version", ) assert_contains( From f47c05985b96c0e6d1467ffece24d866835a497d Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 13 Sep 2024 19:31:46 +0100 Subject: [PATCH 10/16] chore: migrate repo locks to v2 By separating the migration from the previous commit we get to 1. in the previous commit, run all tests with the new code while locks are still v1 2. update the locks n this commit to V2 so we can then re-run all tests in the final state. --- e2e/smoke/bullseye.lock.json | 4586 ++++++------- .../bullseye.lock.json | 5978 ++++++++--------- examples/debian_snapshot/bullseye.lock.json | 4348 ++++++------ examples/ubuntu_snapshot/noble.lock.json | 3458 +++++----- 4 files changed, 8736 insertions(+), 9634 deletions(-) diff --git a/e2e/smoke/bullseye.lock.json b/e2e/smoke/bullseye.lock.json index 5d8640e..fa42b3e 100644 --- a/e2e/smoke/bullseye.lock.json +++ b/e2e/smoke/bullseye.lock.json @@ -1,2403 +1,2189 @@ { - "packages": [ - { - "arch": "amd64", - "dependencies": [], - "key": "ncurses-base_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "ncurses-base", - "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "libncurses6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libncurses6", - "sha256": "5b75c540d26d0525f231d39e5cf27ea7919d57305ba7101ea430c975369095eb", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_amd64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_amd64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "debianutils_4.11.2_amd64", - "name": "debianutils", - "version": "4.11.2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "base-files_11.1-p-deb11u9_amd64", - "name": "base-files", - "version": "11.1+deb11u9" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "bash_5.1-2-p-deb11u1_amd64", - "name": "bash", - "sha256": "f702ef058e762d7208a9c83f6f6bbf02645533bfd615c54e8cdcce842cd57377", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_amd64.deb", - "version": "5.1-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debianutils_4.11.2_amd64", - "name": "debianutils", - "sha256": "83d21669c5957e3eaee20096a7d8c596bd07f57f1e95dc74f192b3fb7bb2e6a9", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_amd64.deb", - "version": "4.11.2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "base-files_11.1-p-deb11u9_amd64", - "name": "base-files", - "sha256": "1ff08cf6e1b97af1e37cda830f3658f9af43a906abb80a21951c81aea02ce230", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_amd64.deb", - "version": "11.1+deb11u9" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4-p-b1_amd64", - "name": "coreutils", - "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", - "version": "8.32-4+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", - "version": "3.1-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", - "version": "2.2.53-10" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - } - ], - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", - "version": "1.20.13" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", - "version": "1.0.8-4" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libsystemd0_247.3-7-p-deb11u4_amd64", - "name": "libsystemd0", - "version": "247.3-7+deb11u4" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "liblz4-1_1.9.3-2_amd64", - "name": "liblz4-1", - "version": "1.9.3-2" - }, - { - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libseccomp2_2.5.1-1-p-deb11u1_amd64", - "name": "libseccomp2", - "version": "2.5.1-1+deb11u1" - }, - { - "key": "libgnutls30_3.7.1-5-p-deb11u4_amd64", - "name": "libgnutls30", - "version": "3.7.1-5+deb11u4" - }, - { - "key": "libunistring2_0.9.10-4_amd64", - "name": "libunistring2", - "version": "0.9.10-4" - }, - { - "key": "libtasn1-6_4.16.0-2-p-deb11u1_amd64", - "name": "libtasn1-6", - "version": "4.16.0-2+deb11u1" - }, - { - "key": "libp11-kit0_0.23.22-1_amd64", - "name": "libp11-kit0", - "version": "0.23.22-1" - }, - { - "key": "libffi7_3.3-6_amd64", - "name": "libffi7", - "version": "3.3-6" - }, - { - "key": "libnettle8_3.7.3-1_amd64", - "name": "libnettle8", - "version": "3.7.3-1" - }, - { - "key": "libidn2-0_2.3.0-5_amd64", - "name": "libidn2-0", - "version": "2.3.0-5" - }, - { - "key": "libhogweed6_3.7.3-1_amd64", - "name": "libhogweed6", - "version": "3.7.3-1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_amd64", - "name": "debian-archive-keyring", - "version": "2021.1.1+deb11u1" - }, - { - "key": "libapt-pkg6.0_2.2.4_amd64", - "name": "libapt-pkg6.0", - "version": "2.2.4" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libxxhash0_0.8.0-2_amd64", - "name": "libxxhash0", - "version": "0.8.0-2" - }, - { - "key": "libudev1_247.3-7-p-deb11u4_amd64", - "name": "libudev1", - "version": "247.3-7+deb11u4" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "adduser_3.118-p-deb11u1_amd64", - "name": "adduser", - "version": "3.118+deb11u1" - }, - { - "key": "passwd_1-4.8.1-1_amd64", - "name": "passwd", - "version": "1:4.8.1-1" - }, - { - "key": "libpam-modules_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules-bin", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "version": "1:3.0-2" - }, - { - "key": "libtirpc3_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc3", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libtirpc-common_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc-common", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_amd64", - "name": "libgssapi-krb5-2", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5support0_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5support0", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5-3_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5-3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libkeyutils1_1.6.1-2_amd64", - "name": "libkeyutils1", - "version": "1.6.1-2" - }, - { - "key": "libk5crypto3_1.18.3-6-p-deb11u4_amd64", - "name": "libk5crypto3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libcom-err2_1.46.2-2_amd64", - "name": "libcom-err2", - "version": "1.46.2-2" - }, - { - "key": "libnsl2_1.3.0-2_amd64", - "name": "libnsl2", - "version": "1.3.0-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libsemanage1_3.1-1-p-b2_amd64", - "name": "libsemanage1", - "version": "3.1-1+b2" - }, - { - "key": "libsepol1_3.1-1_amd64", - "name": "libsepol1", - "version": "3.1-1" - }, - { - "key": "libsemanage-common_3.1-1_amd64", - "name": "libsemanage-common", - "version": "3.1-1" - } - ], - "key": "apt_2.2.4_amd64", - "name": "apt", - "sha256": "75f07c4965ff0813f26623a1164e162538f5e94defba6961347527ed71bc4f3d", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_amd64.deb", - "version": "2.2.4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsystemd0_247.3-7-p-deb11u4_amd64", - "name": "libsystemd0", - "sha256": "e6f3e65e388196a399c1a36564c38ad987337350358732056227db1b6e708878", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_amd64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblz4-1_1.9.3-2_amd64", - "name": "liblz4-1", - "sha256": "79ac6e9ca19c483f2e8effcc3401d723dd9dbb3a4ae324714de802adb21a8117", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_amd64.deb", - "version": "1.9.3-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", - "version": "1.8.7-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", - "version": "1.38-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libseccomp2_2.5.1-1-p-deb11u1_amd64", - "name": "libseccomp2", - "sha256": "2617fc8b99dca0fa8ed466ee0f5fe087aa4e8413b88ca45d717290f4a0551e36", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_amd64.deb", - "version": "2.5.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgnutls30_3.7.1-5-p-deb11u4_amd64", - "name": "libgnutls30", - "sha256": "b2fa128881a16c2196caddb551d3577baa296a7bc5d38109a978e8e69fdb5c94", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_amd64.deb", - "version": "3.7.1-5+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libunistring2_0.9.10-4_amd64", - "name": "libunistring2", - "sha256": "654433ad02d3a8b05c1683c6c29a224500bf343039c34dcec4e5e9515345e3d4", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_amd64.deb", - "version": "0.9.10-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtasn1-6_4.16.0-2-p-deb11u1_amd64", - "name": "libtasn1-6", - "sha256": "6ebb579337cdc9d6201237a66578425a7a221db622524354e27c0c1bcb6dd7ca", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_amd64.deb", - "version": "4.16.0-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libp11-kit0_0.23.22-1_amd64", - "name": "libp11-kit0", - "sha256": "bfef5f31ee1c730e56e16bb62cc5ff8372185106c75bf1ed1756c96703019457", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_amd64.deb", - "version": "0.23.22-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libffi7_3.3-6_amd64", - "name": "libffi7", - "sha256": "30ca89bfddae5fa6e0a2a044f22b6e50cd17c4bc6bc850c579819aeab7101f0f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb", - "version": "3.3-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnettle8_3.7.3-1_amd64", - "name": "libnettle8", - "sha256": "e4f8ec31ed14518b241eb7b423ad5ed3f4a4e8ac50aae72c9fd475c569582764", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_amd64.deb", - "version": "3.7.3-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libidn2-0_2.3.0-5_amd64", - "name": "libidn2-0", - "sha256": "cb80cd769171537bafbb4a16c12ec427065795946b3415781bc9792e92d60b59", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_amd64.deb", - "version": "2.3.0-5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libhogweed6_3.7.3-1_amd64", - "name": "libhogweed6", - "sha256": "6aab2e892cdb2dfba45707601bc6c3b19aa228f70ae5841017f14c3b0ca3d22f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_amd64.deb", - "version": "3.7.3-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_amd64", - "name": "debian-archive-keyring", - "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", - "version": "2021.1.1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libapt-pkg6.0_2.2.4_amd64", - "name": "libapt-pkg6.0", - "sha256": "4ae47bedf773ad1342e5aae8fa6275f864cfc87a45f4472775f5a9cdd60abbbf", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_amd64.deb", - "version": "2.2.4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxxhash0_0.8.0-2_amd64", - "name": "libxxhash0", - "sha256": "3fb82550a71d27d05672472508548576dfb34486847bc860d3066cda5aaf186f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_amd64.deb", - "version": "0.8.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libudev1_247.3-7-p-deb11u4_amd64", - "name": "libudev1", - "sha256": "9274ca1aa37fcdf5895dad1de0895162351099ef8dff8a62f2f4c9eb181a8fce", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_amd64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "adduser_3.118-p-deb11u1_amd64", - "name": "adduser", - "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", - "version": "3.118+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "passwd_1-4.8.1-1_amd64", - "name": "passwd", - "sha256": "542593f26502e87b4276fa778e6e3ae52e66b973979986fff77803d9fcb2c2e8", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_amd64.deb", - "version": "1:4.8.1-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam-modules_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules", - "sha256": "ca1e121700bf4b3eb33e30e0774d3e63e1adae9d4b6a940ea3501225db3cc287", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules-bin", - "sha256": "abbbd181329c236676222d3e912df13f8d1d90a117559edd997d90006369e5c8", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtirpc3_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc3", - "sha256": "86b216d59b6efcd07d56d14b8f4281d5c47f24e9c962f46bbaf02fce762c5e6a", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_amd64.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtirpc-common_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc-common", - "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_amd64", - "name": "libgssapi-krb5-2", - "sha256": "037cc4bb34a6cd0d7a6e83bdcae6d68e0d0f9218eb7dedafc8099c8c0be491a2", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkrb5support0_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5support0", - "sha256": "da8d022e3dd7f4a72ea32e328b3ac382dbe6bdb91606c5738fe17a29f8ea8080", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkrb5-3_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5-3", - "sha256": "b785fa324cf27e6bf7f97fc0279470e6ce8a8cc54f8ccc6c9b24c8111ba5c952", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkeyutils1_1.6.1-2_amd64", - "name": "libkeyutils1", - "sha256": "f01060b434d8cad3c58d5811d2082389f11b3db8152657d6c22c1d298953f2a5", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_amd64.deb", - "version": "1.6.1-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libk5crypto3_1.18.3-6-p-deb11u4_amd64", - "name": "libk5crypto3", - "sha256": "f635062bcbfe2eef5a83fcba7d1a8ae343fc7c779cae88b11cae90fd6845a744", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcom-err2_1.46.2-2_amd64", - "name": "libcom-err2", - "sha256": "d478f132871f4ab8352d39becf936d0ad74db905398bf98465d8fe3da6fb1126", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_amd64.deb", - "version": "1.46.2-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnsl2_1.3.0-2_amd64", - "name": "libnsl2", - "sha256": "c0d83437fdb016cb289436f49f28a36be44b3e8f1f2498c7e3a095f709c0d6f8", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_amd64.deb", - "version": "1.3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsemanage1_3.1-1-p-b2_amd64", - "name": "libsemanage1", - "sha256": "d8f2835b22df58ba45d52eb3aab224190f193576caf05e3f80deb2e4f927fad6", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_amd64.deb", - "version": "3.1-1+b2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsepol1_3.1-1_amd64", - "name": "libsepol1", - "sha256": "b6057dc6806a6dfaef74b09d84d1f18716d7a6d2f1da30520cef555210c6af62", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_amd64.deb", - "version": "3.1-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsemanage-common_3.1-1_amd64", - "name": "libsemanage-common", - "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", - "version": "3.1-1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libperl5.32_5.32.1-4-p-deb11u3_amd64", - "name": "libperl5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_amd64", - "name": "perl-modules-5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libgdbm6_1.19-2_amd64", - "name": "libgdbm6", - "version": "1.19-2" - }, - { - "key": "libgdbm-compat4_1.19-2_amd64", - "name": "libgdbm-compat4", - "version": "1.19-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - } - ], - "key": "perl_5.32.1-4-p-deb11u3_amd64", - "name": "perl", - "sha256": "d5f710c7db9fcd6d9d6f119cd0dea64a4f765867447dd97b24ab44be1de7c60f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libperl5.32_5.32.1-4-p-deb11u3_amd64", - "name": "libperl5.32", - "sha256": "078487a45916167e3e4ee2e584c50306c84368dd06dae276604861ca0426c34e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_amd64", - "name": "perl-modules-5.32", - "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm6_1.19-2_amd64", - "name": "libgdbm6", - "sha256": "e54cfe4d8b8f209bb7df31a404ce040f7c2f9b1045114a927a7e1061cdf90727", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_amd64.deb", - "version": "1.19-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm-compat4_1.19-2_amd64", - "name": "libgdbm-compat4", - "sha256": "e62caed68b0ffaa03b5fa539d6fdc08c4151f66236d5878949bead0b71b7bb09", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_amd64.deb", - "version": "1.19-2" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "openssl_1.1.1w-0-p-deb11u1_amd64", - "name": "openssl", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - } - ], - "key": "ca-certificates_20210119_amd64", - "name": "ca-certificates", - "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", - "version": "20210119" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "openssl_1.1.1w-0-p-deb11u1_amd64", - "name": "openssl", - "sha256": "04873d74cbe86bad3a9901f6e57f1150040eba9891b443c5c975a72a97238e35", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_amd64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "nvidia-kernel-common_20151021-p-13_amd64", - "name": "nvidia-kernel-common", - "sha256": "fa4b007bf64cf8cf0e9b3aaae5dd388fcec3a589ce2475f16d64347945691533", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_amd64.deb", - "version": "20151021+13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "ncurses-base_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "ncurses-base", - "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "libncurses6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libncurses6", - "sha256": "039b71b8839538a92988003e13c29e7cf1149cdc6a77d3de882f1d386a5f3a5c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_arm64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_arm64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "debianutils_4.11.2_arm64", - "name": "debianutils", - "version": "4.11.2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "base-files_11.1-p-deb11u9_arm64", - "name": "base-files", - "version": "11.1+deb11u9" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "bash_5.1-2-p-deb11u1_arm64", - "name": "bash", - "sha256": "d7c7af5d86f43a885069408a89788f67f248e8124c682bb73936f33874e0611b", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_arm64.deb", - "version": "5.1-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debianutils_4.11.2_arm64", - "name": "debianutils", - "sha256": "6543b2b1a61b4b7b4b55b4bd25162309d7d23d14d3303649aee84ad314c30e02", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_arm64.deb", - "version": "4.11.2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "base-files_11.1-p-deb11u9_arm64", - "name": "base-files", - "sha256": "c40dc4d5c6b82f5cfe75efa1a12bd09b9d5b9b8446ea045a991896a1ead8b02c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_arm64.deb", - "version": "11.1+deb11u9" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4_arm64", - "name": "coreutils", - "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", - "version": "8.32-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", - "version": "3.1-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", - "version": "2.2.53-10" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - } - ], - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", - "version": "1.20.13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", - "version": "1.0.8-4" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libsystemd0_247.3-7-p-deb11u4_arm64", - "name": "libsystemd0", - "version": "247.3-7+deb11u4" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "liblz4-1_1.9.3-2_arm64", - "name": "liblz4-1", - "version": "1.9.3-2" - }, - { - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libseccomp2_2.5.1-1-p-deb11u1_arm64", - "name": "libseccomp2", - "version": "2.5.1-1+deb11u1" - }, - { - "key": "libgnutls30_3.7.1-5-p-deb11u4_arm64", - "name": "libgnutls30", - "version": "3.7.1-5+deb11u4" - }, - { - "key": "libunistring2_0.9.10-4_arm64", - "name": "libunistring2", - "version": "0.9.10-4" - }, - { - "key": "libtasn1-6_4.16.0-2-p-deb11u1_arm64", - "name": "libtasn1-6", - "version": "4.16.0-2+deb11u1" - }, - { - "key": "libp11-kit0_0.23.22-1_arm64", - "name": "libp11-kit0", - "version": "0.23.22-1" - }, - { - "key": "libffi7_3.3-6_arm64", - "name": "libffi7", - "version": "3.3-6" - }, - { - "key": "libnettle8_3.7.3-1_arm64", - "name": "libnettle8", - "version": "3.7.3-1" - }, - { - "key": "libidn2-0_2.3.0-5_arm64", - "name": "libidn2-0", - "version": "2.3.0-5" - }, - { - "key": "libhogweed6_3.7.3-1_arm64", - "name": "libhogweed6", - "version": "3.7.3-1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_arm64", - "name": "debian-archive-keyring", - "version": "2021.1.1+deb11u1" - }, - { - "key": "libapt-pkg6.0_2.2.4_arm64", - "name": "libapt-pkg6.0", - "version": "2.2.4" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libxxhash0_0.8.0-2_arm64", - "name": "libxxhash0", - "version": "0.8.0-2" - }, - { - "key": "libudev1_247.3-7-p-deb11u4_arm64", - "name": "libudev1", - "version": "247.3-7+deb11u4" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "adduser_3.118-p-deb11u1_arm64", - "name": "adduser", - "version": "3.118+deb11u1" - }, - { - "key": "passwd_1-4.8.1-1_arm64", - "name": "passwd", - "version": "1:4.8.1-1" - }, - { - "key": "libpam-modules_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules-bin", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "version": "1:3.0-2" - }, - { - "key": "libtirpc3_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc3", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libtirpc-common_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc-common", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_arm64", - "name": "libgssapi-krb5-2", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5support0_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5support0", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5-3_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5-3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libkeyutils1_1.6.1-2_arm64", - "name": "libkeyutils1", - "version": "1.6.1-2" - }, - { - "key": "libk5crypto3_1.18.3-6-p-deb11u4_arm64", - "name": "libk5crypto3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libcom-err2_1.46.2-2_arm64", - "name": "libcom-err2", - "version": "1.46.2-2" - }, - { - "key": "libnsl2_1.3.0-2_arm64", - "name": "libnsl2", - "version": "1.3.0-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libsemanage1_3.1-1-p-b2_arm64", - "name": "libsemanage1", - "version": "3.1-1+b2" - }, - { - "key": "libsepol1_3.1-1_arm64", - "name": "libsepol1", - "version": "3.1-1" - }, - { - "key": "libsemanage-common_3.1-1_arm64", - "name": "libsemanage-common", - "version": "3.1-1" - } - ], - "key": "apt_2.2.4_arm64", - "name": "apt", - "sha256": "39cbe42f3e64c6359b445d6fed7385273881e507b8be1d3b653ec9fb7d4c917c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_arm64.deb", - "version": "2.2.4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsystemd0_247.3-7-p-deb11u4_arm64", - "name": "libsystemd0", - "sha256": "32e8c12301a9ada555adea9a4c2f15df788411dadd164baca5c31690fe06e381", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_arm64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblz4-1_1.9.3-2_arm64", - "name": "liblz4-1", - "sha256": "83f0ee547cd42854e1b2a2e4c1a5705e28259ee5fa6560119f918f961a5dada2", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_arm64.deb", - "version": "1.9.3-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", - "version": "1.8.7-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", - "version": "1.38-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libseccomp2_2.5.1-1-p-deb11u1_arm64", - "name": "libseccomp2", - "sha256": "5b8983c2e330790dbe04ae990f166d7939a3e14b75556a8489309ae704fbeb50", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_arm64.deb", - "version": "2.5.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgnutls30_3.7.1-5-p-deb11u4_arm64", - "name": "libgnutls30", - "sha256": "7153ec6ee985eebba710dcb6e425bb881c91ee5987a4517518f3f44a9bb5fc1a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_arm64.deb", - "version": "3.7.1-5+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libunistring2_0.9.10-4_arm64", - "name": "libunistring2", - "sha256": "53ff395ea4d8cf17c52155a452a0dc15af0ee2fa5cb3b0085b9c7335de8d5f7f", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_arm64.deb", - "version": "0.9.10-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtasn1-6_4.16.0-2-p-deb11u1_arm64", - "name": "libtasn1-6", - "sha256": "f469147bbd3969055c51fc661c9aa0d56d48eccd070d233f1424b0d8b3f29295", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_arm64.deb", - "version": "4.16.0-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libp11-kit0_0.23.22-1_arm64", - "name": "libp11-kit0", - "sha256": "ac6e8eda3277708069bc6f03aff06dc319855d64ede9fca219938e52f92ee09c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_arm64.deb", - "version": "0.23.22-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libffi7_3.3-6_arm64", - "name": "libffi7", - "sha256": "eb748e33ae4ed46f5a4c14b7a2a09792569f2029ede319d0979c373829ba1532", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_arm64.deb", - "version": "3.3-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnettle8_3.7.3-1_arm64", - "name": "libnettle8", - "sha256": "5061c931f95dc7277d95fc58bce7c17b1a95c6aa9a9aac781784f3b3dc909047", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_arm64.deb", - "version": "3.7.3-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libidn2-0_2.3.0-5_arm64", - "name": "libidn2-0", - "sha256": "0d2e6d39bf65f16861f284be567c1a6c5d4dc6b54dcfdf9dba631546ff4e6796", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_arm64.deb", - "version": "2.3.0-5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libhogweed6_3.7.3-1_arm64", - "name": "libhogweed6", - "sha256": "3e9eea5e474dd98a7de9e4c1ecfbfd6f6efb1d40bf51d6473de9713cf41d2191", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_arm64.deb", - "version": "3.7.3-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_arm64", - "name": "debian-archive-keyring", - "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", - "version": "2021.1.1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libapt-pkg6.0_2.2.4_arm64", - "name": "libapt-pkg6.0", - "sha256": "7cb6015ea5c185ef93706989fb730377406878c72f6943b6ecdd956697f1abe6", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_arm64.deb", - "version": "2.2.4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxxhash0_0.8.0-2_arm64", - "name": "libxxhash0", - "sha256": "a31effcbd7a248b64dd480330557f41ea796a010b2c2e7ac91ed10f94e605065", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_arm64.deb", - "version": "0.8.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libudev1_247.3-7-p-deb11u4_arm64", - "name": "libudev1", - "sha256": "d53ca63927b51ad6f9a85ee1e4ce74d20ef45651179fd70f3c8d72607071e393", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_arm64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "adduser_3.118-p-deb11u1_arm64", - "name": "adduser", - "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", - "version": "3.118+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "passwd_1-4.8.1-1_arm64", - "name": "passwd", - "sha256": "5a675c9d23f176ea195678a949e144b23c7a8b268b03e0df8919a2cfc198e585", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_arm64.deb", - "version": "1:4.8.1-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam-modules_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules", - "sha256": "7f46ae216fdc6c69b0120d430936f40f3c5f37249296042324aeb584d5566a3c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules-bin", - "sha256": "bc20fa16c91a239de350ffcc019fbae5ce7c47c21235b332ff9d67638804866e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtirpc3_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc3", - "sha256": "ccff0927f55b97fe9ea13057fab8bff9920bf4628eb2d5d48b9656f2fb74d2e1", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_arm64.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtirpc-common_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc-common", - "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", - "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_arm64", - "name": "libgssapi-krb5-2", - "sha256": "5572a462c7f78f9610bd4f1dd9f8e4f8243fa9dc2d1deb5b1cf7cec1f1df83dc", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkrb5support0_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5support0", - "sha256": "d44585771e26c9b8d115aad33736fcc3e03cf98238ea7c7985554f166441aa07", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkrb5-3_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5-3", - "sha256": "3dcdadb1db461d14b6051a19c6a94ae9f61c3d2b1d35fd9d63326cd8f4ae49e5", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkeyutils1_1.6.1-2_arm64", - "name": "libkeyutils1", - "sha256": "7101c2380ab47a3627a6fa076a149ab71078263064f936fccbd43efbaed4a2da", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_arm64.deb", - "version": "1.6.1-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libk5crypto3_1.18.3-6-p-deb11u4_arm64", - "name": "libk5crypto3", - "sha256": "d8f31a8bd83fe2593e83a930fc2713e1213f25311a629836dfcde5bd23a85e83", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcom-err2_1.46.2-2_arm64", - "name": "libcom-err2", - "sha256": "fc95d415c35f5b687871f660a5bf66963fd117daa490110499119411e2d6145e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_arm64.deb", - "version": "1.46.2-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnsl2_1.3.0-2_arm64", - "name": "libnsl2", - "sha256": "8f9ba58b219779b43c4ccc78c79b0a23f721fc96323c202abb31e02f942104b3", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_arm64.deb", - "version": "1.3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsemanage1_3.1-1-p-b2_arm64", - "name": "libsemanage1", - "sha256": "342a804007338314211981fac0bc083c3c66c6040bca0e47342c6d9ff44f103e", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_arm64.deb", - "version": "3.1-1+b2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsepol1_3.1-1_arm64", - "name": "libsepol1", - "sha256": "354d36c3084c14f242baba3a06372a3c034cec7a0cb38e626fc03cc4751b2cd3", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_arm64.deb", - "version": "3.1-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsemanage-common_3.1-1_arm64", - "name": "libsemanage-common", - "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", - "version": "3.1-1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libperl5.32_5.32.1-4-p-deb11u3_arm64", - "name": "libperl5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_arm64", - "name": "perl-modules-5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libgdbm6_1.19-2_arm64", - "name": "libgdbm6", - "version": "1.19-2" - }, - { - "key": "libgdbm-compat4_1.19-2_arm64", - "name": "libgdbm-compat4", - "version": "1.19-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - } - ], - "key": "perl_5.32.1-4-p-deb11u3_arm64", - "name": "perl", - "sha256": "6ed36a59241bbeec132eebec770567a4d23884f71dc922ac6770862cac1f3d9a", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libperl5.32_5.32.1-4-p-deb11u3_arm64", - "name": "libperl5.32", - "sha256": "9a5524101015f14773246336cb615c0e58fff2e7420a79f511262df9a7ff1c91", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_arm64", - "name": "perl-modules-5.32", - "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm6_1.19-2_arm64", - "name": "libgdbm6", - "sha256": "97a88c2698bd836d04e51ad70c76826850857869b51e90b5343621ba30bbf525", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_arm64.deb", - "version": "1.19-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm-compat4_1.19-2_arm64", - "name": "libgdbm-compat4", - "sha256": "0853cc0b0f92784b7fbd193d737c63b1d95f932e2b95dc1bb10c273e01a0f754", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_arm64.deb", - "version": "1.19-2" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "openssl_1.1.1w-0-p-deb11u1_arm64", - "name": "openssl", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - } - ], - "key": "ca-certificates_20210119_arm64", - "name": "ca-certificates", - "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", - "version": "20210119" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "openssl_1.1.1w-0-p-deb11u1_arm64", - "name": "openssl", - "sha256": "d9159af073e95641e7eda440fa1d7623873b8c0034c9826a353f890bed107f3c", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_arm64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "nvidia-kernel-common_20151021-p-13_arm64", - "name": "nvidia-kernel-common", - "sha256": "5a1f10cffc5407a6b63dcdf3f72af842ad9e39a808bb9418a4805aa0be345c65", - "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_arm64.deb", - "version": "20151021+13" + "packages": { + "adduser": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "adduser", + "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", + "version": "3.118+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "adduser", + "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", + "version": "3.118+deb11u1" + } + }, + "apt": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "adduser", + "version": "3.118+deb11u1" + }, + { + "name": "debian-archive-keyring", + "version": "2021.1.1+deb11u1" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libapt-pkg6.0", + "version": "2.2.4" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcom-err2", + "version": "1.46.2-2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libffi7", + "version": "3.3-6" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgnutls30", + "version": "3.7.1-5+deb11u4" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libgssapi-krb5-2", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libhogweed6", + "version": "3.7.3-1" + }, + { + "name": "libidn2-0", + "version": "2.3.0-5" + }, + { + "name": "libk5crypto3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkeyutils1", + "version": "1.6.1-2" + }, + { + "name": "libkrb5-3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkrb5support0", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "liblz4-1", + "version": "1.9.3-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libnettle8", + "version": "3.7.3-1" + }, + { + "name": "libnsl2", + "version": "1.3.0-2" + }, + { + "name": "libp11-kit0", + "version": "0.23.22-1" + }, + { + "name": "libpam-modules", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam-modules-bin", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libseccomp2", + "version": "2.5.1-1+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libsemanage-common", + "version": "3.1-1" + }, + { + "name": "libsemanage1", + "version": "3.1-1+b2" + }, + { + "name": "libsepol1", + "version": "3.1-1" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libsystemd0", + "version": "247.3-7+deb11u4" + }, + { + "name": "libtasn1-6", + "version": "4.16.0-2+deb11u1" + }, + { + "name": "libtirpc-common", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libtirpc3", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libudev1", + "version": "247.3-7+deb11u4" + }, + { + "name": "libunistring2", + "version": "0.9.10-4" + }, + { + "name": "libxxhash0", + "version": "0.8.0-2" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "passwd", + "version": "1:4.8.1-1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "apt", + "sha256": "75f07c4965ff0813f26623a1164e162538f5e94defba6961347527ed71bc4f3d", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_amd64.deb", + "version": "2.2.4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "adduser", + "version": "3.118+deb11u1" + }, + { + "name": "debian-archive-keyring", + "version": "2021.1.1+deb11u1" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libapt-pkg6.0", + "version": "2.2.4" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcom-err2", + "version": "1.46.2-2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libffi7", + "version": "3.3-6" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgnutls30", + "version": "3.7.1-5+deb11u4" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libgssapi-krb5-2", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libhogweed6", + "version": "3.7.3-1" + }, + { + "name": "libidn2-0", + "version": "2.3.0-5" + }, + { + "name": "libk5crypto3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkeyutils1", + "version": "1.6.1-2" + }, + { + "name": "libkrb5-3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkrb5support0", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "liblz4-1", + "version": "1.9.3-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libnettle8", + "version": "3.7.3-1" + }, + { + "name": "libnsl2", + "version": "1.3.0-2" + }, + { + "name": "libp11-kit0", + "version": "0.23.22-1" + }, + { + "name": "libpam-modules", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam-modules-bin", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libseccomp2", + "version": "2.5.1-1+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libsemanage-common", + "version": "3.1-1" + }, + { + "name": "libsemanage1", + "version": "3.1-1+b2" + }, + { + "name": "libsepol1", + "version": "3.1-1" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libsystemd0", + "version": "247.3-7+deb11u4" + }, + { + "name": "libtasn1-6", + "version": "4.16.0-2+deb11u1" + }, + { + "name": "libtirpc-common", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libtirpc3", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libudev1", + "version": "247.3-7+deb11u4" + }, + { + "name": "libunistring2", + "version": "0.9.10-4" + }, + { + "name": "libxxhash0", + "version": "0.8.0-2" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "passwd", + "version": "1:4.8.1-1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "apt", + "sha256": "39cbe42f3e64c6359b445d6fed7385273881e507b8be1d3b653ec9fb7d4c917c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_arm64.deb", + "version": "2.2.4" + } + }, + "base-files": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "base-files", + "sha256": "1ff08cf6e1b97af1e37cda830f3658f9af43a906abb80a21951c81aea02ce230", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_amd64.deb", + "version": "11.1+deb11u9" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "base-files", + "sha256": "c40dc4d5c6b82f5cfe75efa1a12bd09b9d5b9b8446ea045a991896a1ead8b02c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_arm64.deb", + "version": "11.1+deb11u9" + } + }, + "bash": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "base-files", + "version": "11.1+deb11u9" + }, + { + "name": "debianutils", + "version": "4.11.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "bash", + "sha256": "f702ef058e762d7208a9c83f6f6bbf02645533bfd615c54e8cdcce842cd57377", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_amd64.deb", + "version": "5.1-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "base-files", + "version": "11.1+deb11u9" + }, + { + "name": "debianutils", + "version": "4.11.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "bash", + "sha256": "d7c7af5d86f43a885069408a89788f67f248e8124c682bb73936f33874e0611b", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_arm64.deb", + "version": "5.1-2+deb11u1" + } + }, + "ca-certificates": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "openssl", + "version": "1.1.1w-0+deb11u1" + } + ], + "name": "ca-certificates", + "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", + "version": "20210119" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "openssl", + "version": "1.1.1w-0+deb11u1" + } + ], + "name": "ca-certificates", + "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", + "version": "20210119" + } + }, + "coreutils": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", + "version": "8.32-4+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", + "version": "8.32-4" + } + }, + "debian-archive-keyring": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debian-archive-keyring", + "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", + "version": "2021.1.1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debian-archive-keyring", + "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", + "version": "2021.1.1+deb11u1" + } + }, + "debianutils": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debianutils", + "sha256": "83d21669c5957e3eaee20096a7d8c596bd07f57f1e95dc74f192b3fb7bb2e6a9", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_amd64.deb", + "version": "4.11.2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debianutils", + "sha256": "6543b2b1a61b4b7b4b55b4bd25162309d7d23d14d3303649aee84ad314c30e02", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_arm64.deb", + "version": "4.11.2" + } + }, + "dpkg": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "dpkg", + "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", + "version": "1.20.13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "dpkg", + "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", + "version": "1.20.13" + } + }, + "gcc-10-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libacl1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libacl1", + "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", + "version": "2.2.53-10" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libacl1", + "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", + "version": "2.2.53-10" + } + }, + "libapt-pkg6.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "4ae47bedf773ad1342e5aae8fa6275f864cfc87a45f4472775f5a9cdd60abbbf", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_amd64.deb", + "version": "2.2.4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "7cb6015ea5c185ef93706989fb730377406878c72f6943b6ecdd956697f1abe6", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_arm64.deb", + "version": "2.2.4" + } + }, + "libattr1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libattr1", + "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", + "version": "1:2.4.48-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libattr1", + "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", + "version": "1:2.4.48-6" + } + }, + "libaudit-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + } + }, + "libaudit1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit1", + "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit1", + "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", + "version": "1:3.0-2" + } + }, + "libbz2-1.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", + "version": "1.0.8-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", + "version": "1.0.8-4" + } + }, + "libc6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libc6", + "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", + "version": "2.31-13+deb11u8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libc6", + "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", + "version": "2.31-13+deb11u8" + } + }, + "libcap-ng0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", + "version": "0.7.9-2.2+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", + "version": "0.7.9-2.2+b1" + } + }, + "libcom-err2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcom-err2", + "sha256": "d478f132871f4ab8352d39becf936d0ad74db905398bf98465d8fe3da6fb1126", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_amd64.deb", + "version": "1.46.2-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcom-err2", + "sha256": "fc95d415c35f5b687871f660a5bf66963fd117daa490110499119411e2d6145e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_arm64.deb", + "version": "1.46.2-2" + } + }, + "libcrypt1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", + "version": "1:4.4.18-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", + "version": "1:4.4.18-4" + } + }, + "libdb5.3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", + "version": "5.3.28+dfsg1-0.8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", + "version": "5.3.28+dfsg1-0.8" + } + }, + "libffi7": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libffi7", + "sha256": "30ca89bfddae5fa6e0a2a044f22b6e50cd17c4bc6bc850c579819aeab7101f0f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb", + "version": "3.3-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libffi7", + "sha256": "eb748e33ae4ed46f5a4c14b7a2a09792569f2029ede319d0979c373829ba1532", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_arm64.deb", + "version": "3.3-6" + } + }, + "libgcc-s1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libgcrypt20": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", + "version": "1.8.7-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", + "version": "1.8.7-6" + } + }, + "libgdbm-compat4": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "e62caed68b0ffaa03b5fa539d6fdc08c4151f66236d5878949bead0b71b7bb09", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_amd64.deb", + "version": "1.19-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "0853cc0b0f92784b7fbd193d737c63b1d95f932e2b95dc1bb10c273e01a0f754", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_arm64.deb", + "version": "1.19-2" + } + }, + "libgdbm6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "e54cfe4d8b8f209bb7df31a404ce040f7c2f9b1045114a927a7e1061cdf90727", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_amd64.deb", + "version": "1.19-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "97a88c2698bd836d04e51ad70c76826850857869b51e90b5343621ba30bbf525", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_arm64.deb", + "version": "1.19-2" + } + }, + "libgmp10": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgmp10", + "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgmp10", + "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + } + }, + "libgnutls30": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "b2fa128881a16c2196caddb551d3577baa296a7bc5d38109a978e8e69fdb5c94", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_amd64.deb", + "version": "3.7.1-5+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "7153ec6ee985eebba710dcb6e425bb881c91ee5987a4517518f3f44a9bb5fc1a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_arm64.deb", + "version": "3.7.1-5+deb11u4" + } + }, + "libgpg-error0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", + "version": "1.38-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", + "version": "1.38-2" + } + }, + "libgssapi-krb5-2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgssapi-krb5-2", + "sha256": "037cc4bb34a6cd0d7a6e83bdcae6d68e0d0f9218eb7dedafc8099c8c0be491a2", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgssapi-krb5-2", + "sha256": "5572a462c7f78f9610bd4f1dd9f8e4f8243fa9dc2d1deb5b1cf7cec1f1df83dc", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libhogweed6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "6aab2e892cdb2dfba45707601bc6c3b19aa228f70ae5841017f14c3b0ca3d22f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_amd64.deb", + "version": "3.7.3-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "3e9eea5e474dd98a7de9e4c1ecfbfd6f6efb1d40bf51d6473de9713cf41d2191", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_arm64.deb", + "version": "3.7.3-1" + } + }, + "libidn2-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "cb80cd769171537bafbb4a16c12ec427065795946b3415781bc9792e92d60b59", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_amd64.deb", + "version": "2.3.0-5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "0d2e6d39bf65f16861f284be567c1a6c5d4dc6b54dcfdf9dba631546ff4e6796", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_arm64.deb", + "version": "2.3.0-5" + } + }, + "libk5crypto3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libk5crypto3", + "sha256": "f635062bcbfe2eef5a83fcba7d1a8ae343fc7c779cae88b11cae90fd6845a744", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libk5crypto3", + "sha256": "d8f31a8bd83fe2593e83a930fc2713e1213f25311a629836dfcde5bd23a85e83", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libkeyutils1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkeyutils1", + "sha256": "f01060b434d8cad3c58d5811d2082389f11b3db8152657d6c22c1d298953f2a5", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_amd64.deb", + "version": "1.6.1-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkeyutils1", + "sha256": "7101c2380ab47a3627a6fa076a149ab71078263064f936fccbd43efbaed4a2da", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_arm64.deb", + "version": "1.6.1-2" + } + }, + "libkrb5-3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkrb5-3", + "sha256": "b785fa324cf27e6bf7f97fc0279470e6ce8a8cc54f8ccc6c9b24c8111ba5c952", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkrb5-3", + "sha256": "3dcdadb1db461d14b6051a19c6a94ae9f61c3d2b1d35fd9d63326cd8f4ae49e5", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libkrb5support0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkrb5support0", + "sha256": "da8d022e3dd7f4a72ea32e328b3ac382dbe6bdb91606c5738fe17a29f8ea8080", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkrb5support0", + "sha256": "d44585771e26c9b8d115aad33736fcc3e03cf98238ea7c7985554f166441aa07", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "liblz4-1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "79ac6e9ca19c483f2e8effcc3401d723dd9dbb3a4ae324714de802adb21a8117", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_amd64.deb", + "version": "1.9.3-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "83f0ee547cd42854e1b2a2e4c1a5705e28259ee5fa6560119f918f961a5dada2", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_arm64.deb", + "version": "1.9.3-2" + } + }, + "liblzma5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblzma5", + "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", + "version": "5.2.5-2.1~deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblzma5", + "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", + "version": "5.2.5-2.1~deb11u1" + } + }, + "libncurses6": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "libncurses6", + "sha256": "5b75c540d26d0525f231d39e5cf27ea7919d57305ba7101ea430c975369095eb", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_amd64.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "libncurses6", + "sha256": "039b71b8839538a92988003e13c29e7cf1149cdc6a77d3de882f1d386a5f3a5c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_arm64.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "libnettle8": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnettle8", + "sha256": "e4f8ec31ed14518b241eb7b423ad5ed3f4a4e8ac50aae72c9fd475c569582764", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_amd64.deb", + "version": "3.7.3-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnettle8", + "sha256": "5061c931f95dc7277d95fc58bce7c17b1a95c6aa9a9aac781784f3b3dc909047", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_arm64.deb", + "version": "3.7.3-1" + } + }, + "libnsl2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnsl2", + "sha256": "c0d83437fdb016cb289436f49f28a36be44b3e8f1f2498c7e3a095f709c0d6f8", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_amd64.deb", + "version": "1.3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnsl2", + "sha256": "8f9ba58b219779b43c4ccc78c79b0a23f721fc96323c202abb31e02f942104b3", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_arm64.deb", + "version": "1.3.0-2" + } + }, + "libp11-kit0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "bfef5f31ee1c730e56e16bb62cc5ff8372185106c75bf1ed1756c96703019457", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_amd64.deb", + "version": "0.23.22-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "ac6e8eda3277708069bc6f03aff06dc319855d64ede9fca219938e52f92ee09c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_arm64.deb", + "version": "0.23.22-1" + } + }, + "libpam-modules": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam-modules", + "sha256": "ca1e121700bf4b3eb33e30e0774d3e63e1adae9d4b6a940ea3501225db3cc287", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam-modules", + "sha256": "7f46ae216fdc6c69b0120d430936f40f3c5f37249296042324aeb584d5566a3c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpam-modules-bin": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam-modules-bin", + "sha256": "abbbd181329c236676222d3e912df13f8d1d90a117559edd997d90006369e5c8", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam-modules-bin", + "sha256": "bc20fa16c91a239de350ffcc019fbae5ce7c47c21235b332ff9d67638804866e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpam0g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam0g", + "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam0g", + "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpcre2-8-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", + "version": "10.36-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", + "version": "10.36-2+deb11u1" + } + }, + "libperl5.32": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libperl5.32", + "sha256": "078487a45916167e3e4ee2e584c50306c84368dd06dae276604861ca0426c34e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libperl5.32", + "sha256": "9a5524101015f14773246336cb615c0e58fff2e7420a79f511262df9a7ff1c91", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "libseccomp2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "2617fc8b99dca0fa8ed466ee0f5fe087aa4e8413b88ca45d717290f4a0551e36", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_amd64.deb", + "version": "2.5.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "5b8983c2e330790dbe04ae990f166d7939a3e14b75556a8489309ae704fbeb50", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_arm64.deb", + "version": "2.5.1-1+deb11u1" + } + }, + "libselinux1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libselinux1", + "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", + "version": "3.1-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libselinux1", + "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", + "version": "3.1-3" + } + }, + "libsemanage-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsemanage-common", + "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", + "version": "3.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsemanage-common", + "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", + "version": "3.1-1" + } + }, + "libsemanage1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsemanage1", + "sha256": "d8f2835b22df58ba45d52eb3aab224190f193576caf05e3f80deb2e4f927fad6", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_amd64.deb", + "version": "3.1-1+b2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsemanage1", + "sha256": "342a804007338314211981fac0bc083c3c66c6040bca0e47342c6d9ff44f103e", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_arm64.deb", + "version": "3.1-1+b2" + } + }, + "libsepol1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsepol1", + "sha256": "b6057dc6806a6dfaef74b09d84d1f18716d7a6d2f1da30520cef555210c6af62", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_amd64.deb", + "version": "3.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsepol1", + "sha256": "354d36c3084c14f242baba3a06372a3c034cec7a0cb38e626fc03cc4751b2cd3", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_arm64.deb", + "version": "3.1-1" + } + }, + "libssl1.1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", + "version": "1.1.1w-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", + "version": "1.1.1w-0+deb11u1" + } + }, + "libstdc++6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libsystemd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "e6f3e65e388196a399c1a36564c38ad987337350358732056227db1b6e708878", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_amd64.deb", + "version": "247.3-7+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "32e8c12301a9ada555adea9a4c2f15df788411dadd164baca5c31690fe06e381", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_arm64.deb", + "version": "247.3-7+deb11u4" + } + }, + "libtasn1-6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "6ebb579337cdc9d6201237a66578425a7a221db622524354e27c0c1bcb6dd7ca", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_amd64.deb", + "version": "4.16.0-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "f469147bbd3969055c51fc661c9aa0d56d48eccd070d233f1424b0d8b3f29295", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_arm64.deb", + "version": "4.16.0-2+deb11u1" + } + }, + "libtinfo6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "libtirpc-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtirpc-common", + "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", + "version": "1.3.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtirpc-common", + "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", + "version": "1.3.1-1+deb11u1" + } + }, + "libtirpc3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtirpc3", + "sha256": "86b216d59b6efcd07d56d14b8f4281d5c47f24e9c962f46bbaf02fce762c5e6a", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_amd64.deb", + "version": "1.3.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtirpc3", + "sha256": "ccff0927f55b97fe9ea13057fab8bff9920bf4628eb2d5d48b9656f2fb74d2e1", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_arm64.deb", + "version": "1.3.1-1+deb11u1" + } + }, + "libudev1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libudev1", + "sha256": "9274ca1aa37fcdf5895dad1de0895162351099ef8dff8a62f2f4c9eb181a8fce", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_amd64.deb", + "version": "247.3-7+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libudev1", + "sha256": "d53ca63927b51ad6f9a85ee1e4ce74d20ef45651179fd70f3c8d72607071e393", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_arm64.deb", + "version": "247.3-7+deb11u4" + } + }, + "libunistring2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libunistring2", + "sha256": "654433ad02d3a8b05c1683c6c29a224500bf343039c34dcec4e5e9515345e3d4", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_amd64.deb", + "version": "0.9.10-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libunistring2", + "sha256": "53ff395ea4d8cf17c52155a452a0dc15af0ee2fa5cb3b0085b9c7335de8d5f7f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_arm64.deb", + "version": "0.9.10-4" + } + }, + "libxxhash0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "3fb82550a71d27d05672472508548576dfb34486847bc860d3066cda5aaf186f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_amd64.deb", + "version": "0.8.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "a31effcbd7a248b64dd480330557f41ea796a010b2c2e7ac91ed10f94e605065", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_arm64.deb", + "version": "0.8.0-2" + } + }, + "libzstd1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libzstd1", + "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", + "version": "1.4.8+dfsg-2.1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libzstd1", + "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", + "version": "1.4.8+dfsg-2.1" + } + }, + "ncurses-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "nvidia-kernel-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "nvidia-kernel-common", + "sha256": "fa4b007bf64cf8cf0e9b3aaae5dd388fcec3a589ce2475f16d64347945691533", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_amd64.deb", + "version": "20151021+13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "nvidia-kernel-common", + "sha256": "5a1f10cffc5407a6b63dcdf3f72af842ad9e39a808bb9418a4805aa0be345c65", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_arm64.deb", + "version": "20151021+13" + } + }, + "openssl": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "openssl", + "sha256": "04873d74cbe86bad3a9901f6e57f1150040eba9891b443c5c975a72a97238e35", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_amd64.deb", + "version": "1.1.1w-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "openssl", + "sha256": "d9159af073e95641e7eda440fa1d7623873b8c0034c9826a353f890bed107f3c", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_arm64.deb", + "version": "1.1.1w-0+deb11u1" + } + }, + "passwd": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "passwd", + "sha256": "542593f26502e87b4276fa778e6e3ae52e66b973979986fff77803d9fcb2c2e8", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_amd64.deb", + "version": "1:4.8.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "passwd", + "sha256": "5a675c9d23f176ea195678a949e144b23c7a8b268b03e0df8919a2cfc198e585", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_arm64.deb", + "version": "1:4.8.1-1" + } + }, + "perl": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgdbm-compat4", + "version": "1.19-2" + }, + { + "name": "libgdbm6", + "version": "1.19-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libperl5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "perl-modules-5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "perl", + "sha256": "d5f710c7db9fcd6d9d6f119cd0dea64a4f765867447dd97b24ab44be1de7c60f", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgdbm-compat4", + "version": "1.19-2" + }, + { + "name": "libgdbm6", + "version": "1.19-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libperl5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "perl-modules-5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "perl", + "sha256": "6ed36a59241bbeec132eebec770567a4d23884f71dc922ac6770862cac1f3d9a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "perl-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-base", + "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-base", + "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "perl-modules-5.32": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-modules-5.32", + "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-modules-5.32", + "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "tar": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tar", + "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", + "version": "1.34+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tar", + "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", + "version": "1.34+dfsg-1+deb11u1" + } + }, + "tzdata": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + } + }, + "zlib1g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "zlib1g", + "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "zlib1g", + "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", + "url": "https://snapshot.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + } } - ], - "version": 1 + }, + "version": 2 } \ No newline at end of file diff --git a/examples/debian_shared_dependencies/bullseye.lock.json b/examples/debian_shared_dependencies/bullseye.lock.json index 1b1a779..e7d813b 100755 --- a/examples/debian_shared_dependencies/bullseye.lock.json +++ b/examples/debian_shared_dependencies/bullseye.lock.json @@ -1,3153 +1,2831 @@ { - "packages": [ - { - "arch": "amd64", - "dependencies": [ - { - "key": "nginx-core_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-core", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libpcre3_2-8.39-13_amd64", - "name": "libpcre3", - "version": "2:8.39-13" - }, - { - "key": "iproute2_5.10.0-4_amd64", - "name": "iproute2", - "version": "5.10.0-4" - }, - { - "key": "libcap2-bin_1-2.44-1_amd64", - "name": "libcap2-bin", - "version": "1:2.44-1" - }, - { - "key": "libcap2_1-2.44-1_amd64", - "name": "libcap2", - "version": "1:2.44-1" - }, - { - "key": "libxtables12_1.8.7-1_amd64", - "name": "libxtables12", - "version": "1.8.7-1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libmnl0_1.0.4-3_amd64", - "name": "libmnl0", - "version": "1.0.4-3" - }, - { - "key": "libelf1_0.183-1_amd64", - "name": "libelf1", - "version": "0.183-1" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libbsd0_0.11.3-1-p-deb11u1_amd64", - "name": "libbsd0", - "version": "0.11.3-1+deb11u1" - }, - { - "key": "libmd0_1.0.3-3_amd64", - "name": "libmd0", - "version": "1.0.3-3" - }, - { - "key": "libbpf0_1-0.3-2_amd64", - "name": "libbpf0", - "version": "1:0.3-2" - }, - { - "key": "nginx-common_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-common", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "lsb-base_11.1.0_amd64", - "name": "lsb-base", - "version": "11.1.0" - }, - { - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgeoip1_1.6.12-7_amd64", - "name": "libgeoip1", - "version": "1.6.12-7" - }, - { - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-mail", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-xslt-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libxslt1.1_1.1.34-4-p-deb11u1_amd64", - "name": "libxslt1.1", - "version": "1.1.34-4+deb11u1" - }, - { - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_amd64", - "name": "libxml2", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libicu67_67.1-7_amd64", - "name": "libicu67", - "version": "67.1-7" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-image-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgd3_2.3.0-2_amd64", - "name": "libgd3", - "version": "2.3.0-2" - }, - { - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_amd64", - "name": "libxpm4", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "key": "libx11-6_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-6", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libx11-data_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-data", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libxcb1_1.14-3_amd64", - "name": "libxcb1", - "version": "1.14-3" - }, - { - "key": "libxdmcp6_1-1.1.2-3_amd64", - "name": "libxdmcp6", - "version": "1:1.1.2-3" - }, - { - "key": "libxau6_1-1.0.9-1_amd64", - "name": "libxau6", - "version": "1:1.0.9-1" - }, - { - "key": "libwebp6_0.6.1-2.1-p-deb11u2_amd64", - "name": "libwebp6", - "version": "0.6.1-2.1+deb11u2" - }, - { - "key": "libtiff5_4.2.0-1-p-deb11u5_amd64", - "name": "libtiff5", - "version": "4.2.0-1+deb11u5" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libjpeg62-turbo_1-2.0.6-4_amd64", - "name": "libjpeg62-turbo", - "version": "1:2.0.6-4" - }, - { - "key": "libjbig0_2.1-3.1-p-b2_amd64", - "name": "libjbig0", - "version": "2.1-3.1+b2" - }, - { - "key": "libdeflate0_1.7-1_amd64", - "name": "libdeflate0", - "version": "1.7-1" - }, - { - "key": "libpng16-16_1.6.37-3_amd64", - "name": "libpng16-16", - "version": "1.6.37-3" - }, - { - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_amd64", - "name": "libfreetype6", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "key": "libbrotli1_1.0.9-2-p-b2_amd64", - "name": "libbrotli1", - "version": "1.0.9-2+b2" - }, - { - "key": "libfontconfig1_2.13.1-4.2_amd64", - "name": "libfontconfig1", - "version": "2.13.1-4.2" - }, - { - "key": "fontconfig-config_2.13.1-4.2_amd64", - "name": "fontconfig-config", - "version": "2.13.1-4.2" - }, - { - "key": "ucf_3.0043_amd64", - "name": "ucf", - "version": "3.0043" - }, - { - "key": "sensible-utils_0.0.14_amd64", - "name": "sensible-utils", - "version": "0.0.14" - }, - { - "key": "coreutils_8.32-4-p-b1_amd64", - "name": "coreutils", - "version": "8.32-4+b1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "debconf_1.5.77_amd64", - "name": "debconf", - "version": "1.5.77" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libuuid1_2.36.1-8-p-deb11u1_amd64", - "name": "libuuid1", - "version": "2.36.1-8+deb11u1" - }, - { - "key": "libexpat1_2.2.10-2-p-deb11u5_amd64", - "name": "libexpat1", - "version": "2.2.10-2+deb11u5" - }, - { - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream-geoip2_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream-geoip2", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libmaxminddb0_1.5.2-1_amd64", - "name": "libmaxminddb0", - "version": "1.5.2-1" - }, - { - "key": "libnginx-mod-http-upstream-fair_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-upstream-fair", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-subs-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-subs-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-geoip2_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-geoip2", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-echo_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-echo", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-dav-ext_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-dav-ext", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-auth-pam_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-auth-pam", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "version": "1:3.0-2" - } - ], - "key": "nginx-full_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-full", - "sha256": "4049950f648478009faeaf028ab7287240ebd28c27799a5b128a1623290b3e44", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-full_1.18.0-6.1+deb11u3_all.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libpcre3_2-8.39-13_amd64", - "name": "libpcre3", - "version": "2:8.39-13" - }, - { - "key": "iproute2_5.10.0-4_amd64", - "name": "iproute2", - "version": "5.10.0-4" - }, - { - "key": "libcap2-bin_1-2.44-1_amd64", - "name": "libcap2-bin", - "version": "1:2.44-1" - }, - { - "key": "libcap2_1-2.44-1_amd64", - "name": "libcap2", - "version": "1:2.44-1" - }, - { - "key": "libxtables12_1.8.7-1_amd64", - "name": "libxtables12", - "version": "1.8.7-1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libmnl0_1.0.4-3_amd64", - "name": "libmnl0", - "version": "1.0.4-3" - }, - { - "key": "libelf1_0.183-1_amd64", - "name": "libelf1", - "version": "0.183-1" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libbsd0_0.11.3-1-p-deb11u1_amd64", - "name": "libbsd0", - "version": "0.11.3-1+deb11u1" - }, - { - "key": "libmd0_1.0.3-3_amd64", - "name": "libmd0", - "version": "1.0.3-3" - }, - { - "key": "libbpf0_1-0.3-2_amd64", - "name": "libbpf0", - "version": "1:0.3-2" - }, - { - "key": "nginx-common_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-common", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "lsb-base_11.1.0_amd64", - "name": "lsb-base", - "version": "11.1.0" - }, - { - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgeoip1_1.6.12-7_amd64", - "name": "libgeoip1", - "version": "1.6.12-7" - }, - { - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-mail", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-xslt-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libxslt1.1_1.1.34-4-p-deb11u1_amd64", - "name": "libxslt1.1", - "version": "1.1.34-4+deb11u1" - }, - { - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_amd64", - "name": "libxml2", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libicu67_67.1-7_amd64", - "name": "libicu67", - "version": "67.1-7" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-image-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgd3_2.3.0-2_amd64", - "name": "libgd3", - "version": "2.3.0-2" - }, - { - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_amd64", - "name": "libxpm4", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "key": "libx11-6_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-6", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libx11-data_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-data", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libxcb1_1.14-3_amd64", - "name": "libxcb1", - "version": "1.14-3" - }, - { - "key": "libxdmcp6_1-1.1.2-3_amd64", - "name": "libxdmcp6", - "version": "1:1.1.2-3" - }, - { - "key": "libxau6_1-1.0.9-1_amd64", - "name": "libxau6", - "version": "1:1.0.9-1" - }, - { - "key": "libwebp6_0.6.1-2.1-p-deb11u2_amd64", - "name": "libwebp6", - "version": "0.6.1-2.1+deb11u2" - }, - { - "key": "libtiff5_4.2.0-1-p-deb11u5_amd64", - "name": "libtiff5", - "version": "4.2.0-1+deb11u5" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libjpeg62-turbo_1-2.0.6-4_amd64", - "name": "libjpeg62-turbo", - "version": "1:2.0.6-4" - }, - { - "key": "libjbig0_2.1-3.1-p-b2_amd64", - "name": "libjbig0", - "version": "2.1-3.1+b2" - }, - { - "key": "libdeflate0_1.7-1_amd64", - "name": "libdeflate0", - "version": "1.7-1" - }, - { - "key": "libpng16-16_1.6.37-3_amd64", - "name": "libpng16-16", - "version": "1.6.37-3" - }, - { - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_amd64", - "name": "libfreetype6", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "key": "libbrotli1_1.0.9-2-p-b2_amd64", - "name": "libbrotli1", - "version": "1.0.9-2+b2" - }, - { - "key": "libfontconfig1_2.13.1-4.2_amd64", - "name": "libfontconfig1", - "version": "2.13.1-4.2" - }, - { - "key": "fontconfig-config_2.13.1-4.2_amd64", - "name": "fontconfig-config", - "version": "2.13.1-4.2" - }, - { - "key": "ucf_3.0043_amd64", - "name": "ucf", - "version": "3.0043" - }, - { - "key": "sensible-utils_0.0.14_amd64", - "name": "sensible-utils", - "version": "0.0.14" - }, - { - "key": "coreutils_8.32-4-p-b1_amd64", - "name": "coreutils", - "version": "8.32-4+b1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "debconf_1.5.77_amd64", - "name": "debconf", - "version": "1.5.77" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libuuid1_2.36.1-8-p-deb11u1_amd64", - "name": "libuuid1", - "version": "2.36.1-8+deb11u1" - }, - { - "key": "libexpat1_2.2.10-2-p-deb11u5_amd64", - "name": "libexpat1", - "version": "2.2.10-2+deb11u5" - }, - { - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-geoip", - "version": "1.18.0-6.1+deb11u3" - } - ], - "key": "nginx-core_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-core", - "sha256": "3d36d36ee74a62037159aeae87c51d2535bf7195a0fb325bde90a325034fc152", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-core_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpcre3_2-8.39-13_amd64", - "name": "libpcre3", - "sha256": "48efcf2348967c211cd9408539edf7ec3fa9d800b33041f6511ccaecc1ffa9d0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre3/libpcre3_8.39-13_amd64.deb", - "version": "2:8.39-13" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "iproute2_5.10.0-4_amd64", - "name": "iproute2", - "sha256": "bad652452612c81b8cfdca1411a036a768f5fa3461a04d6662f1ee0807ea3791", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iproute2/iproute2_5.10.0-4_amd64.deb", - "version": "5.10.0-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap2-bin_1-2.44-1_amd64", - "name": "libcap2-bin", - "sha256": "a5b9717d8455cf8517c4c5f29aa04a4dec973430f0d3c1232f652abb9a4d93cc", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2-bin_2.44-1_amd64.deb", - "version": "1:2.44-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap2_1-2.44-1_amd64", - "name": "libcap2", - "sha256": "7a3ae3e97d0d403a4c54663c0bb48e9341d98822420a4ab808c6dc8e8474558f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2_2.44-1_amd64.deb", - "version": "1:2.44-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxtables12_1.8.7-1_amd64", - "name": "libxtables12", - "sha256": "9702a4be6f267b58c8fc1cfa0747bbefccb8b9a9af2a3547535533fbf2a7c14d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iptables/libxtables12_1.8.7-1_amd64.deb", - "version": "1.8.7-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", - "version": "3.1-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libmnl0_1.0.4-3_amd64", - "name": "libmnl0", - "sha256": "4581f42e3373cb72f9ea4e88163b17873afca614a6c6f54637e95aa75983ea7c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmnl/libmnl0_1.0.4-3_amd64.deb", - "version": "1.0.4-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libelf1_0.183-1_amd64", - "name": "libelf1", - "sha256": "e1ad132d502b255023c222d0cae1d02ca941f6b68fd0e9b908c6004cc326592c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/elfutils/libelf1_0.183-1_amd64.deb", - "version": "0.183-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbsd0_0.11.3-1-p-deb11u1_amd64", - "name": "libbsd0", - "sha256": "6ec5a08a4bb32c0dc316617f4bbefa8654c472d1cd4412ab8995f3955491f4a8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbsd/libbsd0_0.11.3-1+deb11u1_amd64.deb", - "version": "0.11.3-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libmd0_1.0.3-3_amd64", - "name": "libmd0", - "sha256": "9e425b3c128b69126d95e61998e1b5ef74e862dd1fc953d91eebcc315aea62ea", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmd/libmd0_1.0.3-3_amd64.deb", - "version": "1.0.3-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbpf0_1-0.3-2_amd64", - "name": "libbpf0", - "sha256": "21775f2ae3e1221dab6b9cbb7743df54f751b831e89e005a6f3ce951ba3a30b9", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbpf/libbpf0_0.3-2_amd64.deb", - "version": "1:0.3-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "nginx-common_1.18.0-6.1-p-deb11u3_amd64", - "name": "nginx-common", - "sha256": "bfd22beb7bd248db58eee6e6434a7c500f6e98e264219b3832f248696cd58f67", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-common_1.18.0-6.1+deb11u3_all.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "lsb-base_11.1.0_amd64", - "name": "lsb-base", - "sha256": "89ed6332074d827a65305f9a51e591dff20641d61ff5e11f4e1822a9987e96fe", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lsb/lsb-base_11.1.0_all.deb", - "version": "11.1.0" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream-geoip", - "sha256": "b1b22074e8586b9c2fa48fdd460fb43f719e4305a89209cd151102a012af4772", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream", - "sha256": "1fbc038483013a78f884314a274bafa221000c8d6cddfd76fd217d23bf26b8d0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgeoip1_1.6.12-7_amd64", - "name": "libgeoip1", - "sha256": "d4d6076106a6f522144e8071baf6d5fdbd415035f51e081075053ca8223cad51", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/geoip/libgeoip1_1.6.12-7_amd64.deb", - "version": "1.6.12-7" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-mail", - "sha256": "3d401417fc74090544c8cd8586add33cbd2f8d88437072233bca9547922f3384", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-mail_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-xslt-filter", - "sha256": "e51af1373b99ce692dfcb11f185ceb4664b6009a50b4d92773af2c74601d2d4a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-xslt-filter_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxslt1.1_1.1.34-4-p-deb11u1_amd64", - "name": "libxslt1.1", - "sha256": "e6109d282ad9a330856b88944a953e86329b2c07d8b0f378a2fd0493f27352c8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxslt/libxslt1.1_1.1.34-4+deb11u1_amd64.deb", - "version": "1.1.34-4+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_amd64", - "name": "libxml2", - "sha256": "b29ea9026561ef0019a57b8b192bf08f725976cd1dddd3fc6bcf876840350989", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxml2/libxml2_2.9.10+dfsg-6.7+deb11u4_amd64.deb", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libicu67_67.1-7_amd64", - "name": "libicu67", - "sha256": "2bf5c46254f527865bfd6368e1120908755fa57d83634bd7d316c9b3cfd57303", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/icu/libicu67_67.1-7_amd64.deb", - "version": "67.1-7" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", - "version": "1.8.7-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", - "version": "1.38-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-image-filter", - "sha256": "811bae64a056aeb4d68329296b0d5f96749a688285977fd2b192f8c81f623304", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-image-filter_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgd3_2.3.0-2_amd64", - "name": "libgd3", - "sha256": "fadaa01272200dcaa476c6b8908e1faa93d6840610beca909099647829f3fdc1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgd2/libgd3_2.3.0-2_amd64.deb", - "version": "2.3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_amd64", - "name": "libxpm4", - "sha256": "349a5a8cf0de6cb33c199027abfbd6b7a13f5160948e6db066a96080c61e4819", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxpm/libxpm4_3.5.12-1.1+deb11u1_amd64.deb", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libx11-6_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-6", - "sha256": "2b3b959cb10c07be065eb638a8577fe20f282045aaef76425dbd7310d1244b8c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-6_1.7.2-1+deb11u2_amd64.deb", - "version": "2:1.7.2-1+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libx11-data_2-1.7.2-1-p-deb11u2_amd64", - "name": "libx11-data", - "sha256": "9db24e1e7ed3cd738b503e7df5c1b9b52b1eadcb55019cd63b1409e578565d29", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-data_1.7.2-1+deb11u2_all.deb", - "version": "2:1.7.2-1+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxcb1_1.14-3_amd64", - "name": "libxcb1", - "sha256": "d5e0f047ed766f45eb7473947b70f9e8fddbe45ef22ecfd92ab712c0671a93ac", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcb/libxcb1_1.14-3_amd64.deb", - "version": "1.14-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxdmcp6_1-1.1.2-3_amd64", - "name": "libxdmcp6", - "sha256": "ecb8536f5fb34543b55bb9dc5f5b14c9dbb4150a7bddb3f2287b7cab6e9d25ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_amd64.deb", - "version": "1:1.1.2-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxau6_1-1.0.9-1_amd64", - "name": "libxau6", - "sha256": "679db1c4579ec7c61079adeaae8528adeb2e4bf5465baa6c56233b995d714750", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxau/libxau6_1.0.9-1_amd64.deb", - "version": "1:1.0.9-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libwebp6_0.6.1-2.1-p-deb11u2_amd64", - "name": "libwebp6", - "sha256": "8abc2b1ca77a458bbbcdeb6af5d85316260977370fa2518d017222b3584d9653", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libw/libwebp/libwebp6_0.6.1-2.1+deb11u2_amd64.deb", - "version": "0.6.1-2.1+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtiff5_4.2.0-1-p-deb11u5_amd64", - "name": "libtiff5", - "sha256": "7a70e9513e2b3c3a3d68f1614189f0be72b57eae2229aa64a3d7c8a3fe0639c9", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/t/tiff/libtiff5_4.2.0-1+deb11u5_amd64.deb", - "version": "4.2.0-1+deb11u5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libjpeg62-turbo_1-2.0.6-4_amd64", - "name": "libjpeg62-turbo", - "sha256": "28de780a1605cf501c3a4ebf3e588f5110e814b208548748ab064100c32202ea", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.6-4_amd64.deb", - "version": "1:2.0.6-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libjbig0_2.1-3.1-p-b2_amd64", - "name": "libjbig0", - "sha256": "9646d69eefce505407bf0437ea12fb7c2d47a3fd4434720ba46b642b6dcfd80f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/j/jbigkit/libjbig0_2.1-3.1+b2_amd64.deb", - "version": "2.1-3.1+b2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libdeflate0_1.7-1_amd64", - "name": "libdeflate0", - "sha256": "dadaf0d28360f6eb21ad389b2e0f12f8709c9de539b28de9c11d7ec7043dec95", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libd/libdeflate/libdeflate0_1.7-1_amd64.deb", - "version": "1.7-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpng16-16_1.6.37-3_amd64", - "name": "libpng16-16", - "sha256": "7d5336af395d1f658d0e66d74d0e1f4c632028750e7e04314d1a650e0317f3d6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libp/libpng1.6/libpng16-16_1.6.37-3_amd64.deb", - "version": "1.6.37-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_amd64", - "name": "libfreetype6", - "sha256": "b21cfdd12adf6cac4af320c2485fb62a8a5edc6f9768bc2288fd686f4fa6dfdf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/freetype/libfreetype6_2.10.4+dfsg-1+deb11u1_amd64.deb", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbrotli1_1.0.9-2-p-b2_amd64", - "name": "libbrotli1", - "sha256": "65ca7d8b03e9dac09c5d544a89dd52d1aeb74f6a19583d32e4ff5f0c77624c24", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/brotli/libbrotli1_1.0.9-2+b2_amd64.deb", - "version": "1.0.9-2+b2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libfontconfig1_2.13.1-4.2_amd64", - "name": "libfontconfig1", - "sha256": "b92861827627a76e74d6f447a5577d039ef2f95da18af1f29aa98fb96baea4c1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/libfontconfig1_2.13.1-4.2_amd64.deb", - "version": "2.13.1-4.2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "fontconfig-config_2.13.1-4.2_amd64", - "name": "fontconfig-config", - "sha256": "48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/fontconfig-config_2.13.1-4.2_all.deb", - "version": "2.13.1-4.2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "ucf_3.0043_amd64", - "name": "ucf", - "sha256": "ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/u/ucf/ucf_3.0043_all.deb", - "version": "3.0043" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "sensible-utils_0.0.14_amd64", - "name": "sensible-utils", - "sha256": "b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/sensible-utils/sensible-utils_0.0.14_all.deb", - "version": "0.0.14" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4-p-b1_amd64", - "name": "coreutils", - "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", - "version": "8.32-4+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", - "version": "2.2.53-10" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debconf_1.5.77_amd64", - "name": "debconf", - "sha256": "d9ee4dff77aaad12674eed3ccefdcccd332424c9e2ac2ac00a37a1e06c84ab70", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debconf/debconf_1.5.77_all.deb", - "version": "1.5.77" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", - "version": "1.20.13" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", - "version": "1.0.8-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libuuid1_2.36.1-8-p-deb11u1_amd64", - "name": "libuuid1", - "sha256": "31250af4dd3b7d1519326a9a6764d1466a93d8f498cf6545058761ebc38b2823", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/u/util-linux/libuuid1_2.36.1-8+deb11u1_amd64.deb", - "version": "2.36.1-8+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libexpat1_2.2.10-2-p-deb11u5_amd64", - "name": "libexpat1", - "sha256": "5744040c4735bcdd51238aebfa3e402b857244897f1007f61154982ebe5abbd7", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/e/expat/libexpat1_2.2.10-2+deb11u5_amd64.deb", - "version": "2.2.10-2+deb11u5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-geoip", - "sha256": "639ceb3e17c3d5a3033757d86a57f3fa786be27ef51fd1618c8a84e9d55ef974", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-stream-geoip2_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-stream-geoip2", - "sha256": "20abf8d42ceebe21dcf76c9c4952b9b9a5d8c140affade21c8aebb22d38469d9", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip2_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libmaxminddb0_1.5.2-1_amd64", - "name": "libmaxminddb0", - "sha256": "9779e86a61b8315d119939f3226472f17d707dce0673eff7b961a478e519e351", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmaxminddb/libmaxminddb0_1.5.2-1_amd64.deb", - "version": "1.5.2-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-upstream-fair_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-upstream-fair", - "sha256": "9650cbb1808fd4d63703b70d5d4599c34e4781c85f5e2b2b47f0abc934397f28", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-upstream-fair_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-subs-filter_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-subs-filter", - "sha256": "fbfc00d65a6305911a7f025eb331912dadb6de7cdc5e65e5d94f2e65d70a5596", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-subs-filter_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-geoip2_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-geoip2", - "sha256": "de912c363bb1864148379f0784c8031194a3749ae930a5fd0eb1bc2df63d7957", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip2_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-echo_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-echo", - "sha256": "a5be1358d4fb799fdd5941377dea2c45cd013e2c4130dfce98f4af94aead1ec3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-echo_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-dav-ext_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-dav-ext", - "sha256": "48458923ac10ed4ad432237583b617702e8ca6b88da330989711aa734f7e06ee", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-dav-ext_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnginx-mod-http-auth-pam_1.18.0-6.1-p-deb11u3_amd64", - "name": "libnginx-mod-http-auth-pam", - "sha256": "08f23455c05eee95e8c0bf96d1a52e6a1ddcf509dd1b4dec97c778ff2c596c92", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-auth-pam_1.18.0-6.1+deb11u3_amd64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_amd64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "debianutils_4.11.2_amd64", - "name": "debianutils", - "version": "4.11.2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "base-files_11.1-p-deb11u9_amd64", - "name": "base-files", - "version": "11.1+deb11u9" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "bash_5.1-2-p-deb11u1_amd64", - "name": "bash", - "sha256": "f702ef058e762d7208a9c83f6f6bbf02645533bfd615c54e8cdcce842cd57377", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_amd64.deb", - "version": "5.1-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debianutils_4.11.2_amd64", - "name": "debianutils", - "sha256": "83d21669c5957e3eaee20096a7d8c596bd07f57f1e95dc74f192b3fb7bb2e6a9", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_amd64.deb", - "version": "4.11.2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "base-files_11.1-p-deb11u9_amd64", - "name": "base-files", - "sha256": "1ff08cf6e1b97af1e37cda830f3658f9af43a906abb80a21951c81aea02ce230", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_amd64.deb", - "version": "11.1+deb11u9" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "nginx-core_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-core", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libpcre3_2-8.39-13_arm64", - "name": "libpcre3", - "version": "2:8.39-13" - }, - { - "key": "iproute2_5.10.0-4_arm64", - "name": "iproute2", - "version": "5.10.0-4" - }, - { - "key": "libcap2-bin_1-2.44-1_arm64", - "name": "libcap2-bin", - "version": "1:2.44-1" - }, - { - "key": "libcap2_1-2.44-1_arm64", - "name": "libcap2", - "version": "1:2.44-1" - }, - { - "key": "libxtables12_1.8.7-1_arm64", - "name": "libxtables12", - "version": "1.8.7-1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libmnl0_1.0.4-3_arm64", - "name": "libmnl0", - "version": "1.0.4-3" - }, - { - "key": "libelf1_0.183-1_arm64", - "name": "libelf1", - "version": "0.183-1" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libbsd0_0.11.3-1-p-deb11u1_arm64", - "name": "libbsd0", - "version": "0.11.3-1+deb11u1" - }, - { - "key": "libmd0_1.0.3-3_arm64", - "name": "libmd0", - "version": "1.0.3-3" - }, - { - "key": "libbpf0_1-0.3-2_arm64", - "name": "libbpf0", - "version": "1:0.3-2" - }, - { - "key": "nginx-common_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-common", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "lsb-base_11.1.0_arm64", - "name": "lsb-base", - "version": "11.1.0" - }, - { - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgeoip1_1.6.12-7_arm64", - "name": "libgeoip1", - "version": "1.6.12-7" - }, - { - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-mail", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-xslt-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libxslt1.1_1.1.34-4-p-deb11u1_arm64", - "name": "libxslt1.1", - "version": "1.1.34-4+deb11u1" - }, - { - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_arm64", - "name": "libxml2", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libicu67_67.1-7_arm64", - "name": "libicu67", - "version": "67.1-7" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-image-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgd3_2.3.0-2_arm64", - "name": "libgd3", - "version": "2.3.0-2" - }, - { - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_arm64", - "name": "libxpm4", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "key": "libx11-6_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-6", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libx11-data_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-data", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libxcb1_1.14-3_arm64", - "name": "libxcb1", - "version": "1.14-3" - }, - { - "key": "libxdmcp6_1-1.1.2-3_arm64", - "name": "libxdmcp6", - "version": "1:1.1.2-3" - }, - { - "key": "libxau6_1-1.0.9-1_arm64", - "name": "libxau6", - "version": "1:1.0.9-1" - }, - { - "key": "libwebp6_0.6.1-2.1-p-deb11u2_arm64", - "name": "libwebp6", - "version": "0.6.1-2.1+deb11u2" - }, - { - "key": "libtiff5_4.2.0-1-p-deb11u5_arm64", - "name": "libtiff5", - "version": "4.2.0-1+deb11u5" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libjpeg62-turbo_1-2.0.6-4_arm64", - "name": "libjpeg62-turbo", - "version": "1:2.0.6-4" - }, - { - "key": "libjbig0_2.1-3.1-p-b2_arm64", - "name": "libjbig0", - "version": "2.1-3.1+b2" - }, - { - "key": "libdeflate0_1.7-1_arm64", - "name": "libdeflate0", - "version": "1.7-1" - }, - { - "key": "libpng16-16_1.6.37-3_arm64", - "name": "libpng16-16", - "version": "1.6.37-3" - }, - { - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_arm64", - "name": "libfreetype6", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "key": "libbrotli1_1.0.9-2-p-b2_arm64", - "name": "libbrotli1", - "version": "1.0.9-2+b2" - }, - { - "key": "libfontconfig1_2.13.1-4.2_arm64", - "name": "libfontconfig1", - "version": "2.13.1-4.2" - }, - { - "key": "fontconfig-config_2.13.1-4.2_arm64", - "name": "fontconfig-config", - "version": "2.13.1-4.2" - }, - { - "key": "ucf_3.0043_arm64", - "name": "ucf", - "version": "3.0043" - }, - { - "key": "sensible-utils_0.0.14_arm64", - "name": "sensible-utils", - "version": "0.0.14" - }, - { - "key": "coreutils_8.32-4_arm64", - "name": "coreutils", - "version": "8.32-4" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "debconf_1.5.77_arm64", - "name": "debconf", - "version": "1.5.77" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libuuid1_2.36.1-8-p-deb11u1_arm64", - "name": "libuuid1", - "version": "2.36.1-8+deb11u1" - }, - { - "key": "libexpat1_2.2.10-2-p-deb11u5_arm64", - "name": "libexpat1", - "version": "2.2.10-2+deb11u5" - }, - { - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream-geoip2_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream-geoip2", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libmaxminddb0_1.5.2-1_arm64", - "name": "libmaxminddb0", - "version": "1.5.2-1" - }, - { - "key": "libnginx-mod-http-upstream-fair_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-upstream-fair", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-subs-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-subs-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-geoip2_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-geoip2", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-echo_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-echo", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-dav-ext_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-dav-ext", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-auth-pam_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-auth-pam", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "version": "1:3.0-2" - } - ], - "key": "nginx-full_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-full", - "sha256": "4049950f648478009faeaf028ab7287240ebd28c27799a5b128a1623290b3e44", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-full_1.18.0-6.1+deb11u3_all.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libpcre3_2-8.39-13_arm64", - "name": "libpcre3", - "version": "2:8.39-13" - }, - { - "key": "iproute2_5.10.0-4_arm64", - "name": "iproute2", - "version": "5.10.0-4" - }, - { - "key": "libcap2-bin_1-2.44-1_arm64", - "name": "libcap2-bin", - "version": "1:2.44-1" - }, - { - "key": "libcap2_1-2.44-1_arm64", - "name": "libcap2", - "version": "1:2.44-1" - }, - { - "key": "libxtables12_1.8.7-1_arm64", - "name": "libxtables12", - "version": "1.8.7-1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libmnl0_1.0.4-3_arm64", - "name": "libmnl0", - "version": "1.0.4-3" - }, - { - "key": "libelf1_0.183-1_arm64", - "name": "libelf1", - "version": "0.183-1" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libbsd0_0.11.3-1-p-deb11u1_arm64", - "name": "libbsd0", - "version": "0.11.3-1+deb11u1" - }, - { - "key": "libmd0_1.0.3-3_arm64", - "name": "libmd0", - "version": "1.0.3-3" - }, - { - "key": "libbpf0_1-0.3-2_arm64", - "name": "libbpf0", - "version": "1:0.3-2" - }, - { - "key": "nginx-common_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-common", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "lsb-base_11.1.0_arm64", - "name": "lsb-base", - "version": "11.1.0" - }, - { - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream-geoip", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgeoip1_1.6.12-7_arm64", - "name": "libgeoip1", - "version": "1.6.12-7" - }, - { - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-mail", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-xslt-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libxslt1.1_1.1.34-4-p-deb11u1_arm64", - "name": "libxslt1.1", - "version": "1.1.34-4+deb11u1" - }, - { - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_arm64", - "name": "libxml2", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libicu67_67.1-7_arm64", - "name": "libicu67", - "version": "67.1-7" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-image-filter", - "version": "1.18.0-6.1+deb11u3" - }, - { - "key": "libgd3_2.3.0-2_arm64", - "name": "libgd3", - "version": "2.3.0-2" - }, - { - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_arm64", - "name": "libxpm4", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "key": "libx11-6_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-6", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libx11-data_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-data", - "version": "2:1.7.2-1+deb11u2" - }, - { - "key": "libxcb1_1.14-3_arm64", - "name": "libxcb1", - "version": "1.14-3" - }, - { - "key": "libxdmcp6_1-1.1.2-3_arm64", - "name": "libxdmcp6", - "version": "1:1.1.2-3" - }, - { - "key": "libxau6_1-1.0.9-1_arm64", - "name": "libxau6", - "version": "1:1.0.9-1" - }, - { - "key": "libwebp6_0.6.1-2.1-p-deb11u2_arm64", - "name": "libwebp6", - "version": "0.6.1-2.1+deb11u2" - }, - { - "key": "libtiff5_4.2.0-1-p-deb11u5_arm64", - "name": "libtiff5", - "version": "4.2.0-1+deb11u5" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libjpeg62-turbo_1-2.0.6-4_arm64", - "name": "libjpeg62-turbo", - "version": "1:2.0.6-4" - }, - { - "key": "libjbig0_2.1-3.1-p-b2_arm64", - "name": "libjbig0", - "version": "2.1-3.1+b2" - }, - { - "key": "libdeflate0_1.7-1_arm64", - "name": "libdeflate0", - "version": "1.7-1" - }, - { - "key": "libpng16-16_1.6.37-3_arm64", - "name": "libpng16-16", - "version": "1.6.37-3" - }, - { - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_arm64", - "name": "libfreetype6", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "key": "libbrotli1_1.0.9-2-p-b2_arm64", - "name": "libbrotli1", - "version": "1.0.9-2+b2" - }, - { - "key": "libfontconfig1_2.13.1-4.2_arm64", - "name": "libfontconfig1", - "version": "2.13.1-4.2" - }, - { - "key": "fontconfig-config_2.13.1-4.2_arm64", - "name": "fontconfig-config", - "version": "2.13.1-4.2" - }, - { - "key": "ucf_3.0043_arm64", - "name": "ucf", - "version": "3.0043" - }, - { - "key": "sensible-utils_0.0.14_arm64", - "name": "sensible-utils", - "version": "0.0.14" - }, - { - "key": "coreutils_8.32-4_arm64", - "name": "coreutils", - "version": "8.32-4" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "debconf_1.5.77_arm64", - "name": "debconf", - "version": "1.5.77" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libuuid1_2.36.1-8-p-deb11u1_arm64", - "name": "libuuid1", - "version": "2.36.1-8+deb11u1" - }, - { - "key": "libexpat1_2.2.10-2-p-deb11u5_arm64", - "name": "libexpat1", - "version": "2.2.10-2+deb11u5" - }, - { - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-geoip", - "version": "1.18.0-6.1+deb11u3" - } - ], - "key": "nginx-core_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-core", - "sha256": "932d9d78df093f037caf9a32af5f3a9f42f113ccc87ca59946f983753a9b83b8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-core_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpcre3_2-8.39-13_arm64", - "name": "libpcre3", - "sha256": "21cac4064a41dbc354295c437f37bf623f9004513a97a6fa030248566aa986e9", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre3/libpcre3_8.39-13_arm64.deb", - "version": "2:8.39-13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "iproute2_5.10.0-4_arm64", - "name": "iproute2", - "sha256": "92d6c7ca67fca91257a3734d94417a3300c4240d8f6934c6b742c001814b4e31", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iproute2/iproute2_5.10.0-4_arm64.deb", - "version": "5.10.0-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap2-bin_1-2.44-1_arm64", - "name": "libcap2-bin", - "sha256": "37915f4cc73cfaef7862043f2bdad062d1b1639df04c511665f1f9321c84d0db", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2-bin_2.44-1_arm64.deb", - "version": "1:2.44-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap2_1-2.44-1_arm64", - "name": "libcap2", - "sha256": "7c5729a1cfd14876685217c5f0545301e7ff1b839262fb487d6a778e8cd8c05a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2_2.44-1_arm64.deb", - "version": "1:2.44-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxtables12_1.8.7-1_arm64", - "name": "libxtables12", - "sha256": "fa07088a313d8dae7a8cba0780117e80ead683ac549fd9986a52a3280232272a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iptables/libxtables12_1.8.7-1_arm64.deb", - "version": "1.8.7-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", - "version": "3.1-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libmnl0_1.0.4-3_arm64", - "name": "libmnl0", - "sha256": "d63aafb6f2c07db8fcb135b00ff915baf72ef8a3397e773c9c24d67950c6a46c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmnl/libmnl0_1.0.4-3_arm64.deb", - "version": "1.0.4-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libelf1_0.183-1_arm64", - "name": "libelf1", - "sha256": "12e14110cd66b3bf0564e3b184985b3e91c9cd76e909531a7f7bd2cb9b35a1f3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/elfutils/libelf1_0.183-1_arm64.deb", - "version": "0.183-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbsd0_0.11.3-1-p-deb11u1_arm64", - "name": "libbsd0", - "sha256": "614d36d41b670955a75526865bd321703f2accb6e0c07ee4c283fbba12e494df", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbsd/libbsd0_0.11.3-1+deb11u1_arm64.deb", - "version": "0.11.3-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libmd0_1.0.3-3_arm64", - "name": "libmd0", - "sha256": "3c490cdcce9d25e702e6587b6166cd8e7303fce8343642d9d5d99695282a9e5c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmd/libmd0_1.0.3-3_arm64.deb", - "version": "1.0.3-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbpf0_1-0.3-2_arm64", - "name": "libbpf0", - "sha256": "1ef325a3bd9e43970cd8e7f9f44b13e36bc935ac496e56d96f715aa69ae7281b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbpf/libbpf0_0.3-2_arm64.deb", - "version": "1:0.3-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "nginx-common_1.18.0-6.1-p-deb11u3_arm64", - "name": "nginx-common", - "sha256": "bfd22beb7bd248db58eee6e6434a7c500f6e98e264219b3832f248696cd58f67", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-common_1.18.0-6.1+deb11u3_all.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "lsb-base_11.1.0_arm64", - "name": "lsb-base", - "sha256": "89ed6332074d827a65305f9a51e591dff20641d61ff5e11f4e1822a9987e96fe", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lsb/lsb-base_11.1.0_all.deb", - "version": "11.1.0" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-stream-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream-geoip", - "sha256": "140963ecb81a3ea933e96fd7c89d01c4ffdb12509e3869d769d7b21ca5d690bf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-stream_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream", - "sha256": "88d083135df9c2c1e2401f174b4e48dde2d92cca7fc8ef661f9d26f00b395a75", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgeoip1_1.6.12-7_arm64", - "name": "libgeoip1", - "sha256": "17225fb2ed7ce9a090c39d90acc2696e5582805a2a1f391e0a8278bb6a2d0178", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/geoip/libgeoip1_1.6.12-7_arm64.deb", - "version": "1.6.12-7" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-mail_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-mail", - "sha256": "f8fa0d620dcdea21669b5fd9f503528d53b94117a9c31ac36dc318db0fbac315", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-mail_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-xslt-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-xslt-filter", - "sha256": "5d9bb33231c8589a07063a73bb6b3061bc92fae79e5731e96b5b398f1fafee29", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-xslt-filter_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxslt1.1_1.1.34-4-p-deb11u1_arm64", - "name": "libxslt1.1", - "sha256": "2505ed3d8e6b049349ecfeff1cb6923eca43403d252e8ddd308a6a644b97eec7", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxslt/libxslt1.1_1.1.34-4+deb11u1_arm64.deb", - "version": "1.1.34-4+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxml2_2.9.10-p-dfsg-6.7-p-deb11u4_arm64", - "name": "libxml2", - "sha256": "ccd9f449fa88827258bd51eeb8d5f6f33719df290f157c2b0be3c527a6ee45aa", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxml2/libxml2_2.9.10+dfsg-6.7+deb11u4_arm64.deb", - "version": "2.9.10+dfsg-6.7+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libicu67_67.1-7_arm64", - "name": "libicu67", - "sha256": "776303db230b275d8a17dfe8f0012bf61093dfc910f0d51f175be36707686efe", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/icu/libicu67_67.1-7_arm64.deb", - "version": "67.1-7" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", - "version": "1.8.7-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", - "version": "1.38-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-image-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-image-filter", - "sha256": "d972b39dcca41c42f7c797fcc4472d81b64e99978845b2309e18e6d5937e384e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-image-filter_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgd3_2.3.0-2_arm64", - "name": "libgd3", - "sha256": "1e6d6af0c90fe62193b3e51e45f69d075b86d7bde3fb4fd30b60da763aeca43f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgd2/libgd3_2.3.0-2_arm64.deb", - "version": "2.3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxpm4_1-3.5.12-1.1-p-deb11u1_arm64", - "name": "libxpm4", - "sha256": "83ba23ecaaf3f7b700f1ec2c1e349b5a63f3c8cdceb43cc78eb353e16051427d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxpm/libxpm4_3.5.12-1.1+deb11u1_arm64.deb", - "version": "1:3.5.12-1.1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libx11-6_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-6", - "sha256": "1ddb1a4d3dbdaeac8fd8d0009a27e6453b15d97362fdd1d3efb1d5f577364f30", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-6_1.7.2-1+deb11u2_arm64.deb", - "version": "2:1.7.2-1+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libx11-data_2-1.7.2-1-p-deb11u2_arm64", - "name": "libx11-data", - "sha256": "9db24e1e7ed3cd738b503e7df5c1b9b52b1eadcb55019cd63b1409e578565d29", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-data_1.7.2-1+deb11u2_all.deb", - "version": "2:1.7.2-1+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxcb1_1.14-3_arm64", - "name": "libxcb1", - "sha256": "48f82b65c93adb7af7757961fdd2730928316459f008d767b7104a56bc20a8f1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcb/libxcb1_1.14-3_arm64.deb", - "version": "1.14-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxdmcp6_1-1.1.2-3_arm64", - "name": "libxdmcp6", - "sha256": "e92569ac33247261aa09adfadc34ced3994ac301cf8b58de415a2d5dbf15ccfc", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_arm64.deb", - "version": "1:1.1.2-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxau6_1-1.0.9-1_arm64", - "name": "libxau6", - "sha256": "36c2bf400641a80521093771dc2562c903df4065f9eb03add50d90564337ea6c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxau/libxau6_1.0.9-1_arm64.deb", - "version": "1:1.0.9-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libwebp6_0.6.1-2.1-p-deb11u2_arm64", - "name": "libwebp6", - "sha256": "edeb260e528fecae77457a63a468e55837a98079fdd7f1e20e9813c358f8c755", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libw/libwebp/libwebp6_0.6.1-2.1+deb11u2_arm64.deb", - "version": "0.6.1-2.1+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtiff5_4.2.0-1-p-deb11u5_arm64", - "name": "libtiff5", - "sha256": "6896296ef6193ff77434c5d1d09dd9a333633f7a208ab1cc7de3b286d2d45824", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/t/tiff/libtiff5_4.2.0-1+deb11u5_arm64.deb", - "version": "4.2.0-1+deb11u5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libjpeg62-turbo_1-2.0.6-4_arm64", - "name": "libjpeg62-turbo", - "sha256": "8903394de23dc6ead5abfc80972c8fd44300c9903ad4589d0df926e71977d881", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.6-4_arm64.deb", - "version": "1:2.0.6-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libjbig0_2.1-3.1-p-b2_arm64", - "name": "libjbig0", - "sha256": "b71b3e62e162f64cb24466bf7c6e40b05ce2a67ca7fed26d267d498f2896d549", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/j/jbigkit/libjbig0_2.1-3.1+b2_arm64.deb", - "version": "2.1-3.1+b2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libdeflate0_1.7-1_arm64", - "name": "libdeflate0", - "sha256": "a1adc22600ea5e44e8ea715972ac2af7994cc7ff4d94bba8e8b01abb9ddbdfd0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libd/libdeflate/libdeflate0_1.7-1_arm64.deb", - "version": "1.7-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpng16-16_1.6.37-3_arm64", - "name": "libpng16-16", - "sha256": "f5f61274aa5f71b9e44b077bd7b9fa9cd5ff71d8b8295f47dc1b2d45378aa73e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libp/libpng1.6/libpng16-16_1.6.37-3_arm64.deb", - "version": "1.6.37-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libfreetype6_2.10.4-p-dfsg-1-p-deb11u1_arm64", - "name": "libfreetype6", - "sha256": "b25f1c148498dd2b49dc30da0a2b2537a7bd0cb34afb8ea681dd145053c9a3f8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/freetype/libfreetype6_2.10.4+dfsg-1+deb11u1_arm64.deb", - "version": "2.10.4+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbrotli1_1.0.9-2-p-b2_arm64", - "name": "libbrotli1", - "sha256": "52ca7f90de6cb6576a0a5cf5712fc4ae7344b79c44b8a1548087fd5d92bf1f64", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/brotli/libbrotli1_1.0.9-2+b2_arm64.deb", - "version": "1.0.9-2+b2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libfontconfig1_2.13.1-4.2_arm64", - "name": "libfontconfig1", - "sha256": "18b13ef8a46e9d79ba6a6ba2db0c86e42583277b5d47f6942f3223e349c22641", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/libfontconfig1_2.13.1-4.2_arm64.deb", - "version": "2.13.1-4.2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "fontconfig-config_2.13.1-4.2_arm64", - "name": "fontconfig-config", - "sha256": "48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/fontconfig-config_2.13.1-4.2_all.deb", - "version": "2.13.1-4.2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "ucf_3.0043_arm64", - "name": "ucf", - "sha256": "ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/u/ucf/ucf_3.0043_all.deb", - "version": "3.0043" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "sensible-utils_0.0.14_arm64", - "name": "sensible-utils", - "sha256": "b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/sensible-utils/sensible-utils_0.0.14_all.deb", - "version": "0.0.14" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4_arm64", - "name": "coreutils", - "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", - "version": "8.32-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", - "version": "2.2.53-10" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debconf_1.5.77_arm64", - "name": "debconf", - "sha256": "d9ee4dff77aaad12674eed3ccefdcccd332424c9e2ac2ac00a37a1e06c84ab70", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debconf/debconf_1.5.77_all.deb", - "version": "1.5.77" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", - "version": "1.20.13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", - "version": "1.0.8-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libuuid1_2.36.1-8-p-deb11u1_arm64", - "name": "libuuid1", - "sha256": "3d677da6a22e9cac519fed5a2ed5b20a4217f51ca420fce57434b5e813c26e03", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/u/util-linux/libuuid1_2.36.1-8+deb11u1_arm64.deb", - "version": "2.36.1-8+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libexpat1_2.2.10-2-p-deb11u5_arm64", - "name": "libexpat1", - "sha256": "8d20bfd061845bda0321d01accd6f8386ead5b1d7250a585d12b8d5fb1408ffa", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/e/expat/libexpat1_2.2.10-2+deb11u5_arm64.deb", - "version": "2.2.10-2+deb11u5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-geoip_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-geoip", - "sha256": "7b1d105339402426108d4d10fa733f24f2340c9b6482d10917c194d13f66072f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-stream-geoip2_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-stream-geoip2", - "sha256": "da0e67b4cc318b7bb338bec7476c260fecd6cc06ecfad4c7f9acb22a4a74d07b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip2_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libmaxminddb0_1.5.2-1_arm64", - "name": "libmaxminddb0", - "sha256": "05504845f0fab5c54075e462b99b326a224ceaefaccda864f641f1bf6d99914d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmaxminddb/libmaxminddb0_1.5.2-1_arm64.deb", - "version": "1.5.2-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-upstream-fair_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-upstream-fair", - "sha256": "7be1dfa763e9158ccdea168b1103f5b6b16b3a0c95c3996076c7f4a20aa35bca", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-upstream-fair_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-subs-filter_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-subs-filter", - "sha256": "22354006f199cc3e8e51aac00ca649dd169ca91c2e565a4734f18f3741b061ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-subs-filter_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-geoip2_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-geoip2", - "sha256": "1ae5c1491a8f43ff3a0269270d1f954441cf6fb160b3f83bb2f10ae7b47eb0ce", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip2_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-echo_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-echo", - "sha256": "ef014f5f294e744e465a9075722c1d7cb3423392b2bd029d60e0d952fd90fde7", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-echo_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-dav-ext_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-dav-ext", - "sha256": "8c65130c9d18a28eadfb657bbe818de567ed6625147e868c3bbd739189f8a991", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-dav-ext_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnginx-mod-http-auth-pam_1.18.0-6.1-p-deb11u3_arm64", - "name": "libnginx-mod-http-auth-pam", - "sha256": "4e6e906608ef1960c2514f371445bf3a32ea72b7098cae38cedac4b5c10abf05", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-auth-pam_1.18.0-6.1+deb11u3_arm64.deb", - "version": "1.18.0-6.1+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_arm64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "debianutils_4.11.2_arm64", - "name": "debianutils", - "version": "4.11.2" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "base-files_11.1-p-deb11u9_arm64", - "name": "base-files", - "version": "11.1+deb11u9" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "bash_5.1-2-p-deb11u1_arm64", - "name": "bash", - "sha256": "d7c7af5d86f43a885069408a89788f67f248e8124c682bb73936f33874e0611b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_arm64.deb", - "version": "5.1-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debianutils_4.11.2_arm64", - "name": "debianutils", - "sha256": "6543b2b1a61b4b7b4b55b4bd25162309d7d23d14d3303649aee84ad314c30e02", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_arm64.deb", - "version": "4.11.2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "base-files_11.1-p-deb11u9_arm64", - "name": "base-files", - "sha256": "c40dc4d5c6b82f5cfe75efa1a12bd09b9d5b9b8446ea045a991896a1ead8b02c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_arm64.deb", - "version": "11.1+deb11u9" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", - "version": "6.2+20201114-2+deb11u2" + "packages": { + "base-files": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "base-files", + "sha256": "1ff08cf6e1b97af1e37cda830f3658f9af43a906abb80a21951c81aea02ce230", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_amd64.deb", + "version": "11.1+deb11u9" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "base-files", + "sha256": "c40dc4d5c6b82f5cfe75efa1a12bd09b9d5b9b8446ea045a991896a1ead8b02c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/base-files/base-files_11.1+deb11u9_arm64.deb", + "version": "11.1+deb11u9" + } + }, + "bash": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "base-files", + "version": "11.1+deb11u9" + }, + { + "name": "debianutils", + "version": "4.11.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "bash", + "sha256": "f702ef058e762d7208a9c83f6f6bbf02645533bfd615c54e8cdcce842cd57377", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_amd64.deb", + "version": "5.1-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "base-files", + "version": "11.1+deb11u9" + }, + { + "name": "debianutils", + "version": "4.11.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "bash", + "sha256": "d7c7af5d86f43a885069408a89788f67f248e8124c682bb73936f33874e0611b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bash/bash_5.1-2+deb11u1_arm64.deb", + "version": "5.1-2+deb11u1" + } + }, + "coreutils": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", + "version": "8.32-4+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", + "version": "8.32-4" + } + }, + "debconf": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debconf", + "sha256": "d9ee4dff77aaad12674eed3ccefdcccd332424c9e2ac2ac00a37a1e06c84ab70", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debconf/debconf_1.5.77_all.deb", + "version": "1.5.77" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debconf", + "sha256": "d9ee4dff77aaad12674eed3ccefdcccd332424c9e2ac2ac00a37a1e06c84ab70", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debconf/debconf_1.5.77_all.deb", + "version": "1.5.77" + } + }, + "debianutils": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debianutils", + "sha256": "83d21669c5957e3eaee20096a7d8c596bd07f57f1e95dc74f192b3fb7bb2e6a9", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_amd64.deb", + "version": "4.11.2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debianutils", + "sha256": "6543b2b1a61b4b7b4b55b4bd25162309d7d23d14d3303649aee84ad314c30e02", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debianutils/debianutils_4.11.2_arm64.deb", + "version": "4.11.2" + } + }, + "dpkg": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "dpkg", + "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", + "version": "1.20.13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "dpkg", + "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", + "version": "1.20.13" + } + }, + "fontconfig-config": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "fontconfig-config", + "sha256": "48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/fontconfig-config_2.13.1-4.2_all.deb", + "version": "2.13.1-4.2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "fontconfig-config", + "sha256": "48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/fontconfig-config_2.13.1-4.2_all.deb", + "version": "2.13.1-4.2" + } + }, + "gcc-10-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "iproute2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "iproute2", + "sha256": "bad652452612c81b8cfdca1411a036a768f5fa3461a04d6662f1ee0807ea3791", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iproute2/iproute2_5.10.0-4_amd64.deb", + "version": "5.10.0-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "iproute2", + "sha256": "92d6c7ca67fca91257a3734d94417a3300c4240d8f6934c6b742c001814b4e31", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iproute2/iproute2_5.10.0-4_arm64.deb", + "version": "5.10.0-4" + } + }, + "libacl1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libacl1", + "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", + "version": "2.2.53-10" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libacl1", + "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", + "version": "2.2.53-10" + } + }, + "libattr1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libattr1", + "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", + "version": "1:2.4.48-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libattr1", + "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", + "version": "1:2.4.48-6" + } + }, + "libaudit-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + } + }, + "libaudit1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit1", + "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit1", + "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", + "version": "1:3.0-2" + } + }, + "libbpf0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbpf0", + "sha256": "21775f2ae3e1221dab6b9cbb7743df54f751b831e89e005a6f3ce951ba3a30b9", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbpf/libbpf0_0.3-2_amd64.deb", + "version": "1:0.3-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbpf0", + "sha256": "1ef325a3bd9e43970cd8e7f9f44b13e36bc935ac496e56d96f715aa69ae7281b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbpf/libbpf0_0.3-2_arm64.deb", + "version": "1:0.3-2" + } + }, + "libbrotli1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbrotli1", + "sha256": "65ca7d8b03e9dac09c5d544a89dd52d1aeb74f6a19583d32e4ff5f0c77624c24", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/brotli/libbrotli1_1.0.9-2+b2_amd64.deb", + "version": "1.0.9-2+b2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbrotli1", + "sha256": "52ca7f90de6cb6576a0a5cf5712fc4ae7344b79c44b8a1548087fd5d92bf1f64", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/brotli/libbrotli1_1.0.9-2+b2_arm64.deb", + "version": "1.0.9-2+b2" + } + }, + "libbsd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbsd0", + "sha256": "6ec5a08a4bb32c0dc316617f4bbefa8654c472d1cd4412ab8995f3955491f4a8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbsd/libbsd0_0.11.3-1+deb11u1_amd64.deb", + "version": "0.11.3-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbsd0", + "sha256": "614d36d41b670955a75526865bd321703f2accb6e0c07ee4c283fbba12e494df", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libb/libbsd/libbsd0_0.11.3-1+deb11u1_arm64.deb", + "version": "0.11.3-1+deb11u1" + } + }, + "libbz2-1.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", + "version": "1.0.8-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", + "version": "1.0.8-4" + } + }, + "libc6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libc6", + "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", + "version": "2.31-13+deb11u8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libc6", + "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", + "version": "2.31-13+deb11u8" + } + }, + "libcap-ng0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", + "version": "0.7.9-2.2+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", + "version": "0.7.9-2.2+b1" + } + }, + "libcap2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap2", + "sha256": "7a3ae3e97d0d403a4c54663c0bb48e9341d98822420a4ab808c6dc8e8474558f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2_2.44-1_amd64.deb", + "version": "1:2.44-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap2", + "sha256": "7c5729a1cfd14876685217c5f0545301e7ff1b839262fb487d6a778e8cd8c05a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2_2.44-1_arm64.deb", + "version": "1:2.44-1" + } + }, + "libcap2-bin": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap2-bin", + "sha256": "a5b9717d8455cf8517c4c5f29aa04a4dec973430f0d3c1232f652abb9a4d93cc", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2-bin_2.44-1_amd64.deb", + "version": "1:2.44-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap2-bin", + "sha256": "37915f4cc73cfaef7862043f2bdad062d1b1639df04c511665f1f9321c84d0db", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap2/libcap2-bin_2.44-1_arm64.deb", + "version": "1:2.44-1" + } + }, + "libcrypt1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", + "version": "1:4.4.18-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", + "version": "1:4.4.18-4" + } + }, + "libdb5.3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", + "version": "5.3.28+dfsg1-0.8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", + "version": "5.3.28+dfsg1-0.8" + } + }, + "libdeflate0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libdeflate0", + "sha256": "dadaf0d28360f6eb21ad389b2e0f12f8709c9de539b28de9c11d7ec7043dec95", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libd/libdeflate/libdeflate0_1.7-1_amd64.deb", + "version": "1.7-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libdeflate0", + "sha256": "a1adc22600ea5e44e8ea715972ac2af7994cc7ff4d94bba8e8b01abb9ddbdfd0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libd/libdeflate/libdeflate0_1.7-1_arm64.deb", + "version": "1.7-1" + } + }, + "libelf1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libelf1", + "sha256": "e1ad132d502b255023c222d0cae1d02ca941f6b68fd0e9b908c6004cc326592c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/elfutils/libelf1_0.183-1_amd64.deb", + "version": "0.183-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libelf1", + "sha256": "12e14110cd66b3bf0564e3b184985b3e91c9cd76e909531a7f7bd2cb9b35a1f3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/elfutils/libelf1_0.183-1_arm64.deb", + "version": "0.183-1" + } + }, + "libexpat1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libexpat1", + "sha256": "5744040c4735bcdd51238aebfa3e402b857244897f1007f61154982ebe5abbd7", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/e/expat/libexpat1_2.2.10-2+deb11u5_amd64.deb", + "version": "2.2.10-2+deb11u5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libexpat1", + "sha256": "8d20bfd061845bda0321d01accd6f8386ead5b1d7250a585d12b8d5fb1408ffa", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/e/expat/libexpat1_2.2.10-2+deb11u5_arm64.deb", + "version": "2.2.10-2+deb11u5" + } + }, + "libfontconfig1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libfontconfig1", + "sha256": "b92861827627a76e74d6f447a5577d039ef2f95da18af1f29aa98fb96baea4c1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/libfontconfig1_2.13.1-4.2_amd64.deb", + "version": "2.13.1-4.2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libfontconfig1", + "sha256": "18b13ef8a46e9d79ba6a6ba2db0c86e42583277b5d47f6942f3223e349c22641", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/fontconfig/libfontconfig1_2.13.1-4.2_arm64.deb", + "version": "2.13.1-4.2" + } + }, + "libfreetype6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libfreetype6", + "sha256": "b21cfdd12adf6cac4af320c2485fb62a8a5edc6f9768bc2288fd686f4fa6dfdf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/freetype/libfreetype6_2.10.4+dfsg-1+deb11u1_amd64.deb", + "version": "2.10.4+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libfreetype6", + "sha256": "b25f1c148498dd2b49dc30da0a2b2537a7bd0cb34afb8ea681dd145053c9a3f8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/f/freetype/libfreetype6_2.10.4+dfsg-1+deb11u1_arm64.deb", + "version": "2.10.4+dfsg-1+deb11u1" + } + }, + "libgcc-s1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libgcrypt20": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", + "version": "1.8.7-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", + "version": "1.8.7-6" + } + }, + "libgd3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgd3", + "sha256": "fadaa01272200dcaa476c6b8908e1faa93d6840610beca909099647829f3fdc1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgd2/libgd3_2.3.0-2_amd64.deb", + "version": "2.3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgd3", + "sha256": "1e6d6af0c90fe62193b3e51e45f69d075b86d7bde3fb4fd30b60da763aeca43f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgd2/libgd3_2.3.0-2_arm64.deb", + "version": "2.3.0-2" + } + }, + "libgeoip1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgeoip1", + "sha256": "d4d6076106a6f522144e8071baf6d5fdbd415035f51e081075053ca8223cad51", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/geoip/libgeoip1_1.6.12-7_amd64.deb", + "version": "1.6.12-7" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgeoip1", + "sha256": "17225fb2ed7ce9a090c39d90acc2696e5582805a2a1f391e0a8278bb6a2d0178", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/geoip/libgeoip1_1.6.12-7_arm64.deb", + "version": "1.6.12-7" + } + }, + "libgmp10": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgmp10", + "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgmp10", + "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + } + }, + "libgpg-error0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", + "version": "1.38-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", + "version": "1.38-2" + } + }, + "libicu67": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libicu67", + "sha256": "2bf5c46254f527865bfd6368e1120908755fa57d83634bd7d316c9b3cfd57303", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/icu/libicu67_67.1-7_amd64.deb", + "version": "67.1-7" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libicu67", + "sha256": "776303db230b275d8a17dfe8f0012bf61093dfc910f0d51f175be36707686efe", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/icu/libicu67_67.1-7_arm64.deb", + "version": "67.1-7" + } + }, + "libjbig0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libjbig0", + "sha256": "9646d69eefce505407bf0437ea12fb7c2d47a3fd4434720ba46b642b6dcfd80f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/j/jbigkit/libjbig0_2.1-3.1+b2_amd64.deb", + "version": "2.1-3.1+b2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libjbig0", + "sha256": "b71b3e62e162f64cb24466bf7c6e40b05ce2a67ca7fed26d267d498f2896d549", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/j/jbigkit/libjbig0_2.1-3.1+b2_arm64.deb", + "version": "2.1-3.1+b2" + } + }, + "libjpeg62-turbo": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libjpeg62-turbo", + "sha256": "28de780a1605cf501c3a4ebf3e588f5110e814b208548748ab064100c32202ea", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.6-4_amd64.deb", + "version": "1:2.0.6-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libjpeg62-turbo", + "sha256": "8903394de23dc6ead5abfc80972c8fd44300c9903ad4589d0df926e71977d881", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.6-4_arm64.deb", + "version": "1:2.0.6-4" + } + }, + "liblzma5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblzma5", + "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", + "version": "5.2.5-2.1~deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblzma5", + "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", + "version": "5.2.5-2.1~deb11u1" + } + }, + "libmaxminddb0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libmaxminddb0", + "sha256": "9779e86a61b8315d119939f3226472f17d707dce0673eff7b961a478e519e351", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmaxminddb/libmaxminddb0_1.5.2-1_amd64.deb", + "version": "1.5.2-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libmaxminddb0", + "sha256": "05504845f0fab5c54075e462b99b326a224ceaefaccda864f641f1bf6d99914d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmaxminddb/libmaxminddb0_1.5.2-1_arm64.deb", + "version": "1.5.2-1" + } + }, + "libmd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libmd0", + "sha256": "9e425b3c128b69126d95e61998e1b5ef74e862dd1fc953d91eebcc315aea62ea", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmd/libmd0_1.0.3-3_amd64.deb", + "version": "1.0.3-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libmd0", + "sha256": "3c490cdcce9d25e702e6587b6166cd8e7303fce8343642d9d5d99695282a9e5c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmd/libmd0_1.0.3-3_arm64.deb", + "version": "1.0.3-3" + } + }, + "libmnl0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libmnl0", + "sha256": "4581f42e3373cb72f9ea4e88163b17873afca614a6c6f54637e95aa75983ea7c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmnl/libmnl0_1.0.4-3_amd64.deb", + "version": "1.0.4-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libmnl0", + "sha256": "d63aafb6f2c07db8fcb135b00ff915baf72ef8a3397e773c9c24d67950c6a46c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libm/libmnl/libmnl0_1.0.4-3_arm64.deb", + "version": "1.0.4-3" + } + }, + "libnginx-mod-http-auth-pam": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-auth-pam", + "sha256": "08f23455c05eee95e8c0bf96d1a52e6a1ddcf509dd1b4dec97c778ff2c596c92", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-auth-pam_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-auth-pam", + "sha256": "4e6e906608ef1960c2514f371445bf3a32ea72b7098cae38cedac4b5c10abf05", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-auth-pam_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-dav-ext": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-dav-ext", + "sha256": "48458923ac10ed4ad432237583b617702e8ca6b88da330989711aa734f7e06ee", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-dav-ext_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-dav-ext", + "sha256": "8c65130c9d18a28eadfb657bbe818de567ed6625147e868c3bbd739189f8a991", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-dav-ext_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-echo": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-echo", + "sha256": "a5be1358d4fb799fdd5941377dea2c45cd013e2c4130dfce98f4af94aead1ec3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-echo_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-echo", + "sha256": "ef014f5f294e744e465a9075722c1d7cb3423392b2bd029d60e0d952fd90fde7", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-echo_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-geoip": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-geoip", + "sha256": "639ceb3e17c3d5a3033757d86a57f3fa786be27ef51fd1618c8a84e9d55ef974", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-geoip", + "sha256": "7b1d105339402426108d4d10fa733f24f2340c9b6482d10917c194d13f66072f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-geoip2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-geoip2", + "sha256": "de912c363bb1864148379f0784c8031194a3749ae930a5fd0eb1bc2df63d7957", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip2_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-geoip2", + "sha256": "1ae5c1491a8f43ff3a0269270d1f954441cf6fb160b3f83bb2f10ae7b47eb0ce", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-geoip2_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-image-filter": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-image-filter", + "sha256": "811bae64a056aeb4d68329296b0d5f96749a688285977fd2b192f8c81f623304", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-image-filter_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-image-filter", + "sha256": "d972b39dcca41c42f7c797fcc4472d81b64e99978845b2309e18e6d5937e384e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-image-filter_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-subs-filter": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-subs-filter", + "sha256": "fbfc00d65a6305911a7f025eb331912dadb6de7cdc5e65e5d94f2e65d70a5596", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-subs-filter_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-subs-filter", + "sha256": "22354006f199cc3e8e51aac00ca649dd169ca91c2e565a4734f18f3741b061ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-subs-filter_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-upstream-fair": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-upstream-fair", + "sha256": "9650cbb1808fd4d63703b70d5d4599c34e4781c85f5e2b2b47f0abc934397f28", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-upstream-fair_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-upstream-fair", + "sha256": "7be1dfa763e9158ccdea168b1103f5b6b16b3a0c95c3996076c7f4a20aa35bca", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-upstream-fair_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-http-xslt-filter": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-http-xslt-filter", + "sha256": "e51af1373b99ce692dfcb11f185ceb4664b6009a50b4d92773af2c74601d2d4a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-xslt-filter_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-http-xslt-filter", + "sha256": "5d9bb33231c8589a07063a73bb6b3061bc92fae79e5731e96b5b398f1fafee29", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-http-xslt-filter_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-mail": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-mail", + "sha256": "3d401417fc74090544c8cd8586add33cbd2f8d88437072233bca9547922f3384", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-mail_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-mail", + "sha256": "f8fa0d620dcdea21669b5fd9f503528d53b94117a9c31ac36dc318db0fbac315", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-mail_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-stream": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-stream", + "sha256": "1fbc038483013a78f884314a274bafa221000c8d6cddfd76fd217d23bf26b8d0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-stream", + "sha256": "88d083135df9c2c1e2401f174b4e48dde2d92cca7fc8ef661f9d26f00b395a75", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-stream-geoip": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-stream-geoip", + "sha256": "b1b22074e8586b9c2fa48fdd460fb43f719e4305a89209cd151102a012af4772", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-stream-geoip", + "sha256": "140963ecb81a3ea933e96fd7c89d01c4ffdb12509e3869d769d7b21ca5d690bf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libnginx-mod-stream-geoip2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnginx-mod-stream-geoip2", + "sha256": "20abf8d42ceebe21dcf76c9c4952b9b9a5d8c140affade21c8aebb22d38469d9", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip2_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnginx-mod-stream-geoip2", + "sha256": "da0e67b4cc318b7bb338bec7476c260fecd6cc06ecfad4c7f9acb22a4a74d07b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/libnginx-mod-stream-geoip2_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "libpam0g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam0g", + "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam0g", + "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpcre2-8-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", + "version": "10.36-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", + "version": "10.36-2+deb11u1" + } + }, + "libpcre3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpcre3", + "sha256": "48efcf2348967c211cd9408539edf7ec3fa9d800b33041f6511ccaecc1ffa9d0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre3/libpcre3_8.39-13_amd64.deb", + "version": "2:8.39-13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpcre3", + "sha256": "21cac4064a41dbc354295c437f37bf623f9004513a97a6fa030248566aa986e9", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre3/libpcre3_8.39-13_arm64.deb", + "version": "2:8.39-13" + } + }, + "libpng16-16": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpng16-16", + "sha256": "7d5336af395d1f658d0e66d74d0e1f4c632028750e7e04314d1a650e0317f3d6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libp/libpng1.6/libpng16-16_1.6.37-3_amd64.deb", + "version": "1.6.37-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpng16-16", + "sha256": "f5f61274aa5f71b9e44b077bd7b9fa9cd5ff71d8b8295f47dc1b2d45378aa73e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libp/libpng1.6/libpng16-16_1.6.37-3_arm64.deb", + "version": "1.6.37-3" + } + }, + "libselinux1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libselinux1", + "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", + "version": "3.1-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libselinux1", + "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", + "version": "3.1-3" + } + }, + "libssl1.1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", + "version": "1.1.1w-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", + "version": "1.1.1w-0+deb11u1" + } + }, + "libstdc++6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libtiff5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtiff5", + "sha256": "7a70e9513e2b3c3a3d68f1614189f0be72b57eae2229aa64a3d7c8a3fe0639c9", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/t/tiff/libtiff5_4.2.0-1+deb11u5_amd64.deb", + "version": "4.2.0-1+deb11u5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtiff5", + "sha256": "6896296ef6193ff77434c5d1d09dd9a333633f7a208ab1cc7de3b286d2d45824", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/t/tiff/libtiff5_4.2.0-1+deb11u5_arm64.deb", + "version": "4.2.0-1+deb11u5" + } + }, + "libtinfo6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "libuuid1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libuuid1", + "sha256": "31250af4dd3b7d1519326a9a6764d1466a93d8f498cf6545058761ebc38b2823", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/u/util-linux/libuuid1_2.36.1-8+deb11u1_amd64.deb", + "version": "2.36.1-8+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libuuid1", + "sha256": "3d677da6a22e9cac519fed5a2ed5b20a4217f51ca420fce57434b5e813c26e03", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/u/util-linux/libuuid1_2.36.1-8+deb11u1_arm64.deb", + "version": "2.36.1-8+deb11u1" + } + }, + "libwebp6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libwebp6", + "sha256": "8abc2b1ca77a458bbbcdeb6af5d85316260977370fa2518d017222b3584d9653", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libw/libwebp/libwebp6_0.6.1-2.1+deb11u2_amd64.deb", + "version": "0.6.1-2.1+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libwebp6", + "sha256": "edeb260e528fecae77457a63a468e55837a98079fdd7f1e20e9813c358f8c755", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libw/libwebp/libwebp6_0.6.1-2.1+deb11u2_arm64.deb", + "version": "0.6.1-2.1+deb11u2" + } + }, + "libx11-6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libx11-6", + "sha256": "2b3b959cb10c07be065eb638a8577fe20f282045aaef76425dbd7310d1244b8c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-6_1.7.2-1+deb11u2_amd64.deb", + "version": "2:1.7.2-1+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libx11-6", + "sha256": "1ddb1a4d3dbdaeac8fd8d0009a27e6453b15d97362fdd1d3efb1d5f577364f30", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-6_1.7.2-1+deb11u2_arm64.deb", + "version": "2:1.7.2-1+deb11u2" + } + }, + "libx11-data": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libx11-data", + "sha256": "9db24e1e7ed3cd738b503e7df5c1b9b52b1eadcb55019cd63b1409e578565d29", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-data_1.7.2-1+deb11u2_all.deb", + "version": "2:1.7.2-1+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libx11-data", + "sha256": "9db24e1e7ed3cd738b503e7df5c1b9b52b1eadcb55019cd63b1409e578565d29", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libx11/libx11-data_1.7.2-1+deb11u2_all.deb", + "version": "2:1.7.2-1+deb11u2" + } + }, + "libxau6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxau6", + "sha256": "679db1c4579ec7c61079adeaae8528adeb2e4bf5465baa6c56233b995d714750", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxau/libxau6_1.0.9-1_amd64.deb", + "version": "1:1.0.9-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxau6", + "sha256": "36c2bf400641a80521093771dc2562c903df4065f9eb03add50d90564337ea6c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxau/libxau6_1.0.9-1_arm64.deb", + "version": "1:1.0.9-1" + } + }, + "libxcb1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxcb1", + "sha256": "d5e0f047ed766f45eb7473947b70f9e8fddbe45ef22ecfd92ab712c0671a93ac", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcb/libxcb1_1.14-3_amd64.deb", + "version": "1.14-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxcb1", + "sha256": "48f82b65c93adb7af7757961fdd2730928316459f008d767b7104a56bc20a8f1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcb/libxcb1_1.14-3_arm64.deb", + "version": "1.14-3" + } + }, + "libxdmcp6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxdmcp6", + "sha256": "ecb8536f5fb34543b55bb9dc5f5b14c9dbb4150a7bddb3f2287b7cab6e9d25ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_amd64.deb", + "version": "1:1.1.2-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxdmcp6", + "sha256": "e92569ac33247261aa09adfadc34ced3994ac301cf8b58de415a2d5dbf15ccfc", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_arm64.deb", + "version": "1:1.1.2-3" + } + }, + "libxml2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxml2", + "sha256": "b29ea9026561ef0019a57b8b192bf08f725976cd1dddd3fc6bcf876840350989", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxml2/libxml2_2.9.10+dfsg-6.7+deb11u4_amd64.deb", + "version": "2.9.10+dfsg-6.7+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxml2", + "sha256": "ccd9f449fa88827258bd51eeb8d5f6f33719df290f157c2b0be3c527a6ee45aa", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxml2/libxml2_2.9.10+dfsg-6.7+deb11u4_arm64.deb", + "version": "2.9.10+dfsg-6.7+deb11u4" + } + }, + "libxpm4": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxpm4", + "sha256": "349a5a8cf0de6cb33c199027abfbd6b7a13f5160948e6db066a96080c61e4819", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxpm/libxpm4_3.5.12-1.1+deb11u1_amd64.deb", + "version": "1:3.5.12-1.1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxpm4", + "sha256": "83ba23ecaaf3f7b700f1ec2c1e349b5a63f3c8cdceb43cc78eb353e16051427d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxpm/libxpm4_3.5.12-1.1+deb11u1_arm64.deb", + "version": "1:3.5.12-1.1+deb11u1" + } + }, + "libxslt1.1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxslt1.1", + "sha256": "e6109d282ad9a330856b88944a953e86329b2c07d8b0f378a2fd0493f27352c8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxslt/libxslt1.1_1.1.34-4+deb11u1_amd64.deb", + "version": "1.1.34-4+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxslt1.1", + "sha256": "2505ed3d8e6b049349ecfeff1cb6923eca43403d252e8ddd308a6a644b97eec7", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libx/libxslt/libxslt1.1_1.1.34-4+deb11u1_arm64.deb", + "version": "1.1.34-4+deb11u1" + } + }, + "libxtables12": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxtables12", + "sha256": "9702a4be6f267b58c8fc1cfa0747bbefccb8b9a9af2a3547535533fbf2a7c14d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iptables/libxtables12_1.8.7-1_amd64.deb", + "version": "1.8.7-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxtables12", + "sha256": "fa07088a313d8dae7a8cba0780117e80ead683ac549fd9986a52a3280232272a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/i/iptables/libxtables12_1.8.7-1_arm64.deb", + "version": "1.8.7-1" + } + }, + "libzstd1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libzstd1", + "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", + "version": "1.4.8+dfsg-2.1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libzstd1", + "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", + "version": "1.4.8+dfsg-2.1" + } + }, + "lsb-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "lsb-base", + "sha256": "89ed6332074d827a65305f9a51e591dff20641d61ff5e11f4e1822a9987e96fe", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lsb/lsb-base_11.1.0_all.deb", + "version": "11.1.0" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "lsb-base", + "sha256": "89ed6332074d827a65305f9a51e591dff20641d61ff5e11f4e1822a9987e96fe", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lsb/lsb-base_11.1.0_all.deb", + "version": "11.1.0" + } + }, + "nginx-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "nginx-common", + "sha256": "bfd22beb7bd248db58eee6e6434a7c500f6e98e264219b3832f248696cd58f67", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-common_1.18.0-6.1+deb11u3_all.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "nginx-common", + "sha256": "bfd22beb7bd248db58eee6e6434a7c500f6e98e264219b3832f248696cd58f67", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-common_1.18.0-6.1+deb11u3_all.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "nginx-core": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "coreutils", + "version": "8.32-4+b1" + }, + { + "name": "debconf", + "version": "1.5.77" + }, + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "fontconfig-config", + "version": "2.13.1-4.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "iproute2", + "version": "5.10.0-4" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libbpf0", + "version": "1:0.3-2" + }, + { + "name": "libbrotli1", + "version": "1.0.9-2+b2" + }, + { + "name": "libbsd0", + "version": "0.11.3-1+deb11u1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap2", + "version": "1:2.44-1" + }, + { + "name": "libcap2-bin", + "version": "1:2.44-1" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libdeflate0", + "version": "1.7-1" + }, + { + "name": "libelf1", + "version": "0.183-1" + }, + { + "name": "libexpat1", + "version": "2.2.10-2+deb11u5" + }, + { + "name": "libfontconfig1", + "version": "2.13.1-4.2" + }, + { + "name": "libfreetype6", + "version": "2.10.4+dfsg-1+deb11u1" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgd3", + "version": "2.3.0-2" + }, + { + "name": "libgeoip1", + "version": "1.6.12-7" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libicu67", + "version": "67.1-7" + }, + { + "name": "libjbig0", + "version": "2.1-3.1+b2" + }, + { + "name": "libjpeg62-turbo", + "version": "1:2.0.6-4" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libmd0", + "version": "1.0.3-3" + }, + { + "name": "libmnl0", + "version": "1.0.4-3" + }, + { + "name": "libnginx-mod-http-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-image-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-xslt-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-mail", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libpcre3", + "version": "2:8.39-13" + }, + { + "name": "libpng16-16", + "version": "1.6.37-3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libtiff5", + "version": "4.2.0-1+deb11u5" + }, + { + "name": "libuuid1", + "version": "2.36.1-8+deb11u1" + }, + { + "name": "libwebp6", + "version": "0.6.1-2.1+deb11u2" + }, + { + "name": "libx11-6", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libx11-data", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libxau6", + "version": "1:1.0.9-1" + }, + { + "name": "libxcb1", + "version": "1.14-3" + }, + { + "name": "libxdmcp6", + "version": "1:1.1.2-3" + }, + { + "name": "libxml2", + "version": "2.9.10+dfsg-6.7+deb11u4" + }, + { + "name": "libxpm4", + "version": "1:3.5.12-1.1+deb11u1" + }, + { + "name": "libxslt1.1", + "version": "1.1.34-4+deb11u1" + }, + { + "name": "libxtables12", + "version": "1.8.7-1" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "lsb-base", + "version": "11.1.0" + }, + { + "name": "nginx-common", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "sensible-utils", + "version": "0.0.14" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "ucf", + "version": "3.0043" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "nginx-core", + "sha256": "3d36d36ee74a62037159aeae87c51d2535bf7195a0fb325bde90a325034fc152", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-core_1.18.0-6.1+deb11u3_amd64.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "coreutils", + "version": "8.32-4" + }, + { + "name": "debconf", + "version": "1.5.77" + }, + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "fontconfig-config", + "version": "2.13.1-4.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "iproute2", + "version": "5.10.0-4" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libbpf0", + "version": "1:0.3-2" + }, + { + "name": "libbrotli1", + "version": "1.0.9-2+b2" + }, + { + "name": "libbsd0", + "version": "0.11.3-1+deb11u1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap2", + "version": "1:2.44-1" + }, + { + "name": "libcap2-bin", + "version": "1:2.44-1" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libdeflate0", + "version": "1.7-1" + }, + { + "name": "libelf1", + "version": "0.183-1" + }, + { + "name": "libexpat1", + "version": "2.2.10-2+deb11u5" + }, + { + "name": "libfontconfig1", + "version": "2.13.1-4.2" + }, + { + "name": "libfreetype6", + "version": "2.10.4+dfsg-1+deb11u1" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgd3", + "version": "2.3.0-2" + }, + { + "name": "libgeoip1", + "version": "1.6.12-7" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libicu67", + "version": "67.1-7" + }, + { + "name": "libjbig0", + "version": "2.1-3.1+b2" + }, + { + "name": "libjpeg62-turbo", + "version": "1:2.0.6-4" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libmd0", + "version": "1.0.3-3" + }, + { + "name": "libmnl0", + "version": "1.0.4-3" + }, + { + "name": "libnginx-mod-http-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-image-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-xslt-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-mail", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libpcre3", + "version": "2:8.39-13" + }, + { + "name": "libpng16-16", + "version": "1.6.37-3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libtiff5", + "version": "4.2.0-1+deb11u5" + }, + { + "name": "libuuid1", + "version": "2.36.1-8+deb11u1" + }, + { + "name": "libwebp6", + "version": "0.6.1-2.1+deb11u2" + }, + { + "name": "libx11-6", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libx11-data", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libxau6", + "version": "1:1.0.9-1" + }, + { + "name": "libxcb1", + "version": "1.14-3" + }, + { + "name": "libxdmcp6", + "version": "1:1.1.2-3" + }, + { + "name": "libxml2", + "version": "2.9.10+dfsg-6.7+deb11u4" + }, + { + "name": "libxpm4", + "version": "1:3.5.12-1.1+deb11u1" + }, + { + "name": "libxslt1.1", + "version": "1.1.34-4+deb11u1" + }, + { + "name": "libxtables12", + "version": "1.8.7-1" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "lsb-base", + "version": "11.1.0" + }, + { + "name": "nginx-common", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "sensible-utils", + "version": "0.0.14" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "ucf", + "version": "3.0043" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "nginx-core", + "sha256": "932d9d78df093f037caf9a32af5f3a9f42f113ccc87ca59946f983753a9b83b8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-core_1.18.0-6.1+deb11u3_arm64.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "nginx-full": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "coreutils", + "version": "8.32-4+b1" + }, + { + "name": "debconf", + "version": "1.5.77" + }, + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "fontconfig-config", + "version": "2.13.1-4.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "iproute2", + "version": "5.10.0-4" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbpf0", + "version": "1:0.3-2" + }, + { + "name": "libbrotli1", + "version": "1.0.9-2+b2" + }, + { + "name": "libbsd0", + "version": "0.11.3-1+deb11u1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcap2", + "version": "1:2.44-1" + }, + { + "name": "libcap2-bin", + "version": "1:2.44-1" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libdeflate0", + "version": "1.7-1" + }, + { + "name": "libelf1", + "version": "0.183-1" + }, + { + "name": "libexpat1", + "version": "2.2.10-2+deb11u5" + }, + { + "name": "libfontconfig1", + "version": "2.13.1-4.2" + }, + { + "name": "libfreetype6", + "version": "2.10.4+dfsg-1+deb11u1" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgd3", + "version": "2.3.0-2" + }, + { + "name": "libgeoip1", + "version": "1.6.12-7" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libicu67", + "version": "67.1-7" + }, + { + "name": "libjbig0", + "version": "2.1-3.1+b2" + }, + { + "name": "libjpeg62-turbo", + "version": "1:2.0.6-4" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libmaxminddb0", + "version": "1.5.2-1" + }, + { + "name": "libmd0", + "version": "1.0.3-3" + }, + { + "name": "libmnl0", + "version": "1.0.4-3" + }, + { + "name": "libnginx-mod-http-auth-pam", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-dav-ext", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-echo", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-geoip2", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-image-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-subs-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-upstream-fair", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-xslt-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-mail", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip2", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libpcre3", + "version": "2:8.39-13" + }, + { + "name": "libpng16-16", + "version": "1.6.37-3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libtiff5", + "version": "4.2.0-1+deb11u5" + }, + { + "name": "libuuid1", + "version": "2.36.1-8+deb11u1" + }, + { + "name": "libwebp6", + "version": "0.6.1-2.1+deb11u2" + }, + { + "name": "libx11-6", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libx11-data", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libxau6", + "version": "1:1.0.9-1" + }, + { + "name": "libxcb1", + "version": "1.14-3" + }, + { + "name": "libxdmcp6", + "version": "1:1.1.2-3" + }, + { + "name": "libxml2", + "version": "2.9.10+dfsg-6.7+deb11u4" + }, + { + "name": "libxpm4", + "version": "1:3.5.12-1.1+deb11u1" + }, + { + "name": "libxslt1.1", + "version": "1.1.34-4+deb11u1" + }, + { + "name": "libxtables12", + "version": "1.8.7-1" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "lsb-base", + "version": "11.1.0" + }, + { + "name": "nginx-common", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "nginx-core", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "sensible-utils", + "version": "0.0.14" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "ucf", + "version": "3.0043" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "nginx-full", + "sha256": "4049950f648478009faeaf028ab7287240ebd28c27799a5b128a1623290b3e44", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-full_1.18.0-6.1+deb11u3_all.deb", + "version": "1.18.0-6.1+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "coreutils", + "version": "8.32-4" + }, + { + "name": "debconf", + "version": "1.5.77" + }, + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "fontconfig-config", + "version": "2.13.1-4.2" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "iproute2", + "version": "5.10.0-4" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbpf0", + "version": "1:0.3-2" + }, + { + "name": "libbrotli1", + "version": "1.0.9-2+b2" + }, + { + "name": "libbsd0", + "version": "0.11.3-1+deb11u1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcap2", + "version": "1:2.44-1" + }, + { + "name": "libcap2-bin", + "version": "1:2.44-1" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libdeflate0", + "version": "1.7-1" + }, + { + "name": "libelf1", + "version": "0.183-1" + }, + { + "name": "libexpat1", + "version": "2.2.10-2+deb11u5" + }, + { + "name": "libfontconfig1", + "version": "2.13.1-4.2" + }, + { + "name": "libfreetype6", + "version": "2.10.4+dfsg-1+deb11u1" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgd3", + "version": "2.3.0-2" + }, + { + "name": "libgeoip1", + "version": "1.6.12-7" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libicu67", + "version": "67.1-7" + }, + { + "name": "libjbig0", + "version": "2.1-3.1+b2" + }, + { + "name": "libjpeg62-turbo", + "version": "1:2.0.6-4" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libmaxminddb0", + "version": "1.5.2-1" + }, + { + "name": "libmd0", + "version": "1.0.3-3" + }, + { + "name": "libmnl0", + "version": "1.0.4-3" + }, + { + "name": "libnginx-mod-http-auth-pam", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-dav-ext", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-echo", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-geoip2", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-image-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-subs-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-upstream-fair", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-http-xslt-filter", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-mail", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libnginx-mod-stream-geoip2", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libpcre3", + "version": "2:8.39-13" + }, + { + "name": "libpng16-16", + "version": "1.6.37-3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libtiff5", + "version": "4.2.0-1+deb11u5" + }, + { + "name": "libuuid1", + "version": "2.36.1-8+deb11u1" + }, + { + "name": "libwebp6", + "version": "0.6.1-2.1+deb11u2" + }, + { + "name": "libx11-6", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libx11-data", + "version": "2:1.7.2-1+deb11u2" + }, + { + "name": "libxau6", + "version": "1:1.0.9-1" + }, + { + "name": "libxcb1", + "version": "1.14-3" + }, + { + "name": "libxdmcp6", + "version": "1:1.1.2-3" + }, + { + "name": "libxml2", + "version": "2.9.10+dfsg-6.7+deb11u4" + }, + { + "name": "libxpm4", + "version": "1:3.5.12-1.1+deb11u1" + }, + { + "name": "libxslt1.1", + "version": "1.1.34-4+deb11u1" + }, + { + "name": "libxtables12", + "version": "1.8.7-1" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "lsb-base", + "version": "11.1.0" + }, + { + "name": "nginx-common", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "nginx-core", + "version": "1.18.0-6.1+deb11u3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "sensible-utils", + "version": "0.0.14" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "ucf", + "version": "3.0043" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "nginx-full", + "sha256": "4049950f648478009faeaf028ab7287240ebd28c27799a5b128a1623290b3e44", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/n/nginx/nginx-full_1.18.0-6.1+deb11u3_all.deb", + "version": "1.18.0-6.1+deb11u3" + } + }, + "perl-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-base", + "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-base", + "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "sensible-utils": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "sensible-utils", + "sha256": "b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/sensible-utils/sensible-utils_0.0.14_all.deb", + "version": "0.0.14" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "sensible-utils", + "sha256": "b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/sensible-utils/sensible-utils_0.0.14_all.deb", + "version": "0.0.14" + } + }, + "tar": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tar", + "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", + "version": "1.34+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tar", + "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", + "version": "1.34+dfsg-1+deb11u1" + } + }, + "tzdata": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + } + }, + "ucf": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "ucf", + "sha256": "ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/u/ucf/ucf_3.0043_all.deb", + "version": "3.0043" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "ucf", + "sha256": "ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/u/ucf/ucf_3.0043_all.deb", + "version": "3.0043" + } + }, + "zlib1g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "zlib1g", + "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "zlib1g", + "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + } } - ], - "version": 1 + }, + "version": 2 } \ No newline at end of file diff --git a/examples/debian_snapshot/bullseye.lock.json b/examples/debian_snapshot/bullseye.lock.json index 188a7d2..19ce548 100644 --- a/examples/debian_snapshot/bullseye.lock.json +++ b/examples/debian_snapshot/bullseye.lock.json @@ -1,2277 +1,2077 @@ { - "packages": [ - { - "arch": "amd64", - "dependencies": [], - "key": "ncurses-base_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "ncurses-base", - "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "libncurses6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libncurses6", - "sha256": "5b75c540d26d0525f231d39e5cf27ea7919d57305ba7101ea430c975369095eb", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_amd64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_amd64", - "name": "libtinfo6", - "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_amd64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4-p-b1_amd64", - "name": "coreutils", - "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", - "version": "8.32-4+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", - "version": "3.1-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_amd64", - "name": "libattr1", - "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", - "version": "2.2.53-10" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - } - ], - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", - "version": "1.20.13" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", - "version": "1.0.8-4" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libsystemd0_247.3-7-p-deb11u4_amd64", - "name": "libsystemd0", - "version": "247.3-7+deb11u4" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "liblz4-1_1.9.3-2_amd64", - "name": "liblz4-1", - "version": "1.9.3-2" - }, - { - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libseccomp2_2.5.1-1-p-deb11u1_amd64", - "name": "libseccomp2", - "version": "2.5.1-1+deb11u1" - }, - { - "key": "libgnutls30_3.7.1-5-p-deb11u4_amd64", - "name": "libgnutls30", - "version": "3.7.1-5+deb11u4" - }, - { - "key": "libunistring2_0.9.10-4_amd64", - "name": "libunistring2", - "version": "0.9.10-4" - }, - { - "key": "libtasn1-6_4.16.0-2-p-deb11u1_amd64", - "name": "libtasn1-6", - "version": "4.16.0-2+deb11u1" - }, - { - "key": "libp11-kit0_0.23.22-1_amd64", - "name": "libp11-kit0", - "version": "0.23.22-1" - }, - { - "key": "libffi7_3.3-6_amd64", - "name": "libffi7", - "version": "3.3-6" - }, - { - "key": "libnettle8_3.7.3-1_amd64", - "name": "libnettle8", - "version": "3.7.3-1" - }, - { - "key": "libidn2-0_2.3.0-5_amd64", - "name": "libidn2-0", - "version": "2.3.0-5" - }, - { - "key": "libhogweed6_3.7.3-1_amd64", - "name": "libhogweed6", - "version": "3.7.3-1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_amd64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_amd64", - "name": "debian-archive-keyring", - "version": "2021.1.1+deb11u1" - }, - { - "key": "libapt-pkg6.0_2.2.4_amd64", - "name": "libapt-pkg6.0", - "version": "2.2.4" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libxxhash0_0.8.0-2_amd64", - "name": "libxxhash0", - "version": "0.8.0-2" - }, - { - "key": "libudev1_247.3-7-p-deb11u4_amd64", - "name": "libudev1", - "version": "247.3-7+deb11u4" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "adduser_3.118-p-deb11u1_amd64", - "name": "adduser", - "version": "3.118+deb11u1" - }, - { - "key": "passwd_1-4.8.1-1_amd64", - "name": "passwd", - "version": "1:4.8.1-1" - }, - { - "key": "libpam-modules_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules-bin", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "version": "1:3.0-2" - }, - { - "key": "libtirpc3_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc3", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libtirpc-common_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc-common", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_amd64", - "name": "libgssapi-krb5-2", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5support0_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5support0", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5-3_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5-3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libkeyutils1_1.6.1-2_amd64", - "name": "libkeyutils1", - "version": "1.6.1-2" - }, - { - "key": "libk5crypto3_1.18.3-6-p-deb11u4_amd64", - "name": "libk5crypto3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libcom-err2_1.46.2-2_amd64", - "name": "libcom-err2", - "version": "1.46.2-2" - }, - { - "key": "libnsl2_1.3.0-2_amd64", - "name": "libnsl2", - "version": "1.3.0-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libsemanage1_3.1-1-p-b2_amd64", - "name": "libsemanage1", - "version": "3.1-1+b2" - }, - { - "key": "libsepol1_3.1-1_amd64", - "name": "libsepol1", - "version": "3.1-1" - }, - { - "key": "libsemanage-common_3.1-1_amd64", - "name": "libsemanage-common", - "version": "3.1-1" - } - ], - "key": "apt_2.2.4_amd64", - "name": "apt", - "sha256": "75f07c4965ff0813f26623a1164e162538f5e94defba6961347527ed71bc4f3d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_amd64.deb", - "version": "2.2.4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsystemd0_247.3-7-p-deb11u4_amd64", - "name": "libsystemd0", - "sha256": "e6f3e65e388196a399c1a36564c38ad987337350358732056227db1b6e708878", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_amd64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_amd64", - "name": "libzstd1", - "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblz4-1_1.9.3-2_amd64", - "name": "liblz4-1", - "sha256": "79ac6e9ca19c483f2e8effcc3401d723dd9dbb3a4ae324714de802adb21a8117", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_amd64.deb", - "version": "1.9.3-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_amd64", - "name": "libgcrypt20", - "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", - "version": "1.8.7-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_amd64", - "name": "libgpg-error0", - "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", - "version": "1.38-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_amd64", - "name": "libstdc++6", - "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", - "version": "10.2.1-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libseccomp2_2.5.1-1-p-deb11u1_amd64", - "name": "libseccomp2", - "sha256": "2617fc8b99dca0fa8ed466ee0f5fe087aa4e8413b88ca45d717290f4a0551e36", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_amd64.deb", - "version": "2.5.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgnutls30_3.7.1-5-p-deb11u4_amd64", - "name": "libgnutls30", - "sha256": "b2fa128881a16c2196caddb551d3577baa296a7bc5d38109a978e8e69fdb5c94", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_amd64.deb", - "version": "3.7.1-5+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libunistring2_0.9.10-4_amd64", - "name": "libunistring2", - "sha256": "654433ad02d3a8b05c1683c6c29a224500bf343039c34dcec4e5e9515345e3d4", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_amd64.deb", - "version": "0.9.10-4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtasn1-6_4.16.0-2-p-deb11u1_amd64", - "name": "libtasn1-6", - "sha256": "6ebb579337cdc9d6201237a66578425a7a221db622524354e27c0c1bcb6dd7ca", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_amd64.deb", - "version": "4.16.0-2+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libp11-kit0_0.23.22-1_amd64", - "name": "libp11-kit0", - "sha256": "bfef5f31ee1c730e56e16bb62cc5ff8372185106c75bf1ed1756c96703019457", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_amd64.deb", - "version": "0.23.22-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libffi7_3.3-6_amd64", - "name": "libffi7", - "sha256": "30ca89bfddae5fa6e0a2a044f22b6e50cd17c4bc6bc850c579819aeab7101f0f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb", - "version": "3.3-6" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnettle8_3.7.3-1_amd64", - "name": "libnettle8", - "sha256": "e4f8ec31ed14518b241eb7b423ad5ed3f4a4e8ac50aae72c9fd475c569582764", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_amd64.deb", - "version": "3.7.3-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libidn2-0_2.3.0-5_amd64", - "name": "libidn2-0", - "sha256": "cb80cd769171537bafbb4a16c12ec427065795946b3415781bc9792e92d60b59", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_amd64.deb", - "version": "2.3.0-5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libhogweed6_3.7.3-1_amd64", - "name": "libhogweed6", - "sha256": "6aab2e892cdb2dfba45707601bc6c3b19aa228f70ae5841017f14c3b0ca3d22f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_amd64.deb", - "version": "3.7.3-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_amd64", - "name": "debian-archive-keyring", - "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", - "version": "2021.1.1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libapt-pkg6.0_2.2.4_amd64", - "name": "libapt-pkg6.0", - "sha256": "4ae47bedf773ad1342e5aae8fa6275f864cfc87a45f4472775f5a9cdd60abbbf", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_amd64.deb", - "version": "2.2.4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxxhash0_0.8.0-2_amd64", - "name": "libxxhash0", - "sha256": "3fb82550a71d27d05672472508548576dfb34486847bc860d3066cda5aaf186f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_amd64.deb", - "version": "0.8.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libudev1_247.3-7-p-deb11u4_amd64", - "name": "libudev1", - "sha256": "9274ca1aa37fcdf5895dad1de0895162351099ef8dff8a62f2f4c9eb181a8fce", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_amd64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "adduser_3.118-p-deb11u1_amd64", - "name": "adduser", - "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", - "version": "3.118+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "passwd_1-4.8.1-1_amd64", - "name": "passwd", - "sha256": "542593f26502e87b4276fa778e6e3ae52e66b973979986fff77803d9fcb2c2e8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_amd64.deb", - "version": "1:4.8.1-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam-modules_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules", - "sha256": "ca1e121700bf4b3eb33e30e0774d3e63e1adae9d4b6a940ea3501225db3cc287", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_amd64", - "name": "libpam-modules-bin", - "sha256": "abbbd181329c236676222d3e912df13f8d1d90a117559edd997d90006369e5c8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_amd64", - "name": "libpam0g", - "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_amd64", - "name": "libaudit1", - "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_amd64", - "name": "libcap-ng0", - "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_amd64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtirpc3_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc3", - "sha256": "86b216d59b6efcd07d56d14b8f4281d5c47f24e9c962f46bbaf02fce762c5e6a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_amd64.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtirpc-common_1.3.1-1-p-deb11u1_amd64", - "name": "libtirpc-common", - "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_amd64", - "name": "libgssapi-krb5-2", - "sha256": "037cc4bb34a6cd0d7a6e83bdcae6d68e0d0f9218eb7dedafc8099c8c0be491a2", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkrb5support0_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5support0", - "sha256": "da8d022e3dd7f4a72ea32e328b3ac382dbe6bdb91606c5738fe17a29f8ea8080", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkrb5-3_1.18.3-6-p-deb11u4_amd64", - "name": "libkrb5-3", - "sha256": "b785fa324cf27e6bf7f97fc0279470e6ce8a8cc54f8ccc6c9b24c8111ba5c952", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libkeyutils1_1.6.1-2_amd64", - "name": "libkeyutils1", - "sha256": "f01060b434d8cad3c58d5811d2082389f11b3db8152657d6c22c1d298953f2a5", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_amd64.deb", - "version": "1.6.1-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libk5crypto3_1.18.3-6-p-deb11u4_amd64", - "name": "libk5crypto3", - "sha256": "f635062bcbfe2eef5a83fcba7d1a8ae343fc7c779cae88b11cae90fd6845a744", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_amd64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcom-err2_1.46.2-2_amd64", - "name": "libcom-err2", - "sha256": "d478f132871f4ab8352d39becf936d0ad74db905398bf98465d8fe3da6fb1126", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_amd64.deb", - "version": "1.46.2-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnsl2_1.3.0-2_amd64", - "name": "libnsl2", - "sha256": "c0d83437fdb016cb289436f49f28a36be44b3e8f1f2498c7e3a095f709c0d6f8", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_amd64.deb", - "version": "1.3.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsemanage1_3.1-1-p-b2_amd64", - "name": "libsemanage1", - "sha256": "d8f2835b22df58ba45d52eb3aab224190f193576caf05e3f80deb2e4f927fad6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_amd64.deb", - "version": "3.1-1+b2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsepol1_3.1-1_amd64", - "name": "libsepol1", - "sha256": "b6057dc6806a6dfaef74b09d84d1f18716d7a6d2f1da30520cef555210c6af62", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_amd64.deb", - "version": "3.1-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsemanage-common_3.1-1_amd64", - "name": "libsemanage-common", - "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", - "version": "3.1-1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libperl5.32_5.32.1-4-p-deb11u3_amd64", - "name": "libperl5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_amd64", - "name": "perl-modules-5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_amd64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_amd64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_amd64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_amd64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_amd64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_amd64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_amd64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libgdbm6_1.19-2_amd64", - "name": "libgdbm6", - "version": "1.19-2" - }, - { - "key": "libgdbm-compat4_1.19-2_amd64", - "name": "libgdbm-compat4", - "version": "1.19-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - } - ], - "key": "perl_5.32.1-4-p-deb11u3_amd64", - "name": "perl", - "sha256": "d5f710c7db9fcd6d9d6f119cd0dea64a4f765867447dd97b24ab44be1de7c60f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libperl5.32_5.32.1-4-p-deb11u3_amd64", - "name": "libperl5.32", - "sha256": "078487a45916167e3e4ee2e584c50306c84368dd06dae276604861ca0426c34e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_amd64", - "name": "perl-modules-5.32", - "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_amd64", - "name": "perl-base", - "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm6_1.19-2_amd64", - "name": "libgdbm6", - "sha256": "e54cfe4d8b8f209bb7df31a404ce040f7c2f9b1045114a927a7e1061cdf90727", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_amd64.deb", - "version": "1.19-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm-compat4_1.19-2_amd64", - "name": "libgdbm-compat4", - "sha256": "e62caed68b0ffaa03b5fa539d6fdc08c4151f66236d5878949bead0b71b7bb09", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_amd64.deb", - "version": "1.19-2" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "openssl_1.1.1w-0-p-deb11u1_amd64", - "name": "openssl", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_amd64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_amd64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_amd64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_amd64", - "name": "gcc-10-base", - "version": "10.2.1-6" - } - ], - "key": "ca-certificates_20210119_amd64", - "name": "ca-certificates", - "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", - "version": "20210119" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "openssl_1.1.1w-0-p-deb11u1_amd64", - "name": "openssl", - "sha256": "04873d74cbe86bad3a9901f6e57f1150040eba9891b443c5c975a72a97238e35", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_amd64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "nvidia-kernel-common_20151021-p-13_amd64", - "name": "nvidia-kernel-common", - "sha256": "fa4b007bf64cf8cf0e9b3aaae5dd388fcec3a589ce2475f16d64347945691533", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_amd64.deb", - "version": "20151021+13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "ncurses-base_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "ncurses-base", - "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "version": "6.2+20201114-2+deb11u2" - } - ], - "key": "libncurses6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libncurses6", - "sha256": "039b71b8839538a92988003e13c29e7cf1149cdc6a77d3de882f1d386a5f3a5c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_arm64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", - "version": "2.31-13+deb11u8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", - "version": "1:4.4.18-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtinfo6_6.2-p-20201114-2-p-deb11u2_arm64", - "name": "libtinfo6", - "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", - "version": "6.2+20201114-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tzdata_2024a-0-p-deb11u1_arm64", - "name": "tzdata", - "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", - "version": "2024a-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "version": "1:2.4.48-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - } - ], - "key": "coreutils_8.32-4_arm64", - "name": "coreutils", - "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", - "version": "8.32-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", - "version": "3.1-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", - "version": "10.36-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libattr1_1-2.4.48-6_arm64", - "name": "libattr1", - "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", - "version": "1:2.4.48-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", - "version": "2.2.53-10" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - } - ], - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", - "version": "1.20.13" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", - "version": "5.2.5-2.1~deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", - "version": "1.0.8-4" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libsystemd0_247.3-7-p-deb11u4_arm64", - "name": "libsystemd0", - "version": "247.3-7+deb11u4" - }, - { - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "version": "1.4.8+dfsg-2.1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "liblz4-1_1.9.3-2_arm64", - "name": "liblz4-1", - "version": "1.9.3-2" - }, - { - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "version": "1.8.7-6" - }, - { - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "version": "1.38-2" - }, - { - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "version": "10.2.1-6" - }, - { - "key": "libseccomp2_2.5.1-1-p-deb11u1_arm64", - "name": "libseccomp2", - "version": "2.5.1-1+deb11u1" - }, - { - "key": "libgnutls30_3.7.1-5-p-deb11u4_arm64", - "name": "libgnutls30", - "version": "3.7.1-5+deb11u4" - }, - { - "key": "libunistring2_0.9.10-4_arm64", - "name": "libunistring2", - "version": "0.9.10-4" - }, - { - "key": "libtasn1-6_4.16.0-2-p-deb11u1_arm64", - "name": "libtasn1-6", - "version": "4.16.0-2+deb11u1" - }, - { - "key": "libp11-kit0_0.23.22-1_arm64", - "name": "libp11-kit0", - "version": "0.23.22-1" - }, - { - "key": "libffi7_3.3-6_arm64", - "name": "libffi7", - "version": "3.3-6" - }, - { - "key": "libnettle8_3.7.3-1_arm64", - "name": "libnettle8", - "version": "3.7.3-1" - }, - { - "key": "libidn2-0_2.3.0-5_arm64", - "name": "libidn2-0", - "version": "2.3.0-5" - }, - { - "key": "libhogweed6_3.7.3-1_arm64", - "name": "libhogweed6", - "version": "3.7.3-1" - }, - { - "key": "libgmp10_2-6.2.1-p-dfsg-1-p-deb11u1_arm64", - "name": "libgmp10", - "version": "2:6.2.1+dfsg-1+deb11u1" - }, - { - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_arm64", - "name": "debian-archive-keyring", - "version": "2021.1.1+deb11u1" - }, - { - "key": "libapt-pkg6.0_2.2.4_arm64", - "name": "libapt-pkg6.0", - "version": "2.2.4" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "libxxhash0_0.8.0-2_arm64", - "name": "libxxhash0", - "version": "0.8.0-2" - }, - { - "key": "libudev1_247.3-7-p-deb11u4_arm64", - "name": "libudev1", - "version": "247.3-7+deb11u4" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "adduser_3.118-p-deb11u1_arm64", - "name": "adduser", - "version": "3.118+deb11u1" - }, - { - "key": "passwd_1-4.8.1-1_arm64", - "name": "passwd", - "version": "1:4.8.1-1" - }, - { - "key": "libpam-modules_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules-bin", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "version": "1.4.0-9+deb11u1" - }, - { - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "version": "1:3.0-2" - }, - { - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "version": "0.7.9-2.2+b1" - }, - { - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "version": "1:3.0-2" - }, - { - "key": "libtirpc3_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc3", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libtirpc-common_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc-common", - "version": "1.3.1-1+deb11u1" - }, - { - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_arm64", - "name": "libgssapi-krb5-2", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5support0_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5support0", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libkrb5-3_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5-3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libkeyutils1_1.6.1-2_arm64", - "name": "libkeyutils1", - "version": "1.6.1-2" - }, - { - "key": "libk5crypto3_1.18.3-6-p-deb11u4_arm64", - "name": "libk5crypto3", - "version": "1.18.3-6+deb11u4" - }, - { - "key": "libcom-err2_1.46.2-2_arm64", - "name": "libcom-err2", - "version": "1.46.2-2" - }, - { - "key": "libnsl2_1.3.0-2_arm64", - "name": "libnsl2", - "version": "1.3.0-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - }, - { - "key": "libsemanage1_3.1-1-p-b2_arm64", - "name": "libsemanage1", - "version": "3.1-1+b2" - }, - { - "key": "libsepol1_3.1-1_arm64", - "name": "libsepol1", - "version": "3.1-1" - }, - { - "key": "libsemanage-common_3.1-1_arm64", - "name": "libsemanage-common", - "version": "3.1-1" - } - ], - "key": "apt_2.2.4_arm64", - "name": "apt", - "sha256": "39cbe42f3e64c6359b445d6fed7385273881e507b8be1d3b653ec9fb7d4c917c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_arm64.deb", - "version": "2.2.4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsystemd0_247.3-7-p-deb11u4_arm64", - "name": "libsystemd0", - "sha256": "32e8c12301a9ada555adea9a4c2f15df788411dadd164baca5c31690fe06e381", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_arm64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libzstd1_1.4.8-p-dfsg-2.1_arm64", - "name": "libzstd1", - "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", - "version": "1.4.8+dfsg-2.1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblz4-1_1.9.3-2_arm64", - "name": "liblz4-1", - "sha256": "83f0ee547cd42854e1b2a2e4c1a5705e28259ee5fa6560119f918f961a5dada2", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_arm64.deb", - "version": "1.9.3-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcrypt20_1.8.7-6_arm64", - "name": "libgcrypt20", - "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", - "version": "1.8.7-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgpg-error0_1.38-2_arm64", - "name": "libgpg-error0", - "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", - "version": "1.38-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libstdc-p--p-6_10.2.1-6_arm64", - "name": "libstdc++6", - "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", - "version": "10.2.1-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libseccomp2_2.5.1-1-p-deb11u1_arm64", - "name": "libseccomp2", - "sha256": "5b8983c2e330790dbe04ae990f166d7939a3e14b75556a8489309ae704fbeb50", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_arm64.deb", - "version": "2.5.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgnutls30_3.7.1-5-p-deb11u4_arm64", - "name": "libgnutls30", - "sha256": "7153ec6ee985eebba710dcb6e425bb881c91ee5987a4517518f3f44a9bb5fc1a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_arm64.deb", - "version": "3.7.1-5+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libunistring2_0.9.10-4_arm64", - "name": "libunistring2", - "sha256": "53ff395ea4d8cf17c52155a452a0dc15af0ee2fa5cb3b0085b9c7335de8d5f7f", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_arm64.deb", - "version": "0.9.10-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtasn1-6_4.16.0-2-p-deb11u1_arm64", - "name": "libtasn1-6", - "sha256": "f469147bbd3969055c51fc661c9aa0d56d48eccd070d233f1424b0d8b3f29295", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_arm64.deb", - "version": "4.16.0-2+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libp11-kit0_0.23.22-1_arm64", - "name": "libp11-kit0", - "sha256": "ac6e8eda3277708069bc6f03aff06dc319855d64ede9fca219938e52f92ee09c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_arm64.deb", - "version": "0.23.22-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libffi7_3.3-6_arm64", - "name": "libffi7", - "sha256": "eb748e33ae4ed46f5a4c14b7a2a09792569f2029ede319d0979c373829ba1532", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_arm64.deb", - "version": "3.3-6" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnettle8_3.7.3-1_arm64", - "name": "libnettle8", - "sha256": "5061c931f95dc7277d95fc58bce7c17b1a95c6aa9a9aac781784f3b3dc909047", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_arm64.deb", - "version": "3.7.3-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libidn2-0_2.3.0-5_arm64", - "name": "libidn2-0", - "sha256": "0d2e6d39bf65f16861f284be567c1a6c5d4dc6b54dcfdf9dba631546ff4e6796", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_arm64.deb", - "version": "2.3.0-5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libhogweed6_3.7.3-1_arm64", - "name": "libhogweed6", - "sha256": "3e9eea5e474dd98a7de9e4c1ecfbfd6f6efb1d40bf51d6473de9713cf41d2191", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_arm64.deb", - "version": "3.7.3-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debian-archive-keyring_2021.1.1-p-deb11u1_arm64", - "name": "debian-archive-keyring", - "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", - "version": "2021.1.1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libapt-pkg6.0_2.2.4_arm64", - "name": "libapt-pkg6.0", - "sha256": "7cb6015ea5c185ef93706989fb730377406878c72f6943b6ecdd956697f1abe6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_arm64.deb", - "version": "2.2.4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxxhash0_0.8.0-2_arm64", - "name": "libxxhash0", - "sha256": "a31effcbd7a248b64dd480330557f41ea796a010b2c2e7ac91ed10f94e605065", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_arm64.deb", - "version": "0.8.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libudev1_247.3-7-p-deb11u4_arm64", - "name": "libudev1", - "sha256": "d53ca63927b51ad6f9a85ee1e4ce74d20ef45651179fd70f3c8d72607071e393", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_arm64.deb", - "version": "247.3-7+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "adduser_3.118-p-deb11u1_arm64", - "name": "adduser", - "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", - "version": "3.118+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "passwd_1-4.8.1-1_arm64", - "name": "passwd", - "sha256": "5a675c9d23f176ea195678a949e144b23c7a8b268b03e0df8919a2cfc198e585", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_arm64.deb", - "version": "1:4.8.1-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam-modules_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules", - "sha256": "7f46ae216fdc6c69b0120d430936f40f3c5f37249296042324aeb584d5566a3c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam-modules-bin_1.4.0-9-p-deb11u1_arm64", - "name": "libpam-modules-bin", - "sha256": "bc20fa16c91a239de350ffcc019fbae5ce7c47c21235b332ff9d67638804866e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpam0g_1.4.0-9-p-deb11u1_arm64", - "name": "libpam0g", - "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", - "version": "1.4.0-9+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit1_1-3.0-2_arm64", - "name": "libaudit1", - "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap-ng0_0.7.9-2.2-p-b1_arm64", - "name": "libcap-ng0", - "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", - "version": "0.7.9-2.2+b1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libaudit-common_1-3.0-2_arm64", - "name": "libaudit-common", - "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", - "version": "1:3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtirpc3_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc3", - "sha256": "ccff0927f55b97fe9ea13057fab8bff9920bf4628eb2d5d48b9656f2fb74d2e1", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_arm64.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtirpc-common_1.3.1-1-p-deb11u1_arm64", - "name": "libtirpc-common", - "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", - "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", - "version": "1.3.1-1+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgssapi-krb5-2_1.18.3-6-p-deb11u4_arm64", - "name": "libgssapi-krb5-2", - "sha256": "5572a462c7f78f9610bd4f1dd9f8e4f8243fa9dc2d1deb5b1cf7cec1f1df83dc", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkrb5support0_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5support0", - "sha256": "d44585771e26c9b8d115aad33736fcc3e03cf98238ea7c7985554f166441aa07", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkrb5-3_1.18.3-6-p-deb11u4_arm64", - "name": "libkrb5-3", - "sha256": "3dcdadb1db461d14b6051a19c6a94ae9f61c3d2b1d35fd9d63326cd8f4ae49e5", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libkeyutils1_1.6.1-2_arm64", - "name": "libkeyutils1", - "sha256": "7101c2380ab47a3627a6fa076a149ab71078263064f936fccbd43efbaed4a2da", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_arm64.deb", - "version": "1.6.1-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libk5crypto3_1.18.3-6-p-deb11u4_arm64", - "name": "libk5crypto3", - "sha256": "d8f31a8bd83fe2593e83a930fc2713e1213f25311a629836dfcde5bd23a85e83", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_arm64.deb", - "version": "1.18.3-6+deb11u4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcom-err2_1.46.2-2_arm64", - "name": "libcom-err2", - "sha256": "fc95d415c35f5b687871f660a5bf66963fd117daa490110499119411e2d6145e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_arm64.deb", - "version": "1.46.2-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnsl2_1.3.0-2_arm64", - "name": "libnsl2", - "sha256": "8f9ba58b219779b43c4ccc78c79b0a23f721fc96323c202abb31e02f942104b3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_arm64.deb", - "version": "1.3.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", - "version": "5.3.28+dfsg1-0.8" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsemanage1_3.1-1-p-b2_arm64", - "name": "libsemanage1", - "sha256": "342a804007338314211981fac0bc083c3c66c6040bca0e47342c6d9ff44f103e", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_arm64.deb", - "version": "3.1-1+b2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsepol1_3.1-1_arm64", - "name": "libsepol1", - "sha256": "354d36c3084c14f242baba3a06372a3c034cec7a0cb38e626fc03cc4751b2cd3", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_arm64.deb", - "version": "3.1-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsemanage-common_3.1-1_arm64", - "name": "libsemanage-common", - "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", - "version": "3.1-1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libperl5.32_5.32.1-4-p-deb11u3_arm64", - "name": "libperl5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_arm64", - "name": "perl-modules-5.32", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "version": "5.32.1-4+deb11u3" - }, - { - "key": "dpkg_1.20.13_arm64", - "name": "dpkg", - "version": "1.20.13" - }, - { - "key": "tar_1.34-p-dfsg-1-p-deb11u1_arm64", - "name": "tar", - "version": "1.34+dfsg-1+deb11u1" - }, - { - "key": "libselinux1_3.1-3_arm64", - "name": "libselinux1", - "version": "3.1-3" - }, - { - "key": "libpcre2-8-0_10.36-2-p-deb11u1_arm64", - "name": "libpcre2-8-0", - "version": "10.36-2+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - }, - { - "key": "libacl1_2.2.53-10_arm64", - "name": "libacl1", - "version": "2.2.53-10" - }, - { - "key": "zlib1g_1-1.2.11.dfsg-2-p-deb11u2_arm64", - "name": "zlib1g", - "version": "1:1.2.11.dfsg-2+deb11u2" - }, - { - "key": "liblzma5_5.2.5-2.1_deb11u1_arm64", - "name": "liblzma5", - "version": "5.2.5-2.1~deb11u1" - }, - { - "key": "libbz2-1.0_1.0.8-4_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-4" - }, - { - "key": "libgdbm6_1.19-2_arm64", - "name": "libgdbm6", - "version": "1.19-2" - }, - { - "key": "libgdbm-compat4_1.19-2_arm64", - "name": "libgdbm-compat4", - "version": "1.19-2" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg1-0.8_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg1-0.8" - } - ], - "key": "perl_5.32.1-4-p-deb11u3_arm64", - "name": "perl", - "sha256": "6ed36a59241bbeec132eebec770567a4d23884f71dc922ac6770862cac1f3d9a", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libperl5.32_5.32.1-4-p-deb11u3_arm64", - "name": "libperl5.32", - "sha256": "9a5524101015f14773246336cb615c0e58fff2e7420a79f511262df9a7ff1c91", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-modules-5.32_5.32.1-4-p-deb11u3_arm64", - "name": "perl-modules-5.32", - "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-base_5.32.1-4-p-deb11u3_arm64", - "name": "perl-base", - "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", - "version": "5.32.1-4+deb11u3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm6_1.19-2_arm64", - "name": "libgdbm6", - "sha256": "97a88c2698bd836d04e51ad70c76826850857869b51e90b5343621ba30bbf525", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_arm64.deb", - "version": "1.19-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm-compat4_1.19-2_arm64", - "name": "libgdbm-compat4", - "sha256": "0853cc0b0f92784b7fbd193d737c63b1d95f932e2b95dc1bb10c273e01a0f754", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_arm64.deb", - "version": "1.19-2" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "openssl_1.1.1w-0-p-deb11u1_arm64", - "name": "openssl", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libssl1.1_1.1.1w-0-p-deb11u1_arm64", - "name": "libssl1.1", - "version": "1.1.1w-0+deb11u1" - }, - { - "key": "libc6_2.31-13-p-deb11u8_arm64", - "name": "libc6", - "version": "2.31-13+deb11u8" - }, - { - "key": "libcrypt1_1-4.4.18-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.18-4" - }, - { - "key": "libgcc-s1_10.2.1-6_arm64", - "name": "libgcc-s1", - "version": "10.2.1-6" - }, - { - "key": "gcc-10-base_10.2.1-6_arm64", - "name": "gcc-10-base", - "version": "10.2.1-6" - } - ], - "key": "ca-certificates_20210119_arm64", - "name": "ca-certificates", - "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", - "version": "20210119" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "openssl_1.1.1w-0-p-deb11u1_arm64", - "name": "openssl", - "sha256": "d9159af073e95641e7eda440fa1d7623873b8c0034c9826a353f890bed107f3c", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_arm64.deb", - "version": "1.1.1w-0+deb11u1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "nvidia-kernel-common_20151021-p-13_arm64", - "name": "nvidia-kernel-common", - "sha256": "5a1f10cffc5407a6b63dcdf3f72af842ad9e39a808bb9418a4805aa0be345c65", - "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_arm64.deb", - "version": "20151021+13" + "packages": { + "adduser": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "adduser", + "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", + "version": "3.118+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "adduser", + "sha256": "1478a610fd50e190882ff41e16c57b628a508bcf5b5ac5313affb49d20818e0a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/adduser/adduser_3.118+deb11u1_all.deb", + "version": "3.118+deb11u1" + } + }, + "apt": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "adduser", + "version": "3.118+deb11u1" + }, + { + "name": "debian-archive-keyring", + "version": "2021.1.1+deb11u1" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libapt-pkg6.0", + "version": "2.2.4" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcom-err2", + "version": "1.46.2-2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libffi7", + "version": "3.3-6" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgnutls30", + "version": "3.7.1-5+deb11u4" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libgssapi-krb5-2", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libhogweed6", + "version": "3.7.3-1" + }, + { + "name": "libidn2-0", + "version": "2.3.0-5" + }, + { + "name": "libk5crypto3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkeyutils1", + "version": "1.6.1-2" + }, + { + "name": "libkrb5-3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkrb5support0", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "liblz4-1", + "version": "1.9.3-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libnettle8", + "version": "3.7.3-1" + }, + { + "name": "libnsl2", + "version": "1.3.0-2" + }, + { + "name": "libp11-kit0", + "version": "0.23.22-1" + }, + { + "name": "libpam-modules", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam-modules-bin", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libseccomp2", + "version": "2.5.1-1+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libsemanage-common", + "version": "3.1-1" + }, + { + "name": "libsemanage1", + "version": "3.1-1+b2" + }, + { + "name": "libsepol1", + "version": "3.1-1" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libsystemd0", + "version": "247.3-7+deb11u4" + }, + { + "name": "libtasn1-6", + "version": "4.16.0-2+deb11u1" + }, + { + "name": "libtirpc-common", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libtirpc3", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libudev1", + "version": "247.3-7+deb11u4" + }, + { + "name": "libunistring2", + "version": "0.9.10-4" + }, + { + "name": "libxxhash0", + "version": "0.8.0-2" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "passwd", + "version": "1:4.8.1-1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "apt", + "sha256": "75f07c4965ff0813f26623a1164e162538f5e94defba6961347527ed71bc4f3d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_amd64.deb", + "version": "2.2.4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "adduser", + "version": "3.118+deb11u1" + }, + { + "name": "debian-archive-keyring", + "version": "2021.1.1+deb11u1" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libapt-pkg6.0", + "version": "2.2.4" + }, + { + "name": "libaudit-common", + "version": "1:3.0-2" + }, + { + "name": "libaudit1", + "version": "1:3.0-2" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcap-ng0", + "version": "0.7.9-2.2+b1" + }, + { + "name": "libcom-err2", + "version": "1.46.2-2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libffi7", + "version": "3.3-6" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgcrypt20", + "version": "1.8.7-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libgnutls30", + "version": "3.7.1-5+deb11u4" + }, + { + "name": "libgpg-error0", + "version": "1.38-2" + }, + { + "name": "libgssapi-krb5-2", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libhogweed6", + "version": "3.7.3-1" + }, + { + "name": "libidn2-0", + "version": "2.3.0-5" + }, + { + "name": "libk5crypto3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkeyutils1", + "version": "1.6.1-2" + }, + { + "name": "libkrb5-3", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "libkrb5support0", + "version": "1.18.3-6+deb11u4" + }, + { + "name": "liblz4-1", + "version": "1.9.3-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libnettle8", + "version": "3.7.3-1" + }, + { + "name": "libnsl2", + "version": "1.3.0-2" + }, + { + "name": "libp11-kit0", + "version": "0.23.22-1" + }, + { + "name": "libpam-modules", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam-modules-bin", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpam0g", + "version": "1.4.0-9+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libseccomp2", + "version": "2.5.1-1+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "libsemanage-common", + "version": "3.1-1" + }, + { + "name": "libsemanage1", + "version": "3.1-1+b2" + }, + { + "name": "libsepol1", + "version": "3.1-1" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "libstdc++6", + "version": "10.2.1-6" + }, + { + "name": "libsystemd0", + "version": "247.3-7+deb11u4" + }, + { + "name": "libtasn1-6", + "version": "4.16.0-2+deb11u1" + }, + { + "name": "libtirpc-common", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libtirpc3", + "version": "1.3.1-1+deb11u1" + }, + { + "name": "libudev1", + "version": "247.3-7+deb11u4" + }, + { + "name": "libunistring2", + "version": "0.9.10-4" + }, + { + "name": "libxxhash0", + "version": "0.8.0-2" + }, + { + "name": "libzstd1", + "version": "1.4.8+dfsg-2.1" + }, + { + "name": "passwd", + "version": "1:4.8.1-1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "apt", + "sha256": "39cbe42f3e64c6359b445d6fed7385273881e507b8be1d3b653ec9fb7d4c917c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/apt_2.2.4_arm64.deb", + "version": "2.2.4" + } + }, + "ca-certificates": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "openssl", + "version": "1.1.1w-0+deb11u1" + } + ], + "name": "ca-certificates", + "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", + "version": "20210119" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libssl1.1", + "version": "1.1.1w-0+deb11u1" + }, + { + "name": "openssl", + "version": "1.1.1w-0+deb11u1" + } + ], + "name": "ca-certificates", + "sha256": "b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb", + "version": "20210119" + } + }, + "coreutils": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4+b1_amd64.deb", + "version": "8.32-4+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libattr1", + "version": "1:2.4.48-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgmp10", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + } + ], + "name": "coreutils", + "sha256": "6210c84d6ff84b867dc430f661f22f536e1704c27bdb79de38e26f75b853d9c0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/c/coreutils/coreutils_8.32-4_arm64.deb", + "version": "8.32-4" + } + }, + "debian-archive-keyring": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debian-archive-keyring", + "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", + "version": "2021.1.1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debian-archive-keyring", + "sha256": "28ca7749ab7978f3c571732c3aa1c56e3ad1d5db3c915293763d4f6cb8fcce89", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb", + "version": "2021.1.1+deb11u1" + } + }, + "dpkg": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "dpkg", + "sha256": "eb2b7ba3a3c4e905a380045a2d1cd219d2d45755aba5966d6c804b79400beb05", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_amd64.deb", + "version": "1.20.13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "dpkg", + "sha256": "87b0bce7361d94cc15caf27709fa8a70de44f9dd742cf0d69d25796a03d24853", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/dpkg/dpkg_1.20.13_arm64.deb", + "version": "1.20.13" + } + }, + "gcc-10-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "gcc-10-base", + "sha256": "7d782bece7b4a36bed045a7e17d17244cb8f7e4732466091b01412ebf215defb", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/gcc-10-base_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libacl1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libacl1", + "sha256": "aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_amd64.deb", + "version": "2.2.53-10" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libacl1", + "sha256": "f164c48192cb47746101de6c59afa3f97777c8fc821e5a30bb890df1f4cb4cfd", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/acl/libacl1_2.2.53-10_arm64.deb", + "version": "2.2.53-10" + } + }, + "libapt-pkg6.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "4ae47bedf773ad1342e5aae8fa6275f864cfc87a45f4472775f5a9cdd60abbbf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_amd64.deb", + "version": "2.2.4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "7cb6015ea5c185ef93706989fb730377406878c72f6943b6ecdd956697f1abe6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/apt/libapt-pkg6.0_2.2.4_arm64.deb", + "version": "2.2.4" + } + }, + "libattr1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libattr1", + "sha256": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_amd64.deb", + "version": "1:2.4.48-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libattr1", + "sha256": "cb9b59be719a6fdbaabaa60e22aa6158b2de7a68c88ccd7c3fb7f41a25fb43d0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/attr/libattr1_2.4.48-6_arm64.deb", + "version": "1:2.4.48-6" + } + }, + "libaudit-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit-common", + "sha256": "0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit-common_3.0-2_all.deb", + "version": "1:3.0-2" + } + }, + "libaudit1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libaudit1", + "sha256": "e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_amd64.deb", + "version": "1:3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libaudit1", + "sha256": "c93da146715dcd0c71759629c04afb01a41c879d91b2f5330adc74365db03763", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/a/audit/libaudit1_3.0-2_arm64.deb", + "version": "1:3.0-2" + } + }, + "libbz2-1.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_amd64.deb", + "version": "1.0.8-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "da340e8470e96445c56966f74e48a9a91dee0fa5c89876e88a4575cc17d17a97", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-4_arm64.deb", + "version": "1.0.8-4" + } + }, + "libc6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libc6", + "sha256": "d55d9c9769336f9b8516c20bd8364ce90746fb860ae3dda242f421e711af3d1a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_amd64.deb", + "version": "2.31-13+deb11u8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libc6", + "sha256": "6eb629090615ebda5dcac2365a7358c035add00b89c2724c2e9e13ccd5bd9f7c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/glibc/libc6_2.31-13+deb11u8_arm64.deb", + "version": "2.31-13+deb11u8" + } + }, + "libcap-ng0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_amd64.deb", + "version": "0.7.9-2.2+b1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap-ng0", + "sha256": "b7b14e0b7747872f04691efe6c126de5ed0bf1dc200f51b93039cc2f4a65a96a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libc/libcap-ng/libcap-ng0_0.7.9-2.2+b1_arm64.deb", + "version": "0.7.9-2.2+b1" + } + }, + "libcom-err2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcom-err2", + "sha256": "d478f132871f4ab8352d39becf936d0ad74db905398bf98465d8fe3da6fb1126", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_amd64.deb", + "version": "1.46.2-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcom-err2", + "sha256": "fc95d415c35f5b687871f660a5bf66963fd117daa490110499119411e2d6145e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/e/e2fsprogs/libcom-err2_1.46.2-2_arm64.deb", + "version": "1.46.2-2" + } + }, + "libcrypt1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb", + "version": "1:4.4.18-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "22b586b29e840dabebf0bf227d233376628b87954915d064bc142ae85d1b7979", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_arm64.deb", + "version": "1:4.4.18-4" + } + }, + "libdb5.3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_amd64.deb", + "version": "5.3.28+dfsg1-0.8" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "cf9aa3eae9cfc4c84f93e32f3d11e2707146e4d9707712909e3c61530b50353e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg1-0.8_arm64.deb", + "version": "5.3.28+dfsg1-0.8" + } + }, + "libffi7": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libffi7", + "sha256": "30ca89bfddae5fa6e0a2a044f22b6e50cd17c4bc6bc850c579819aeab7101f0f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb", + "version": "3.3-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libffi7", + "sha256": "eb748e33ae4ed46f5a4c14b7a2a09792569f2029ede319d0979c373829ba1532", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libf/libffi/libffi7_3.3-6_arm64.deb", + "version": "3.3-6" + } + }, + "libgcc-s1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "e2fcdb378d3c1ad1bcb64d4fb6b37aab44011152beca12a4944f435a2582df1f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libgcrypt20": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_amd64.deb", + "version": "1.8.7-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "61ec779149f20923b30adad7bdf4732957e88a5b6a26d94b2210dfe79409959b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgcrypt20/libgcrypt20_1.8.7-6_arm64.deb", + "version": "1.8.7-6" + } + }, + "libgdbm-compat4": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "e62caed68b0ffaa03b5fa539d6fdc08c4151f66236d5878949bead0b71b7bb09", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_amd64.deb", + "version": "1.19-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "0853cc0b0f92784b7fbd193d737c63b1d95f932e2b95dc1bb10c273e01a0f754", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm-compat4_1.19-2_arm64.deb", + "version": "1.19-2" + } + }, + "libgdbm6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "e54cfe4d8b8f209bb7df31a404ce040f7c2f9b1045114a927a7e1061cdf90727", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_amd64.deb", + "version": "1.19-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "97a88c2698bd836d04e51ad70c76826850857869b51e90b5343621ba30bbf525", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gdbm/libgdbm6_1.19-2_arm64.deb", + "version": "1.19-2" + } + }, + "libgmp10": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgmp10", + "sha256": "fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_amd64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgmp10", + "sha256": "d52619b6ff8829aa5424dfe3189dd05f22118211e69273e9576030584ffcce80", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gmp/libgmp10_6.2.1+dfsg-1+deb11u1_arm64.deb", + "version": "2:6.2.1+dfsg-1+deb11u1" + } + }, + "libgnutls30": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "b2fa128881a16c2196caddb551d3577baa296a7bc5d38109a978e8e69fdb5c94", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_amd64.deb", + "version": "3.7.1-5+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "7153ec6ee985eebba710dcb6e425bb881c91ee5987a4517518f3f44a9bb5fc1a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gnutls28/libgnutls30_3.7.1-5+deb11u4_arm64.deb", + "version": "3.7.1-5+deb11u4" + } + }, + "libgpg-error0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_amd64.deb", + "version": "1.38-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "d1116f4281d6db35279799a21051e0d0e2600d110d7ee2b95b3cca6bec28067c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libg/libgpg-error/libgpg-error0_1.38-2_arm64.deb", + "version": "1.38-2" + } + }, + "libgssapi-krb5-2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgssapi-krb5-2", + "sha256": "037cc4bb34a6cd0d7a6e83bdcae6d68e0d0f9218eb7dedafc8099c8c0be491a2", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgssapi-krb5-2", + "sha256": "5572a462c7f78f9610bd4f1dd9f8e4f8243fa9dc2d1deb5b1cf7cec1f1df83dc", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libhogweed6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "6aab2e892cdb2dfba45707601bc6c3b19aa228f70ae5841017f14c3b0ca3d22f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_amd64.deb", + "version": "3.7.3-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "3e9eea5e474dd98a7de9e4c1ecfbfd6f6efb1d40bf51d6473de9713cf41d2191", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libhogweed6_3.7.3-1_arm64.deb", + "version": "3.7.3-1" + } + }, + "libidn2-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "cb80cd769171537bafbb4a16c12ec427065795946b3415781bc9792e92d60b59", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_amd64.deb", + "version": "2.3.0-5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "0d2e6d39bf65f16861f284be567c1a6c5d4dc6b54dcfdf9dba631546ff4e6796", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libi/libidn2/libidn2-0_2.3.0-5_arm64.deb", + "version": "2.3.0-5" + } + }, + "libk5crypto3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libk5crypto3", + "sha256": "f635062bcbfe2eef5a83fcba7d1a8ae343fc7c779cae88b11cae90fd6845a744", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libk5crypto3", + "sha256": "d8f31a8bd83fe2593e83a930fc2713e1213f25311a629836dfcde5bd23a85e83", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libkeyutils1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkeyutils1", + "sha256": "f01060b434d8cad3c58d5811d2082389f11b3db8152657d6c22c1d298953f2a5", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_amd64.deb", + "version": "1.6.1-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkeyutils1", + "sha256": "7101c2380ab47a3627a6fa076a149ab71078263064f936fccbd43efbaed4a2da", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_arm64.deb", + "version": "1.6.1-2" + } + }, + "libkrb5-3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkrb5-3", + "sha256": "b785fa324cf27e6bf7f97fc0279470e6ce8a8cc54f8ccc6c9b24c8111ba5c952", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkrb5-3", + "sha256": "3dcdadb1db461d14b6051a19c6a94ae9f61c3d2b1d35fd9d63326cd8f4ae49e5", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "libkrb5support0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libkrb5support0", + "sha256": "da8d022e3dd7f4a72ea32e328b3ac382dbe6bdb91606c5738fe17a29f8ea8080", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_amd64.deb", + "version": "1.18.3-6+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libkrb5support0", + "sha256": "d44585771e26c9b8d115aad33736fcc3e03cf98238ea7c7985554f166441aa07", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u4_arm64.deb", + "version": "1.18.3-6+deb11u4" + } + }, + "liblz4-1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "79ac6e9ca19c483f2e8effcc3401d723dd9dbb3a4ae324714de802adb21a8117", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_amd64.deb", + "version": "1.9.3-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "83f0ee547cd42854e1b2a2e4c1a5705e28259ee5fa6560119f918f961a5dada2", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/l/lz4/liblz4-1_1.9.3-2_arm64.deb", + "version": "1.9.3-2" + } + }, + "liblzma5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblzma5", + "sha256": "1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb", + "version": "5.2.5-2.1~deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblzma5", + "sha256": "d865bba41952c707b3fa3ae8cab4d4bd337ee92991d2aead66c925bf7cc48846", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb", + "version": "5.2.5-2.1~deb11u1" + } + }, + "libncurses6": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "libncurses6", + "sha256": "5b75c540d26d0525f231d39e5cf27ea7919d57305ba7101ea430c975369095eb", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_amd64.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libtinfo6", + "version": "6.2+20201114-2+deb11u2" + } + ], + "name": "libncurses6", + "sha256": "039b71b8839538a92988003e13c29e7cf1149cdc6a77d3de882f1d386a5f3a5c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libncurses6_6.2+20201114-2+deb11u2_arm64.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "libnettle8": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnettle8", + "sha256": "e4f8ec31ed14518b241eb7b423ad5ed3f4a4e8ac50aae72c9fd475c569582764", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_amd64.deb", + "version": "3.7.3-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnettle8", + "sha256": "5061c931f95dc7277d95fc58bce7c17b1a95c6aa9a9aac781784f3b3dc909047", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/nettle/libnettle8_3.7.3-1_arm64.deb", + "version": "3.7.3-1" + } + }, + "libnsl2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnsl2", + "sha256": "c0d83437fdb016cb289436f49f28a36be44b3e8f1f2498c7e3a095f709c0d6f8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_amd64.deb", + "version": "1.3.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnsl2", + "sha256": "8f9ba58b219779b43c4ccc78c79b0a23f721fc96323c202abb31e02f942104b3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libn/libnsl/libnsl2_1.3.0-2_arm64.deb", + "version": "1.3.0-2" + } + }, + "libp11-kit0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "bfef5f31ee1c730e56e16bb62cc5ff8372185106c75bf1ed1756c96703019457", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_amd64.deb", + "version": "0.23.22-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "ac6e8eda3277708069bc6f03aff06dc319855d64ede9fca219938e52f92ee09c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/p11-kit/libp11-kit0_0.23.22-1_arm64.deb", + "version": "0.23.22-1" + } + }, + "libpam-modules": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam-modules", + "sha256": "ca1e121700bf4b3eb33e30e0774d3e63e1adae9d4b6a940ea3501225db3cc287", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam-modules", + "sha256": "7f46ae216fdc6c69b0120d430936f40f3c5f37249296042324aeb584d5566a3c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpam-modules-bin": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam-modules-bin", + "sha256": "abbbd181329c236676222d3e912df13f8d1d90a117559edd997d90006369e5c8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam-modules-bin", + "sha256": "bc20fa16c91a239de350ffcc019fbae5ce7c47c21235b332ff9d67638804866e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam-modules-bin_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpam0g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpam0g", + "sha256": "496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_amd64.deb", + "version": "1.4.0-9+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpam0g", + "sha256": "4905e523ce38e80b79f13f0227fca519f6833eb116dd9c58cbbecb39c0e01e3d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pam/libpam0g_1.4.0-9+deb11u1_arm64.deb", + "version": "1.4.0-9+deb11u1" + } + }, + "libpcre2-8-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "ee192c8d22624eb9d0a2ae95056bad7fb371e5abc17e23e16b1de3ddb17a1064", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb", + "version": "10.36-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "27a4362a4793cb67a8ae571bd8c3f7e8654dc2e56d99088391b87af1793cca9c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb", + "version": "10.36-2+deb11u1" + } + }, + "libperl5.32": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libperl5.32", + "sha256": "078487a45916167e3e4ee2e584c50306c84368dd06dae276604861ca0426c34e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libperl5.32", + "sha256": "9a5524101015f14773246336cb615c0e58fff2e7420a79f511262df9a7ff1c91", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/libperl5.32_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "libseccomp2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "2617fc8b99dca0fa8ed466ee0f5fe087aa4e8413b88ca45d717290f4a0551e36", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_amd64.deb", + "version": "2.5.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "5b8983c2e330790dbe04ae990f166d7939a3e14b75556a8489309ae704fbeb50", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libseccomp/libseccomp2_2.5.1-1+deb11u1_arm64.deb", + "version": "2.5.1-1+deb11u1" + } + }, + "libselinux1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libselinux1", + "sha256": "339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb", + "version": "3.1-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libselinux1", + "sha256": "da98279a47dabaa46a83514142f5c691c6a71fa7e582661a3a3db6887ad3e9d1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb", + "version": "3.1-3" + } + }, + "libsemanage-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsemanage-common", + "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", + "version": "3.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsemanage-common", + "sha256": "d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage-common_3.1-1_all.deb", + "version": "3.1-1" + } + }, + "libsemanage1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsemanage1", + "sha256": "d8f2835b22df58ba45d52eb3aab224190f193576caf05e3f80deb2e4f927fad6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_amd64.deb", + "version": "3.1-1+b2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsemanage1", + "sha256": "342a804007338314211981fac0bc083c3c66c6040bca0e47342c6d9ff44f103e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsemanage/libsemanage1_3.1-1+b2_arm64.deb", + "version": "3.1-1+b2" + } + }, + "libsepol1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsepol1", + "sha256": "b6057dc6806a6dfaef74b09d84d1f18716d7a6d2f1da30520cef555210c6af62", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_amd64.deb", + "version": "3.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsepol1", + "sha256": "354d36c3084c14f242baba3a06372a3c034cec7a0cb38e626fc03cc4751b2cd3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libs/libsepol/libsepol1_3.1-1_arm64.deb", + "version": "3.1-1" + } + }, + "libssl1.1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "aadf8b4b197335645b230c2839b4517aa444fd2e8f434e5438c48a18857988f7", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb", + "version": "1.1.1w-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libssl1.1", + "sha256": "fe7a7d313c87e46e62e614a07137e4a476a79fc9e5aab7b23e8235211280fee3", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb", + "version": "1.1.1w-0+deb11u1" + } + }, + "libstdc++6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb", + "version": "10.2.1-6" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "7869aa540cc46e9f3d4267d5bde2af0e5b429a820c1d6f1a4cfccfe788c31890", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb", + "version": "10.2.1-6" + } + }, + "libsystemd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "e6f3e65e388196a399c1a36564c38ad987337350358732056227db1b6e708878", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_amd64.deb", + "version": "247.3-7+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "32e8c12301a9ada555adea9a4c2f15df788411dadd164baca5c31690fe06e381", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libsystemd0_247.3-7+deb11u4_arm64.deb", + "version": "247.3-7+deb11u4" + } + }, + "libtasn1-6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "6ebb579337cdc9d6201237a66578425a7a221db622524354e27c0c1bcb6dd7ca", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_amd64.deb", + "version": "4.16.0-2+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "f469147bbd3969055c51fc661c9aa0d56d48eccd070d233f1424b0d8b3f29295", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libt/libtasn1-6/libtasn1-6_4.16.0-2+deb11u1_arm64.deb", + "version": "4.16.0-2+deb11u1" + } + }, + "libtinfo6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "96ed58b8fd656521e08549c763cd18da6cff1b7801a3a22f29678701a95d7e7b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_amd64.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "58027c991756930a2abb2f87a829393d3fdbfb76f4eca9795ef38ea2b0510e27", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/libtinfo6_6.2+20201114-2+deb11u2_arm64.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "libtirpc-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtirpc-common", + "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", + "version": "1.3.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtirpc-common", + "sha256": "b2f10cb79e7d7a2f9b30bcdf036127df55cd4a34688547bc2886fa38f4969f77", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc-common_1.3.1-1+deb11u1_all.deb", + "version": "1.3.1-1+deb11u1" + } + }, + "libtirpc3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtirpc3", + "sha256": "86b216d59b6efcd07d56d14b8f4281d5c47f24e9c962f46bbaf02fce762c5e6a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_amd64.deb", + "version": "1.3.1-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtirpc3", + "sha256": "ccff0927f55b97fe9ea13057fab8bff9920bf4628eb2d5d48b9656f2fb74d2e1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_arm64.deb", + "version": "1.3.1-1+deb11u1" + } + }, + "libudev1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libudev1", + "sha256": "9274ca1aa37fcdf5895dad1de0895162351099ef8dff8a62f2f4c9eb181a8fce", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_amd64.deb", + "version": "247.3-7+deb11u4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libudev1", + "sha256": "d53ca63927b51ad6f9a85ee1e4ce74d20ef45651179fd70f3c8d72607071e393", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/systemd/libudev1_247.3-7+deb11u4_arm64.deb", + "version": "247.3-7+deb11u4" + } + }, + "libunistring2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libunistring2", + "sha256": "654433ad02d3a8b05c1683c6c29a224500bf343039c34dcec4e5e9515345e3d4", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_amd64.deb", + "version": "0.9.10-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libunistring2", + "sha256": "53ff395ea4d8cf17c52155a452a0dc15af0ee2fa5cb3b0085b9c7335de8d5f7f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libu/libunistring/libunistring2_0.9.10-4_arm64.deb", + "version": "0.9.10-4" + } + }, + "libxxhash0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "3fb82550a71d27d05672472508548576dfb34486847bc860d3066cda5aaf186f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_amd64.deb", + "version": "0.8.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "a31effcbd7a248b64dd480330557f41ea796a010b2c2e7ac91ed10f94e605065", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/x/xxhash/libxxhash0_0.8.0-2_arm64.deb", + "version": "0.8.0-2" + } + }, + "libzstd1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libzstd1", + "sha256": "5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb", + "version": "1.4.8+dfsg-2.1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libzstd1", + "sha256": "dd01659c6c122f983a3369a04ede63539f666585d52a03f8aa2c27b307e547e0", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb", + "version": "1.4.8+dfsg-2.1" + } + }, + "ncurses-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", + "version": "6.2+20201114-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "a55a5f94299448279da6a6c2031a9816dc768cd300668ff82ecfc6480bbfc83d", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/n/ncurses/ncurses-base_6.2+20201114-2+deb11u2_all.deb", + "version": "6.2+20201114-2+deb11u2" + } + }, + "nvidia-kernel-common": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "nvidia-kernel-common", + "sha256": "fa4b007bf64cf8cf0e9b3aaae5dd388fcec3a589ce2475f16d64347945691533", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_amd64.deb", + "version": "20151021+13" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "nvidia-kernel-common", + "sha256": "5a1f10cffc5407a6b63dcdf3f72af842ad9e39a808bb9418a4805aa0be345c65", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/n/nvidia-support/nvidia-kernel-common_20151021+13_arm64.deb", + "version": "20151021+13" + } + }, + "openssl": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "openssl", + "sha256": "04873d74cbe86bad3a9901f6e57f1150040eba9891b443c5c975a72a97238e35", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_amd64.deb", + "version": "1.1.1w-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "openssl", + "sha256": "d9159af073e95641e7eda440fa1d7623873b8c0034c9826a353f890bed107f3c", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/o/openssl/openssl_1.1.1w-0+deb11u1_arm64.deb", + "version": "1.1.1w-0+deb11u1" + } + }, + "passwd": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "passwd", + "sha256": "542593f26502e87b4276fa778e6e3ae52e66b973979986fff77803d9fcb2c2e8", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_amd64.deb", + "version": "1:4.8.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "passwd", + "sha256": "5a675c9d23f176ea195678a949e144b23c7a8b268b03e0df8919a2cfc198e585", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/s/shadow/passwd_4.8.1-1_arm64.deb", + "version": "1:4.8.1-1" + } + }, + "perl": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgdbm-compat4", + "version": "1.19-2" + }, + { + "name": "libgdbm6", + "version": "1.19-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libperl5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "perl-modules-5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "perl", + "sha256": "d5f710c7db9fcd6d9d6f119cd0dea64a4f765867447dd97b24ab44be1de7c60f", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.20.13" + }, + { + "name": "gcc-10-base", + "version": "10.2.1-6" + }, + { + "name": "libacl1", + "version": "2.2.53-10" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-4" + }, + { + "name": "libc6", + "version": "2.31-13+deb11u8" + }, + { + "name": "libcrypt1", + "version": "1:4.4.18-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg1-0.8" + }, + { + "name": "libgcc-s1", + "version": "10.2.1-6" + }, + { + "name": "libgdbm-compat4", + "version": "1.19-2" + }, + { + "name": "libgdbm6", + "version": "1.19-2" + }, + { + "name": "liblzma5", + "version": "5.2.5-2.1~deb11u1" + }, + { + "name": "libpcre2-8-0", + "version": "10.36-2+deb11u1" + }, + { + "name": "libperl5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "libselinux1", + "version": "3.1-3" + }, + { + "name": "perl-base", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "perl-modules-5.32", + "version": "5.32.1-4+deb11u3" + }, + { + "name": "tar", + "version": "1.34+dfsg-1+deb11u1" + }, + { + "name": "zlib1g", + "version": "1:1.2.11.dfsg-2+deb11u2" + } + ], + "name": "perl", + "sha256": "6ed36a59241bbeec132eebec770567a4d23884f71dc922ac6770862cac1f3d9a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "perl-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-base", + "sha256": "94c6299552866aadc58acb8ec5111a74b17bcb453f6e2f45ea5f7c4f42580d13", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_amd64.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-base", + "sha256": "53e09d9594692c462f33d4e9394bff60f95fe74b70402772dc7396a5829b76e5", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-base_5.32.1-4+deb11u3_arm64.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "perl-modules-5.32": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-modules-5.32", + "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", + "version": "5.32.1-4+deb11u3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-modules-5.32", + "sha256": "9a5cb99d0f33cb11c7f535aaebfb569c6b6f97a75d748a9a52ea3afed5bd3960", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/p/perl/perl-modules-5.32_5.32.1-4+deb11u3_all.deb", + "version": "5.32.1-4+deb11u3" + } + }, + "tar": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tar", + "sha256": "41c9c31f67a76b3532036f09ceac1f40a9224f1680395d120a8b24eae60dd54a", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_amd64.deb", + "version": "1.34+dfsg-1+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tar", + "sha256": "0f94aac4e6d25e07ed23b7fc3ed06e69074c95276d82caae7fc7b207fd714e39", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tar/tar_1.34+dfsg-1+deb11u1_arm64.deb", + "version": "1.34+dfsg-1+deb11u1" + } + }, + "tzdata": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tzdata", + "sha256": "13befffb7ee127f569af92d736e30c86c199bbd58f9c3cca0d071ed63e04d003", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/main/t/tzdata/tzdata_2024a-0+deb11u1_all.deb", + "version": "2024a-0+deb11u1" + } + }, + "zlib1g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "zlib1g", + "sha256": "03d2ab2174af76df6f517b854b77460fbdafc3dac0dca979317da67538159a3e", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "zlib1g", + "sha256": "e3963985d1a020d67ffd4180e6f9c4b5c600b515f0c9d8fda513d7a0e48e63a1", + "url": "https://snapshot-cloudflare.debian.org/archive/debian-security/20240210T223313Z/pool/updates/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb", + "version": "1:1.2.11.dfsg-2+deb11u2" + } } - ], - "version": 1 + }, + "version": 2 } \ No newline at end of file diff --git a/examples/ubuntu_snapshot/noble.lock.json b/examples/ubuntu_snapshot/noble.lock.json index 04808d1..4b66de0 100755 --- a/examples/ubuntu_snapshot/noble.lock.json +++ b/examples/ubuntu_snapshot/noble.lock.json @@ -1,1813 +1,1651 @@ { - "packages": [ - { - "arch": "amd64", - "dependencies": [], - "key": "ncurses-base_6.4-p-20240113-1ubuntu1_amd64", - "name": "ncurses-base", - "sha256": "1ea2be0cadf1299e5ed2967269c01e1935ddf5a733a496893b4334994aea2755", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/ncurses-base_6.4+20240113-1ubuntu1_all.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_amd64", - "name": "libtinfo6", - "version": "6.4+20240113-1ubuntu1" - } - ], - "key": "libncurses6_6.4-p-20240113-1ubuntu1_amd64", - "name": "libncurses6", - "sha256": "b5669082396328597c62e51caeb2ee258015e92bd87f6670acee9f396a30b978", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libncurses6_6.4+20240113-1ubuntu1_amd64.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "sha256": "4bd128b75db38b7e9147c0333908e2c7fbc41631f284360f95118fe1c6c162f3", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/glibc/libc6_2.39-0ubuntu2_amd64.deb", - "version": "2.39-0ubuntu2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "sha256": "ffc195df7e897aaec468e8f62b08660cc711c7449113102491fdd6baa6901f6d", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libgcc-s1_14-20240221-2.1ubuntu1_amd64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "sha256": "2e1ae2c2ccf2d1b6d09c657af1492a8b7a348e899f9ad25d4925b170571a0887", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/gcc-14-base_14-20240221-2.1ubuntu1_amd64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_amd64", - "name": "libtinfo6", - "sha256": "80378382ba4f672f8d5579cb953fc43edfe246eb96ee4d453af1ac3d7768c8aa", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libtinfo6_6.4+20240113-1ubuntu1_amd64.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tzdata_2024a-1ubuntu1_amd64", - "name": "tzdata", - "sha256": "26cdb43f541d5b7d089d2c1cf7d50b4c5e630c79a6d4d6ce34e20dcace4f0d29", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tzdata/tzdata_2024a-1ubuntu1_all.deb", - "version": "2024a-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "debianutils_5.16_amd64", - "name": "debianutils", - "version": "5.16" - }, - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "base-files_13ubuntu7_amd64", - "name": "base-files", - "version": "13ubuntu7" - }, - { - "key": "libcrypt1_1-4.4.36-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.36-4" - }, - { - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_amd64", - "name": "libtinfo6", - "version": "6.4+20240113-1ubuntu1" - } - ], - "key": "bash_5.2.21-2ubuntu2_amd64", - "name": "bash", - "sha256": "ad21b2dbc6991a08c62e519d920a326f23f3ee2a0ac91c6c448978595d5ae685", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bash/bash_5.2.21-2ubuntu2_amd64.deb", - "version": "5.2.21-2ubuntu2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "debianutils_5.16_amd64", - "name": "debianutils", - "sha256": "b1c3597e81831cf3d37cf84f06afaf05d90a55d717f643cead55fe4b223cc04a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/debianutils/debianutils_5.16_amd64.deb", - "version": "5.16" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "base-files_13ubuntu7_amd64", - "name": "base-files", - "sha256": "d2fe9680dea0b8f6d6d675eceaf2bf00da8d1b3da1604f0e3b47ee26866feadd", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/base-files/base-files_13ubuntu7_amd64.deb", - "version": "13ubuntu7" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcrypt1_1-4.4.36-4_amd64", - "name": "libcrypt1", - "sha256": "51ad101808e6a9d6b9c21bcf0b6f27c8ab34f6af53184fc6305f96770cc3a8d9", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libx/libxcrypt/libcrypt1_4.4.36-4_amd64.deb", - "version": "1:4.4.36-4" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libssl3_3.0.10-1ubuntu4_amd64", - "name": "libssl3", - "version": "3.0.10-1ubuntu4" - }, - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libselinux1_3.5-2build1_amd64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_amd64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_amd64", - "name": "libgmp10", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "key": "libattr1_1-2.5.2-1_amd64", - "name": "libattr1", - "version": "1:2.5.2-1" - }, - { - "key": "libacl1_2.3.2-1_amd64", - "name": "libacl1", - "version": "2.3.2-1" - } - ], - "key": "coreutils_9.4-2ubuntu4_amd64", - "name": "coreutils", - "sha256": "12f958744332b290cb5d577cb5304c09f5fceddc776a2ea29329c1cca2628567", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/c/coreutils/coreutils_9.4-2ubuntu4_amd64.deb", - "version": "9.4-2ubuntu4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libssl3_3.0.10-1ubuntu4_amd64", - "name": "libssl3", - "sha256": "8228c52b80fc7c39619b4d2246a0fd9beb838272c848fc9718062af7102324a6", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/o/openssl/libssl3_3.0.10-1ubuntu4_amd64.deb", - "version": "3.0.10-1ubuntu4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libselinux1_3.5-2build1_amd64", - "name": "libselinux1", - "sha256": "139f29430e3d265fc8d9b9da7dd3f704ee3f1838c37a5d512cf265ec0b4eba28", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libselinux/libselinux1_3.5-2build1_amd64.deb", - "version": "3.5-2build1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libpcre2-8-0_10.42-4ubuntu1_amd64", - "name": "libpcre2-8-0", - "sha256": "3fbf30adf862c4e510a9260c7666a1a5326bc5fed8021090bc75a4ecbaa52fa4", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/pcre2/libpcre2-8-0_10.42-4ubuntu1_amd64.deb", - "version": "10.42-4ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_amd64", - "name": "libgmp10", - "sha256": "b0ede0faa0154c946ad5602e0d613b3266ff6ade089b0e939f23ad6e43964872", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gmp/libgmp10_6.3.0+dfsg-2ubuntu4_amd64.deb", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libattr1_1-2.5.2-1_amd64", - "name": "libattr1", - "sha256": "38dbd3d90e88529f6f6e97f5564f333e38db8d20a704c7e8f484ed8705767382", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/attr/libattr1_2.5.2-1_amd64.deb", - "version": "1:2.5.2-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libacl1_2.3.2-1_amd64", - "name": "libacl1", - "sha256": "275cc58e50e49b8226f1ca705ac79bea3997b6e15b59e76cd2ade7d753a9298f", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/acl/libacl1_2.3.2-1_amd64.deb", - "version": "2.3.2-1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "tar_1.35-p-dfsg-3_amd64", - "name": "tar", - "version": "1.35+dfsg-3" - }, - { - "key": "libselinux1_3.5-2build1_amd64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_amd64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libacl1_2.3.2-1_amd64", - "name": "libacl1", - "version": "2.3.2-1" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_amd64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_amd64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libmd0_1.1.0-2_amd64", - "name": "libmd0", - "version": "1.1.0-2" - }, - { - "key": "liblzma5_5.4.5-0.3_amd64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - } - ], - "key": "dpkg_1.22.4ubuntu5_amd64", - "name": "dpkg", - "sha256": "15b3fa045cb0ab82682aa581219d24a6dd7e74dd0dd5c03b35a5278eab1ec2fa", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/dpkg/dpkg_1.22.4ubuntu5_amd64.deb", - "version": "1.22.4ubuntu5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "tar_1.35-p-dfsg-3_amd64", - "name": "tar", - "sha256": "2fa676173c0076f59e423bd82d2ac00eba7c51fa1ae8903f09b88270b1c560ba", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tar/tar_1.35+dfsg-3_amd64.deb", - "version": "1.35+dfsg-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_amd64", - "name": "zlib1g", - "sha256": "35cfe44912765862374112e83c178c095448f247785772147c42c0c843b67c97", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3ubuntu1_amd64.deb", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libzstd1_1.5.5-p-dfsg2-2_amd64", - "name": "libzstd1", - "sha256": "7926bb8267652dd7df2c78c5e7541df6e62dbc10ed2efd4c2b869c75538b2ff1", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2_amd64.deb", - "version": "1.5.5+dfsg2-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libmd0_1.1.0-2_amd64", - "name": "libmd0", - "sha256": "128be9909c4ce8f2126e5f3d1a04fc11510c519409d64d324d724aae8347cd13", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libm/libmd/libmd0_1.1.0-2_amd64.deb", - "version": "1.1.0-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblzma5_5.4.5-0.3_amd64", - "name": "liblzma5", - "sha256": "02bb3148ccfa7408b3f12833aa483c2dd4e3a6ee647fe8bbc3bc60ef50761ead", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xz-utils/liblzma5_5.4.5-0.3_amd64.deb", - "version": "5.4.5-0.3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-5ubuntu1_amd64", - "name": "libbz2-1.0", - "sha256": "8925b88fac7e8162a5c9dfcb078bb33932cb8aee51bb33db209ca97840f65369", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-5ubuntu1_amd64.deb", - "version": "1.0.8-5ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libsystemd0_255.2-3ubuntu2_amd64", - "name": "libsystemd0", - "version": "255.2-3ubuntu2" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_amd64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "liblzma5_5.4.5-0.3_amd64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "liblz4-1_1.9.4-1_amd64", - "name": "liblz4-1", - "version": "1.9.4-1" - }, - { - "key": "libgcrypt20_1.10.3-2_amd64", - "name": "libgcrypt20", - "version": "1.10.3-2" - }, - { - "key": "libgpg-error0_1.47-3build1_amd64", - "name": "libgpg-error0", - "version": "1.47-3build1" - }, - { - "key": "libcap2_1-2.66-5ubuntu1_amd64", - "name": "libcap2", - "version": "1:2.66-5ubuntu1" - }, - { - "key": "libstdc-p--p-6_14-20240221-2.1ubuntu1_amd64", - "name": "libstdc++6", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libseccomp2_2.5.5-1ubuntu1_amd64", - "name": "libseccomp2", - "version": "2.5.5-1ubuntu1" - }, - { - "key": "libgnutls30_3.8.3-1ubuntu1_amd64", - "name": "libgnutls30", - "version": "3.8.3-1ubuntu1" - }, - { - "key": "libunistring5_1.1-2_amd64", - "name": "libunistring5", - "version": "1.1-2" - }, - { - "key": "libtasn1-6_4.19.0-3_amd64", - "name": "libtasn1-6", - "version": "4.19.0-3" - }, - { - "key": "libp11-kit0_0.25.3-4ubuntu1_amd64", - "name": "libp11-kit0", - "version": "0.25.3-4ubuntu1" - }, - { - "key": "libffi8_3.4.6-1_amd64", - "name": "libffi8", - "version": "3.4.6-1" - }, - { - "key": "libnettle8_3.9.1-2_amd64", - "name": "libnettle8", - "version": "3.9.1-2" - }, - { - "key": "libidn2-0_2.3.7-2_amd64", - "name": "libidn2-0", - "version": "2.3.7-2" - }, - { - "key": "libhogweed6_3.9.1-2_amd64", - "name": "libhogweed6", - "version": "3.9.1-2" - }, - { - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_amd64", - "name": "libgmp10", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "key": "ubuntu-keyring_2023.11.28.1_amd64", - "name": "ubuntu-keyring", - "version": "2023.11.28.1" - }, - { - "key": "libapt-pkg6.0_2.7.12_amd64", - "name": "libapt-pkg6.0", - "version": "2.7.12" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_amd64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libxxhash0_0.8.2-2_amd64", - "name": "libxxhash0", - "version": "0.8.2-2" - }, - { - "key": "libudev1_255.2-3ubuntu2_amd64", - "name": "libudev1", - "version": "255.2-3ubuntu2" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - }, - { - "key": "gpgv_2.4.4-2ubuntu7_amd64", - "name": "gpgv", - "version": "2.4.4-2ubuntu7" - }, - { - "key": "libnpth0_1.6-3build2_amd64", - "name": "libnpth0", - "version": "1.6-3build2" - }, - { - "key": "libassuan0_2.5.6-1_amd64", - "name": "libassuan0", - "version": "2.5.6-1" - } - ], - "key": "apt_2.7.12_amd64", - "name": "apt", - "sha256": "ffde38ea5a2d42045732a83633737741259cc517a8c52e3c2776b0b4ea75843d", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/apt_2.7.12_amd64.deb", - "version": "2.7.12" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libsystemd0_255.2-3ubuntu2_amd64", - "name": "libsystemd0", - "sha256": "2b795ada9003c3d43fea41ede816fe9ffeac9e283c2cdc627ea41a123b110f4f", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libsystemd0_255.2-3ubuntu2_amd64.deb", - "version": "255.2-3ubuntu2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "liblz4-1_1.9.4-1_amd64", - "name": "liblz4-1", - "sha256": "8c2ac2844f58875ebd1c78cc397ef3889d58050b40299f5dc267d7a77957dc48", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/l/lz4/liblz4-1_1.9.4-1_amd64.deb", - "version": "1.9.4-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgcrypt20_1.10.3-2_amd64", - "name": "libgcrypt20", - "sha256": "ad2547e30a16c475e1eb4ac6ba77d06a261fdeb5af4407c4b1655ce1ad38dff4", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgcrypt20/libgcrypt20_1.10.3-2_amd64.deb", - "version": "1.10.3-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgpg-error0_1.47-3build1_amd64", - "name": "libgpg-error0", - "sha256": "2d033b832a3b537538c9bd13c35ecafc7b78aa8c4d7b28859e65d1a6528e2d92", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgpg-error/libgpg-error0_1.47-3build1_amd64.deb", - "version": "1.47-3build1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libcap2_1-2.66-5ubuntu1_amd64", - "name": "libcap2", - "sha256": "ac02d261cf8fe7be4cef3e43ff67906da85de4e359ed5c4199b707bdeff0ab62", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libc/libcap2/libcap2_2.66-5ubuntu1_amd64.deb", - "version": "1:2.66-5ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libstdc-p--p-6_14-20240221-2.1ubuntu1_amd64", - "name": "libstdc++6", - "sha256": "3311c13f2e26c20369e937051c78f07c495f6112a0d6c32d3285b47021457ec2", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libstdc++6_14-20240221-2.1ubuntu1_amd64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libseccomp2_2.5.5-1ubuntu1_amd64", - "name": "libseccomp2", - "sha256": "23b58d5dbae7f6875955a61afd782aade21869015a2a710bf3deef6894a691fb", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libseccomp/libseccomp2_2.5.5-1ubuntu1_amd64.deb", - "version": "2.5.5-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgnutls30_3.8.3-1ubuntu1_amd64", - "name": "libgnutls30", - "sha256": "9638b9847ba94bbf3a81ddd491911aa29e6c8eb2cd9f998b38f4599fbbf76c99", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnutls28/libgnutls30_3.8.3-1ubuntu1_amd64.deb", - "version": "3.8.3-1ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libunistring5_1.1-2_amd64", - "name": "libunistring5", - "sha256": "cbdbbbf7552e953e3b58c512eb99891fa3ea8b2847a1a8194c5fb9abdb7066b5", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libu/libunistring/libunistring5_1.1-2_amd64.deb", - "version": "1.1-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libtasn1-6_4.19.0-3_amd64", - "name": "libtasn1-6", - "sha256": "84f16110976e40a7aaa11eb0a291bd85f4002fb8b87f6355ff2f8340d9cf4a62", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libt/libtasn1-6/libtasn1-6_4.19.0-3_amd64.deb", - "version": "4.19.0-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libp11-kit0_0.25.3-4ubuntu1_amd64", - "name": "libp11-kit0", - "sha256": "55e257759c223816b23af975d792519c738db9b0e0687c071429db74e1912aa3", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/p11-kit/libp11-kit0_0.25.3-4ubuntu1_amd64.deb", - "version": "0.25.3-4ubuntu1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libffi8_3.4.6-1_amd64", - "name": "libffi8", - "sha256": "bd30f638a82381979c4c07b3acabb7fccaeed7f9b094e27c9a676d2e94572b14", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libf/libffi/libffi8_3.4.6-1_amd64.deb", - "version": "3.4.6-1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnettle8_3.9.1-2_amd64", - "name": "libnettle8", - "sha256": "c38dd77f817639a2d524956a391393f7d3cdca38724e92ed6d04768fa0a282e9", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libnettle8_3.9.1-2_amd64.deb", - "version": "3.9.1-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libidn2-0_2.3.7-2_amd64", - "name": "libidn2-0", - "sha256": "6a00f2cbdfd1e628556bcbc4c1edab07066f6c47f4e75657d8e8b6900704312c", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libi/libidn2/libidn2-0_2.3.7-2_amd64.deb", - "version": "2.3.7-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libhogweed6_3.9.1-2_amd64", - "name": "libhogweed6", - "sha256": "9644344e343eea3d82f35c4d70e33cfc9b36e139f109a78aaf7a6feb9a3126f2", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libhogweed6_3.9.1-2_amd64.deb", - "version": "3.9.1-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "ubuntu-keyring_2023.11.28.1_amd64", - "name": "ubuntu-keyring", - "sha256": "36de43b15853ccae0028e9a767613770c704833f82586f28eb262f0311adb8a8", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/u/ubuntu-keyring/ubuntu-keyring_2023.11.28.1_all.deb", - "version": "2023.11.28.1" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libapt-pkg6.0_2.7.12_amd64", - "name": "libapt-pkg6.0", - "sha256": "6eafb79a865ba21b3e33fc9e49e6c3d09e336dd403d87647bcbe0cd3a614871a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/libapt-pkg6.0_2.7.12_amd64.deb", - "version": "2.7.12" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libxxhash0_0.8.2-2_amd64", - "name": "libxxhash0", - "sha256": "fbee58694f740de786455ceb5b34550c3ceb067df59fddf0e9d7d713528eb9cb", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xxhash/libxxhash0_0.8.2-2_amd64.deb", - "version": "0.8.2-2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libudev1_255.2-3ubuntu2_amd64", - "name": "libudev1", - "sha256": "c84b059e2c070796cd0a92f5645801a12be726860b4f52153bede2819bbaa980", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libudev1_255.2-3ubuntu2_amd64.deb", - "version": "255.2-3ubuntu2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "gpgv_2.4.4-2ubuntu7_amd64", - "name": "gpgv", - "sha256": "5e34a3132f9ecff5276e2d443f85f1fbfc8fe8aa3964dc6bd089123b137676e0", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnupg2/gpgv_2.4.4-2ubuntu7_amd64.deb", - "version": "2.4.4-2ubuntu7" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libnpth0_1.6-3build2_amd64", - "name": "libnpth0", - "sha256": "e6e05ed1c4ccfbdc4ca3af2696dadbd0313b5287221ecafa306911da6fbbf89a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/npth/libnpth0_1.6-3build2_amd64.deb", - "version": "1.6-3build2" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libassuan0_2.5.6-1_amd64", - "name": "libassuan0", - "sha256": "c976b785f81b23888bc39a16f9f3cfaf031536ff23f0b6fb24d4812019f20138", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/liba/libassuan/libassuan0_2.5.6-1_amd64.deb", - "version": "2.5.6-1" - }, - { - "arch": "amd64", - "dependencies": [ - { - "key": "libperl5.38_5.38.2-3_amd64", - "name": "libperl5.38", - "version": "5.38.2-3" - }, - { - "key": "perl-modules-5.38_5.38.2-3_amd64", - "name": "perl-modules-5.38", - "version": "5.38.2-3" - }, - { - "key": "perl-base_5.38.2-3_amd64", - "name": "perl-base", - "version": "5.38.2-3" - }, - { - "key": "dpkg_1.22.4ubuntu5_amd64", - "name": "dpkg", - "version": "1.22.4ubuntu5" - }, - { - "key": "tar_1.35-p-dfsg-3_amd64", - "name": "tar", - "version": "1.35+dfsg-3" - }, - { - "key": "libselinux1_3.5-2build1_amd64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_amd64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libc6_2.39-0ubuntu2_amd64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_amd64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_amd64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libacl1_2.3.2-1_amd64", - "name": "libacl1", - "version": "2.3.2-1" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_amd64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_amd64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libmd0_1.1.0-2_amd64", - "name": "libmd0", - "version": "1.1.0-2" - }, - { - "key": "liblzma5_5.4.5-0.3_amd64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_amd64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - }, - { - "key": "libcrypt1_1-4.4.36-4_amd64", - "name": "libcrypt1", - "version": "1:4.4.36-4" - }, - { - "key": "libgdbm6_1.23-5_amd64", - "name": "libgdbm6", - "version": "1.23-5" - }, - { - "key": "libgdbm-compat4_1.23-5_amd64", - "name": "libgdbm-compat4", - "version": "1.23-5" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg2-4_amd64", - "name": "libdb5.3", - "version": "5.3.28+dfsg2-4" - } - ], - "key": "perl_5.38.2-3_amd64", - "name": "perl", - "sha256": "af6657fcbd23694120410423ad59bdf8d0ad5139e5e80cc10599b1a44706fdf6", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl_5.38.2-3_amd64.deb", - "version": "5.38.2-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libperl5.38_5.38.2-3_amd64", - "name": "libperl5.38", - "sha256": "62a161cb99621bb3e69b51bd1ff00ff4ad77cbd357d525182830571d52656cf3", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/libperl5.38_5.38.2-3_amd64.deb", - "version": "5.38.2-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-modules-5.38_5.38.2-3_amd64", - "name": "perl-modules-5.38", - "sha256": "127dd76635d1d3d135caa5bbc4d5ae96a1c88a36c21313602c4c416270040849", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-modules-5.38_5.38.2-3_all.deb", - "version": "5.38.2-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "perl-base_5.38.2-3_amd64", - "name": "perl-base", - "sha256": "bd0c5e1b72bdc400005330094101d83628604af5b132df4ea4132eb58e349aa0", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-base_5.38.2-3_amd64.deb", - "version": "5.38.2-3" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm6_1.23-5_amd64", - "name": "libgdbm6", - "sha256": "c3f20aaeeb16d33907b08bd5ca8d179e3d03cfd90d48a631954011179e19225a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm6_1.23-5_amd64.deb", - "version": "1.23-5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libgdbm-compat4_1.23-5_amd64", - "name": "libgdbm-compat4", - "sha256": "788b045f2ed29aad67e3e4dec448c71ec12c1e5f653a1b36422b3fb2082409dc", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm-compat4_1.23-5_amd64.deb", - "version": "1.23-5" - }, - { - "arch": "amd64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg2-4_amd64", - "name": "libdb5.3", - "sha256": "439d822a4d19edb3ea466b3ad085d1783d2319611061090df4bef2c562bc625e", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg2-4_amd64.deb", - "version": "5.3.28+dfsg2-4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "ncurses-base_6.4-p-20240113-1ubuntu1_arm64", - "name": "ncurses-base", - "sha256": "1ea2be0cadf1299e5ed2967269c01e1935ddf5a733a496893b4334994aea2755", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/ncurses-base_6.4+20240113-1ubuntu1_all.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_arm64", - "name": "libtinfo6", - "version": "6.4+20240113-1ubuntu1" - } - ], - "key": "libncurses6_6.4-p-20240113-1ubuntu1_arm64", - "name": "libncurses6", - "sha256": "5cb643f9a938f783a72b85c2c102b977e7e2d137c0d3564ff1df6652de89296f", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libncurses6_6.4+20240113-1ubuntu1_arm64.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "sha256": "522238223618b52aae530256dfaea19e746649c382983d99c9e79d1f7e6afeef", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/glibc/libc6_2.39-0ubuntu2_arm64.deb", - "version": "2.39-0ubuntu2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "sha256": "d3aec36dbcea7dcf910f7ece43d3e31260bb0cd0a2b58808efaa999af1798511", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libgcc-s1_14-20240221-2.1ubuntu1_arm64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "sha256": "9886cc5eec6df002429338e26ce1670ada931f9b91fe147eee483ae11cc9cdda", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/gcc-14-base_14-20240221-2.1ubuntu1_arm64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_arm64", - "name": "libtinfo6", - "sha256": "4a190c05ea7e919e4e796e1321f7923158048e1bdc58c71c11692628f6064bcb", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libtinfo6_6.4+20240113-1ubuntu1_arm64.deb", - "version": "6.4+20240113-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tzdata_2024a-1ubuntu1_arm64", - "name": "tzdata", - "sha256": "26cdb43f541d5b7d089d2c1cf7d50b4c5e630c79a6d4d6ce34e20dcace4f0d29", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tzdata/tzdata_2024a-1ubuntu1_all.deb", - "version": "2024a-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "debianutils_5.16_arm64", - "name": "debianutils", - "version": "5.16" - }, - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "base-files_13ubuntu7_arm64", - "name": "base-files", - "version": "13ubuntu7" - }, - { - "key": "libcrypt1_1-4.4.36-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.36-4" - }, - { - "key": "libtinfo6_6.4-p-20240113-1ubuntu1_arm64", - "name": "libtinfo6", - "version": "6.4+20240113-1ubuntu1" - } - ], - "key": "bash_5.2.21-2ubuntu2_arm64", - "name": "bash", - "sha256": "f6e49a0e27e9f73a10a95cfce04f5449834cf5c2f0f12caffa273297385a0f46", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bash/bash_5.2.21-2ubuntu2_arm64.deb", - "version": "5.2.21-2ubuntu2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "debianutils_5.16_arm64", - "name": "debianutils", - "sha256": "59efa8456b8f2dd76860ba306dbc397673170d9dfa969f58fba8891329a7d5b5", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/debianutils/debianutils_5.16_arm64.deb", - "version": "5.16" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "base-files_13ubuntu7_arm64", - "name": "base-files", - "sha256": "fca1f68e39dca654190f4a3bd4879659f90781d3d509c3882db0e75c1ce2ebc6", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/base-files/base-files_13ubuntu7_arm64.deb", - "version": "13ubuntu7" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcrypt1_1-4.4.36-4_arm64", - "name": "libcrypt1", - "sha256": "3dd680dd15a31e7a023f47008b99b1aceed3104a01afacb775fa888a8fdb9f90", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libx/libxcrypt/libcrypt1_4.4.36-4_arm64.deb", - "version": "1:4.4.36-4" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libselinux1_3.5-2build1_arm64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_arm64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_arm64", - "name": "libgmp10", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "key": "libattr1_1-2.5.2-1_arm64", - "name": "libattr1", - "version": "1:2.5.2-1" - }, - { - "key": "libacl1_2.3.2-1_arm64", - "name": "libacl1", - "version": "2.3.2-1" - } - ], - "key": "coreutils_9.4-2ubuntu4_arm64", - "name": "coreutils", - "sha256": "a73b6f3b14c2578c12ba8ed8c7e55df8b94aa60088713b85ecaa56149f704788", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/c/coreutils/coreutils_9.4-2ubuntu4_arm64.deb", - "version": "9.4-2ubuntu4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libselinux1_3.5-2build1_arm64", - "name": "libselinux1", - "sha256": "9d22b9775025031775c8cf77568b427e7f7bff49d097b5c9885657edfaf71193", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libselinux/libselinux1_3.5-2build1_arm64.deb", - "version": "3.5-2build1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libpcre2-8-0_10.42-4ubuntu1_arm64", - "name": "libpcre2-8-0", - "sha256": "14214893ef06c573ad2e6d99ab6cebbaf26c204818cf898ea7abc8b0339f1791", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/pcre2/libpcre2-8-0_10.42-4ubuntu1_arm64.deb", - "version": "10.42-4ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_arm64", - "name": "libgmp10", - "sha256": "8f35d6d5564801218d19c864361726bf9ba8a171896e1c183dd7ecb70973592b", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gmp/libgmp10_6.3.0+dfsg-2ubuntu4_arm64.deb", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libattr1_1-2.5.2-1_arm64", - "name": "libattr1", - "sha256": "0cfd6967c0ca25b16db868d819f47ffcca5d43aa22e3227c7be08626dc73d7cb", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/attr/libattr1_2.5.2-1_arm64.deb", - "version": "1:2.5.2-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libacl1_2.3.2-1_arm64", - "name": "libacl1", - "sha256": "1e683ce20074199ed9dd9c4ffdbb5bf30f5e494d9c9452512f8709a9fbe76562", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/acl/libacl1_2.3.2-1_arm64.deb", - "version": "2.3.2-1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "tar_1.35-p-dfsg-3_arm64", - "name": "tar", - "version": "1.35+dfsg-3" - }, - { - "key": "libselinux1_3.5-2build1_arm64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_arm64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libacl1_2.3.2-1_arm64", - "name": "libacl1", - "version": "2.3.2-1" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_arm64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_arm64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libmd0_1.1.0-2_arm64", - "name": "libmd0", - "version": "1.1.0-2" - }, - { - "key": "liblzma5_5.4.5-0.3_arm64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - } - ], - "key": "dpkg_1.22.4ubuntu5_arm64", - "name": "dpkg", - "sha256": "352d489b2b457728a2cfd253172080729ce3ac635bc8cf9809acb9c92e2dd149", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/dpkg/dpkg_1.22.4ubuntu5_arm64.deb", - "version": "1.22.4ubuntu5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "tar_1.35-p-dfsg-3_arm64", - "name": "tar", - "sha256": "15ed5677151c6f224799e82f90515c77e744a68d99d2ea3d8bf2877e9effd575", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tar/tar_1.35+dfsg-3_arm64.deb", - "version": "1.35+dfsg-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_arm64", - "name": "zlib1g", - "sha256": "bb947ff78e0aee7477aeea1bc82a5db2e80f5b1322f460ecc06710200a16326f", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3ubuntu1_arm64.deb", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libzstd1_1.5.5-p-dfsg2-2_arm64", - "name": "libzstd1", - "sha256": "a6c2bcacff770685b3ef262943bbb3ce2060b9de83e1698590f5b576d5e7827e", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2_arm64.deb", - "version": "1.5.5+dfsg2-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libmd0_1.1.0-2_arm64", - "name": "libmd0", - "sha256": "884597eb942118b246a79e68aa619e3b6d22125e5cd7948557b542b6e70bdb54", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libm/libmd/libmd0_1.1.0-2_arm64.deb", - "version": "1.1.0-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblzma5_5.4.5-0.3_arm64", - "name": "liblzma5", - "sha256": "d0e936978175a45bb317a5ca17c29f0d610126e21f5ce6900f107244a6e333b6", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xz-utils/liblzma5_5.4.5-0.3_arm64.deb", - "version": "5.4.5-0.3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libbz2-1.0_1.0.8-5ubuntu1_arm64", - "name": "libbz2-1.0", - "sha256": "0c479f94c97d2ab5641bf7b967d37daad61c5e8c4ea998ebd710d2125d4eb027", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-5ubuntu1_arm64.deb", - "version": "1.0.8-5ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libsystemd0_255.2-3ubuntu2_arm64", - "name": "libsystemd0", - "version": "255.2-3ubuntu2" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_arm64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "liblzma5_5.4.5-0.3_arm64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "liblz4-1_1.9.4-1_arm64", - "name": "liblz4-1", - "version": "1.9.4-1" - }, - { - "key": "libgcrypt20_1.10.3-2_arm64", - "name": "libgcrypt20", - "version": "1.10.3-2" - }, - { - "key": "libgpg-error0_1.47-3build1_arm64", - "name": "libgpg-error0", - "version": "1.47-3build1" - }, - { - "key": "libcap2_1-2.66-5ubuntu1_arm64", - "name": "libcap2", - "version": "1:2.66-5ubuntu1" - }, - { - "key": "libstdc-p--p-6_14-20240221-2.1ubuntu1_arm64", - "name": "libstdc++6", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libseccomp2_2.5.5-1ubuntu1_arm64", - "name": "libseccomp2", - "version": "2.5.5-1ubuntu1" - }, - { - "key": "libgnutls30_3.8.3-1ubuntu1_arm64", - "name": "libgnutls30", - "version": "3.8.3-1ubuntu1" - }, - { - "key": "libunistring5_1.1-2_arm64", - "name": "libunistring5", - "version": "1.1-2" - }, - { - "key": "libtasn1-6_4.19.0-3_arm64", - "name": "libtasn1-6", - "version": "4.19.0-3" - }, - { - "key": "libp11-kit0_0.25.3-4ubuntu1_arm64", - "name": "libp11-kit0", - "version": "0.25.3-4ubuntu1" - }, - { - "key": "libffi8_3.4.6-1_arm64", - "name": "libffi8", - "version": "3.4.6-1" - }, - { - "key": "libnettle8_3.9.1-2_arm64", - "name": "libnettle8", - "version": "3.9.1-2" - }, - { - "key": "libidn2-0_2.3.7-2_arm64", - "name": "libidn2-0", - "version": "2.3.7-2" - }, - { - "key": "libhogweed6_3.9.1-2_arm64", - "name": "libhogweed6", - "version": "3.9.1-2" - }, - { - "key": "libgmp10_2-6.3.0-p-dfsg-2ubuntu4_arm64", - "name": "libgmp10", - "version": "2:6.3.0+dfsg-2ubuntu4" - }, - { - "key": "ubuntu-keyring_2023.11.28.1_arm64", - "name": "ubuntu-keyring", - "version": "2023.11.28.1" - }, - { - "key": "libapt-pkg6.0_2.7.12_arm64", - "name": "libapt-pkg6.0", - "version": "2.7.12" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_arm64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libxxhash0_0.8.2-2_arm64", - "name": "libxxhash0", - "version": "0.8.2-2" - }, - { - "key": "libudev1_255.2-3ubuntu2_arm64", - "name": "libudev1", - "version": "255.2-3ubuntu2" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - }, - { - "key": "gpgv_2.4.4-2ubuntu7_arm64", - "name": "gpgv", - "version": "2.4.4-2ubuntu7" - }, - { - "key": "libnpth0_1.6-3build2_arm64", - "name": "libnpth0", - "version": "1.6-3build2" - }, - { - "key": "libassuan0_2.5.6-1_arm64", - "name": "libassuan0", - "version": "2.5.6-1" - } - ], - "key": "apt_2.7.12_arm64", - "name": "apt", - "sha256": "a0f922f9133bff9b87f5887757434ab94c04efe9fb3f96ecb0a9acca845f5b28", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/apt_2.7.12_arm64.deb", - "version": "2.7.12" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libsystemd0_255.2-3ubuntu2_arm64", - "name": "libsystemd0", - "sha256": "7cccc1271839ac53030490b84de797239db5bf53bb623a87e8762385b17136a1", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libsystemd0_255.2-3ubuntu2_arm64.deb", - "version": "255.2-3ubuntu2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "liblz4-1_1.9.4-1_arm64", - "name": "liblz4-1", - "sha256": "3ca249f3f32308f8465b9c7447517b1e860539609e590d98b45c1878fad83c55", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/l/lz4/liblz4-1_1.9.4-1_arm64.deb", - "version": "1.9.4-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgcrypt20_1.10.3-2_arm64", - "name": "libgcrypt20", - "sha256": "fc9bf9dc690198d52aab5cbd325ce9b7f6ff2060cea320e35e5be741bcdbd863", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgcrypt20/libgcrypt20_1.10.3-2_arm64.deb", - "version": "1.10.3-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgpg-error0_1.47-3build1_arm64", - "name": "libgpg-error0", - "sha256": "431841c82321886700592874b5042f64908e53bb9560eff351664a9c38a22eaf", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgpg-error/libgpg-error0_1.47-3build1_arm64.deb", - "version": "1.47-3build1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libcap2_1-2.66-5ubuntu1_arm64", - "name": "libcap2", - "sha256": "f9e54bda3c9b38cdd95dccfaca37ba2a46220414116506f256e235307d5b7209", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libc/libcap2/libcap2_2.66-5ubuntu1_arm64.deb", - "version": "1:2.66-5ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libstdc-p--p-6_14-20240221-2.1ubuntu1_arm64", - "name": "libstdc++6", - "sha256": "538f5a9f9b7bfdff1e0317b6d1e21a7b6fdef8d82d07036c89716e35266a4cbf", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libstdc++6_14-20240221-2.1ubuntu1_arm64.deb", - "version": "14-20240221-2.1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libseccomp2_2.5.5-1ubuntu1_arm64", - "name": "libseccomp2", - "sha256": "b11084b3907453470014cc95d30e3217c0c655b2c4a29891a3ab27ebfeaa9674", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libseccomp/libseccomp2_2.5.5-1ubuntu1_arm64.deb", - "version": "2.5.5-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgnutls30_3.8.3-1ubuntu1_arm64", - "name": "libgnutls30", - "sha256": "5cd70f6fa56513bb91144bb3877d20315cd01ab57d1ff862762983b4dae3e9ed", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnutls28/libgnutls30_3.8.3-1ubuntu1_arm64.deb", - "version": "3.8.3-1ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libunistring5_1.1-2_arm64", - "name": "libunistring5", - "sha256": "caf4c2c543f9204ff05308966440030d0878ab639ffbbbd667d160b64e1ee645", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libu/libunistring/libunistring5_1.1-2_arm64.deb", - "version": "1.1-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libtasn1-6_4.19.0-3_arm64", - "name": "libtasn1-6", - "sha256": "6ee67d52a802f55d419b52125796407d36a6e731f21f8f5d29101a2086d521bd", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libt/libtasn1-6/libtasn1-6_4.19.0-3_arm64.deb", - "version": "4.19.0-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libp11-kit0_0.25.3-4ubuntu1_arm64", - "name": "libp11-kit0", - "sha256": "1d2e7b8b7755f3a0fccec3d5ef0248a98f17cef0e352f2ff4a2f00a8fe30561e", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/p11-kit/libp11-kit0_0.25.3-4ubuntu1_arm64.deb", - "version": "0.25.3-4ubuntu1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libffi8_3.4.6-1_arm64", - "name": "libffi8", - "sha256": "420c53c1715064d8dd8c04805d43e9ed422455d09185aecc77ec45295d326bcc", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libf/libffi/libffi8_3.4.6-1_arm64.deb", - "version": "3.4.6-1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnettle8_3.9.1-2_arm64", - "name": "libnettle8", - "sha256": "0d8860e05b6d440b34edbf46e88db2bfc6298063285b3f9eab567f8aa1af7983", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libnettle8_3.9.1-2_arm64.deb", - "version": "3.9.1-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libidn2-0_2.3.7-2_arm64", - "name": "libidn2-0", - "sha256": "68e9d51078a345540829cd4ae4d95912f1c3ec3aaf454984e3393081d8d92e6f", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libi/libidn2/libidn2-0_2.3.7-2_arm64.deb", - "version": "2.3.7-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libhogweed6_3.9.1-2_arm64", - "name": "libhogweed6", - "sha256": "6b378b847a96dd187789c02a314ea6aa02a9894f53fcbcf166b1f4a7383d596a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libhogweed6_3.9.1-2_arm64.deb", - "version": "3.9.1-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "ubuntu-keyring_2023.11.28.1_arm64", - "name": "ubuntu-keyring", - "sha256": "36de43b15853ccae0028e9a767613770c704833f82586f28eb262f0311adb8a8", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/u/ubuntu-keyring/ubuntu-keyring_2023.11.28.1_all.deb", - "version": "2023.11.28.1" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libapt-pkg6.0_2.7.12_arm64", - "name": "libapt-pkg6.0", - "sha256": "74a6337693c313bb4b563fcf829b06b5e209827bf91ed202e5407490e0ec5d26", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/libapt-pkg6.0_2.7.12_arm64.deb", - "version": "2.7.12" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libxxhash0_0.8.2-2_arm64", - "name": "libxxhash0", - "sha256": "24c2da6d81871201d5a1e0bf5e718314438cad697d5f445bf579c37120331896", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xxhash/libxxhash0_0.8.2-2_arm64.deb", - "version": "0.8.2-2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libudev1_255.2-3ubuntu2_arm64", - "name": "libudev1", - "sha256": "db9af267ca5e6148c9b6328dcb98643e0e7729f208e95916042aa87f363c2078", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libudev1_255.2-3ubuntu2_arm64.deb", - "version": "255.2-3ubuntu2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "gpgv_2.4.4-2ubuntu7_arm64", - "name": "gpgv", - "sha256": "0b536711c2b86f7f793626df517eae887c9ac4c0582f3f50966ac5fa3ac62fb5", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnupg2/gpgv_2.4.4-2ubuntu7_arm64.deb", - "version": "2.4.4-2ubuntu7" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libnpth0_1.6-3build2_arm64", - "name": "libnpth0", - "sha256": "433259a1f7ef32e9dcc83c5e2c596cae5571eefd0131e3c44c52fb58f81d6b7c", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/npth/libnpth0_1.6-3build2_arm64.deb", - "version": "1.6-3build2" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libassuan0_2.5.6-1_arm64", - "name": "libassuan0", - "sha256": "b93a9d3e3351269fb4e612e5a4b42b14f068514be40897e484170ac82bb6d7b7", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/liba/libassuan/libassuan0_2.5.6-1_arm64.deb", - "version": "2.5.6-1" - }, - { - "arch": "arm64", - "dependencies": [ - { - "key": "libperl5.38_5.38.2-3_arm64", - "name": "libperl5.38", - "version": "5.38.2-3" - }, - { - "key": "perl-modules-5.38_5.38.2-3_arm64", - "name": "perl-modules-5.38", - "version": "5.38.2-3" - }, - { - "key": "perl-base_5.38.2-3_arm64", - "name": "perl-base", - "version": "5.38.2-3" - }, - { - "key": "dpkg_1.22.4ubuntu5_arm64", - "name": "dpkg", - "version": "1.22.4ubuntu5" - }, - { - "key": "tar_1.35-p-dfsg-3_arm64", - "name": "tar", - "version": "1.35+dfsg-3" - }, - { - "key": "libselinux1_3.5-2build1_arm64", - "name": "libselinux1", - "version": "3.5-2build1" - }, - { - "key": "libpcre2-8-0_10.42-4ubuntu1_arm64", - "name": "libpcre2-8-0", - "version": "10.42-4ubuntu1" - }, - { - "key": "libc6_2.39-0ubuntu2_arm64", - "name": "libc6", - "version": "2.39-0ubuntu2" - }, - { - "key": "libgcc-s1_14-20240221-2.1ubuntu1_arm64", - "name": "libgcc-s1", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "gcc-14-base_14-20240221-2.1ubuntu1_arm64", - "name": "gcc-14-base", - "version": "14-20240221-2.1ubuntu1" - }, - { - "key": "libacl1_2.3.2-1_arm64", - "name": "libacl1", - "version": "2.3.2-1" - }, - { - "key": "zlib1g_1-1.3.dfsg-3ubuntu1_arm64", - "name": "zlib1g", - "version": "1:1.3.dfsg-3ubuntu1" - }, - { - "key": "libzstd1_1.5.5-p-dfsg2-2_arm64", - "name": "libzstd1", - "version": "1.5.5+dfsg2-2" - }, - { - "key": "libmd0_1.1.0-2_arm64", - "name": "libmd0", - "version": "1.1.0-2" - }, - { - "key": "liblzma5_5.4.5-0.3_arm64", - "name": "liblzma5", - "version": "5.4.5-0.3" - }, - { - "key": "libbz2-1.0_1.0.8-5ubuntu1_arm64", - "name": "libbz2-1.0", - "version": "1.0.8-5ubuntu1" - }, - { - "key": "libcrypt1_1-4.4.36-4_arm64", - "name": "libcrypt1", - "version": "1:4.4.36-4" - }, - { - "key": "libgdbm6_1.23-5_arm64", - "name": "libgdbm6", - "version": "1.23-5" - }, - { - "key": "libgdbm-compat4_1.23-5_arm64", - "name": "libgdbm-compat4", - "version": "1.23-5" - }, - { - "key": "libdb5.3_5.3.28-p-dfsg2-4_arm64", - "name": "libdb5.3", - "version": "5.3.28+dfsg2-4" - } - ], - "key": "perl_5.38.2-3_arm64", - "name": "perl", - "sha256": "649812e92fd35d1cd3d8b71233a7fda8e56fb7da761376904607d8233a37cbac", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl_5.38.2-3_arm64.deb", - "version": "5.38.2-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libperl5.38_5.38.2-3_arm64", - "name": "libperl5.38", - "sha256": "c6256802c884974ed62e3e11bbee7c36cc0075679c5f7b6289692a7ed036476a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/libperl5.38_5.38.2-3_arm64.deb", - "version": "5.38.2-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-modules-5.38_5.38.2-3_arm64", - "name": "perl-modules-5.38", - "sha256": "127dd76635d1d3d135caa5bbc4d5ae96a1c88a36c21313602c4c416270040849", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-modules-5.38_5.38.2-3_all.deb", - "version": "5.38.2-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "perl-base_5.38.2-3_arm64", - "name": "perl-base", - "sha256": "b502331d6d9198caec0df1230980cbb2a0ee8b08edbf1a73f776d87f2377c293", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-base_5.38.2-3_arm64.deb", - "version": "5.38.2-3" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm6_1.23-5_arm64", - "name": "libgdbm6", - "sha256": "ef9cecd3ce774b709a226f234eaf11b66a9a1aeae96f5d14600882192aab304a", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm6_1.23-5_arm64.deb", - "version": "1.23-5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libgdbm-compat4_1.23-5_arm64", - "name": "libgdbm-compat4", - "sha256": "eb0ada72e019ce958cc01c09419a61215f6c9ffb468eed59944dce21060f6354", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm-compat4_1.23-5_arm64.deb", - "version": "1.23-5" - }, - { - "arch": "arm64", - "dependencies": [], - "key": "libdb5.3_5.3.28-p-dfsg2-4_arm64", - "name": "libdb5.3", - "sha256": "522c7f6719d3e950eb6e7809af4c072a137c2c29927a0167745a997582ea7cde", - "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg2-4_arm64.deb", - "version": "5.3.28+dfsg2-4" + "packages": { + "apt": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "gpgv", + "version": "2.4.4-2ubuntu7" + }, + { + "name": "libapt-pkg6.0", + "version": "2.7.12" + }, + { + "name": "libassuan0", + "version": "2.5.6-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcap2", + "version": "1:2.66-5ubuntu1" + }, + { + "name": "libffi8", + "version": "3.4.6-1" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgcrypt20", + "version": "1.10.3-2" + }, + { + "name": "libgmp10", + "version": "2:6.3.0+dfsg-2ubuntu4" + }, + { + "name": "libgnutls30", + "version": "3.8.3-1ubuntu1" + }, + { + "name": "libgpg-error0", + "version": "1.47-3build1" + }, + { + "name": "libhogweed6", + "version": "3.9.1-2" + }, + { + "name": "libidn2-0", + "version": "2.3.7-2" + }, + { + "name": "liblz4-1", + "version": "1.9.4-1" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libnettle8", + "version": "3.9.1-2" + }, + { + "name": "libnpth0", + "version": "1.6-3build2" + }, + { + "name": "libp11-kit0", + "version": "0.25.3-4ubuntu1" + }, + { + "name": "libseccomp2", + "version": "2.5.5-1ubuntu1" + }, + { + "name": "libstdc++6", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libsystemd0", + "version": "255.2-3ubuntu2" + }, + { + "name": "libtasn1-6", + "version": "4.19.0-3" + }, + { + "name": "libudev1", + "version": "255.2-3ubuntu2" + }, + { + "name": "libunistring5", + "version": "1.1-2" + }, + { + "name": "libxxhash0", + "version": "0.8.2-2" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "ubuntu-keyring", + "version": "2023.11.28.1" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "apt", + "sha256": "ffde38ea5a2d42045732a83633737741259cc517a8c52e3c2776b0b4ea75843d", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/apt_2.7.12_amd64.deb", + "version": "2.7.12" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "gpgv", + "version": "2.4.4-2ubuntu7" + }, + { + "name": "libapt-pkg6.0", + "version": "2.7.12" + }, + { + "name": "libassuan0", + "version": "2.5.6-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcap2", + "version": "1:2.66-5ubuntu1" + }, + { + "name": "libffi8", + "version": "3.4.6-1" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgcrypt20", + "version": "1.10.3-2" + }, + { + "name": "libgmp10", + "version": "2:6.3.0+dfsg-2ubuntu4" + }, + { + "name": "libgnutls30", + "version": "3.8.3-1ubuntu1" + }, + { + "name": "libgpg-error0", + "version": "1.47-3build1" + }, + { + "name": "libhogweed6", + "version": "3.9.1-2" + }, + { + "name": "libidn2-0", + "version": "2.3.7-2" + }, + { + "name": "liblz4-1", + "version": "1.9.4-1" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libnettle8", + "version": "3.9.1-2" + }, + { + "name": "libnpth0", + "version": "1.6-3build2" + }, + { + "name": "libp11-kit0", + "version": "0.25.3-4ubuntu1" + }, + { + "name": "libseccomp2", + "version": "2.5.5-1ubuntu1" + }, + { + "name": "libstdc++6", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libsystemd0", + "version": "255.2-3ubuntu2" + }, + { + "name": "libtasn1-6", + "version": "4.19.0-3" + }, + { + "name": "libudev1", + "version": "255.2-3ubuntu2" + }, + { + "name": "libunistring5", + "version": "1.1-2" + }, + { + "name": "libxxhash0", + "version": "0.8.2-2" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "ubuntu-keyring", + "version": "2023.11.28.1" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "apt", + "sha256": "a0f922f9133bff9b87f5887757434ab94c04efe9fb3f96ecb0a9acca845f5b28", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/apt_2.7.12_arm64.deb", + "version": "2.7.12" + } + }, + "base-files": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "base-files", + "sha256": "d2fe9680dea0b8f6d6d675eceaf2bf00da8d1b3da1604f0e3b47ee26866feadd", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/base-files/base-files_13ubuntu7_amd64.deb", + "version": "13ubuntu7" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "base-files", + "sha256": "fca1f68e39dca654190f4a3bd4879659f90781d3d509c3882db0e75c1ce2ebc6", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/base-files/base-files_13ubuntu7_arm64.deb", + "version": "13ubuntu7" + } + }, + "bash": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "base-files", + "version": "13ubuntu7" + }, + { + "name": "debianutils", + "version": "5.16" + }, + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.36-4" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libtinfo6", + "version": "6.4+20240113-1ubuntu1" + } + ], + "name": "bash", + "sha256": "ad21b2dbc6991a08c62e519d920a326f23f3ee2a0ac91c6c448978595d5ae685", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bash/bash_5.2.21-2ubuntu2_amd64.deb", + "version": "5.2.21-2ubuntu2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "base-files", + "version": "13ubuntu7" + }, + { + "name": "debianutils", + "version": "5.16" + }, + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.36-4" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libtinfo6", + "version": "6.4+20240113-1ubuntu1" + } + ], + "name": "bash", + "sha256": "f6e49a0e27e9f73a10a95cfce04f5449834cf5c2f0f12caffa273297385a0f46", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bash/bash_5.2.21-2ubuntu2_arm64.deb", + "version": "5.2.21-2ubuntu2" + } + }, + "coreutils": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libattr1", + "version": "1:2.5.2-1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgmp10", + "version": "2:6.3.0+dfsg-2ubuntu4" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + }, + { + "name": "libssl3", + "version": "3.0.10-1ubuntu4" + } + ], + "name": "coreutils", + "sha256": "12f958744332b290cb5d577cb5304c09f5fceddc776a2ea29329c1cca2628567", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/c/coreutils/coreutils_9.4-2ubuntu4_amd64.deb", + "version": "9.4-2ubuntu4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libattr1", + "version": "1:2.5.2-1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgmp10", + "version": "2:6.3.0+dfsg-2ubuntu4" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + } + ], + "name": "coreutils", + "sha256": "a73b6f3b14c2578c12ba8ed8c7e55df8b94aa60088713b85ecaa56149f704788", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/c/coreutils/coreutils_9.4-2ubuntu4_arm64.deb", + "version": "9.4-2ubuntu4" + } + }, + "debianutils": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "debianutils", + "sha256": "b1c3597e81831cf3d37cf84f06afaf05d90a55d717f643cead55fe4b223cc04a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/debianutils/debianutils_5.16_amd64.deb", + "version": "5.16" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "debianutils", + "sha256": "59efa8456b8f2dd76860ba306dbc397673170d9dfa969f58fba8891329a7d5b5", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/debianutils/debianutils_5.16_arm64.deb", + "version": "5.16" + } + }, + "dpkg": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libmd0", + "version": "1.1.0-2" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "tar", + "version": "1.35+dfsg-3" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "dpkg", + "sha256": "15b3fa045cb0ab82682aa581219d24a6dd7e74dd0dd5c03b35a5278eab1ec2fa", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/dpkg/dpkg_1.22.4ubuntu5_amd64.deb", + "version": "1.22.4ubuntu5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libmd0", + "version": "1.1.0-2" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "tar", + "version": "1.35+dfsg-3" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "dpkg", + "sha256": "352d489b2b457728a2cfd253172080729ce3ac635bc8cf9809acb9c92e2dd149", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/dpkg/dpkg_1.22.4ubuntu5_arm64.deb", + "version": "1.22.4ubuntu5" + } + }, + "gcc-14-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "gcc-14-base", + "sha256": "2e1ae2c2ccf2d1b6d09c657af1492a8b7a348e899f9ad25d4925b170571a0887", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/gcc-14-base_14-20240221-2.1ubuntu1_amd64.deb", + "version": "14-20240221-2.1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "gcc-14-base", + "sha256": "9886cc5eec6df002429338e26ce1670ada931f9b91fe147eee483ae11cc9cdda", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/gcc-14-base_14-20240221-2.1ubuntu1_arm64.deb", + "version": "14-20240221-2.1ubuntu1" + } + }, + "gpgv": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "gpgv", + "sha256": "5e34a3132f9ecff5276e2d443f85f1fbfc8fe8aa3964dc6bd089123b137676e0", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnupg2/gpgv_2.4.4-2ubuntu7_amd64.deb", + "version": "2.4.4-2ubuntu7" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "gpgv", + "sha256": "0b536711c2b86f7f793626df517eae887c9ac4c0582f3f50966ac5fa3ac62fb5", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnupg2/gpgv_2.4.4-2ubuntu7_arm64.deb", + "version": "2.4.4-2ubuntu7" + } + }, + "libacl1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libacl1", + "sha256": "275cc58e50e49b8226f1ca705ac79bea3997b6e15b59e76cd2ade7d753a9298f", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/acl/libacl1_2.3.2-1_amd64.deb", + "version": "2.3.2-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libacl1", + "sha256": "1e683ce20074199ed9dd9c4ffdbb5bf30f5e494d9c9452512f8709a9fbe76562", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/acl/libacl1_2.3.2-1_arm64.deb", + "version": "2.3.2-1" + } + }, + "libapt-pkg6.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "6eafb79a865ba21b3e33fc9e49e6c3d09e336dd403d87647bcbe0cd3a614871a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/libapt-pkg6.0_2.7.12_amd64.deb", + "version": "2.7.12" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libapt-pkg6.0", + "sha256": "74a6337693c313bb4b563fcf829b06b5e209827bf91ed202e5407490e0ec5d26", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/apt/libapt-pkg6.0_2.7.12_arm64.deb", + "version": "2.7.12" + } + }, + "libassuan0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libassuan0", + "sha256": "c976b785f81b23888bc39a16f9f3cfaf031536ff23f0b6fb24d4812019f20138", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/liba/libassuan/libassuan0_2.5.6-1_amd64.deb", + "version": "2.5.6-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libassuan0", + "sha256": "b93a9d3e3351269fb4e612e5a4b42b14f068514be40897e484170ac82bb6d7b7", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/liba/libassuan/libassuan0_2.5.6-1_arm64.deb", + "version": "2.5.6-1" + } + }, + "libattr1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libattr1", + "sha256": "38dbd3d90e88529f6f6e97f5564f333e38db8d20a704c7e8f484ed8705767382", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/attr/libattr1_2.5.2-1_amd64.deb", + "version": "1:2.5.2-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libattr1", + "sha256": "0cfd6967c0ca25b16db868d819f47ffcca5d43aa22e3227c7be08626dc73d7cb", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/a/attr/libattr1_2.5.2-1_arm64.deb", + "version": "1:2.5.2-1" + } + }, + "libbz2-1.0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "8925b88fac7e8162a5c9dfcb078bb33932cb8aee51bb33db209ca97840f65369", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-5ubuntu1_amd64.deb", + "version": "1.0.8-5ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libbz2-1.0", + "sha256": "0c479f94c97d2ab5641bf7b967d37daad61c5e8c4ea998ebd710d2125d4eb027", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-5ubuntu1_arm64.deb", + "version": "1.0.8-5ubuntu1" + } + }, + "libc6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libc6", + "sha256": "4bd128b75db38b7e9147c0333908e2c7fbc41631f284360f95118fe1c6c162f3", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/glibc/libc6_2.39-0ubuntu2_amd64.deb", + "version": "2.39-0ubuntu2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libc6", + "sha256": "522238223618b52aae530256dfaea19e746649c382983d99c9e79d1f7e6afeef", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/glibc/libc6_2.39-0ubuntu2_arm64.deb", + "version": "2.39-0ubuntu2" + } + }, + "libcap2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcap2", + "sha256": "ac02d261cf8fe7be4cef3e43ff67906da85de4e359ed5c4199b707bdeff0ab62", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libc/libcap2/libcap2_2.66-5ubuntu1_amd64.deb", + "version": "1:2.66-5ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcap2", + "sha256": "f9e54bda3c9b38cdd95dccfaca37ba2a46220414116506f256e235307d5b7209", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libc/libcap2/libcap2_2.66-5ubuntu1_arm64.deb", + "version": "1:2.66-5ubuntu1" + } + }, + "libcrypt1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "51ad101808e6a9d6b9c21bcf0b6f27c8ab34f6af53184fc6305f96770cc3a8d9", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libx/libxcrypt/libcrypt1_4.4.36-4_amd64.deb", + "version": "1:4.4.36-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libcrypt1", + "sha256": "3dd680dd15a31e7a023f47008b99b1aceed3104a01afacb775fa888a8fdb9f90", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libx/libxcrypt/libcrypt1_4.4.36-4_arm64.deb", + "version": "1:4.4.36-4" + } + }, + "libdb5.3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "439d822a4d19edb3ea466b3ad085d1783d2319611061090df4bef2c562bc625e", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg2-4_amd64.deb", + "version": "5.3.28+dfsg2-4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libdb5.3", + "sha256": "522c7f6719d3e950eb6e7809af4c072a137c2c29927a0167745a997582ea7cde", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg2-4_arm64.deb", + "version": "5.3.28+dfsg2-4" + } + }, + "libffi8": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libffi8", + "sha256": "bd30f638a82381979c4c07b3acabb7fccaeed7f9b094e27c9a676d2e94572b14", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libf/libffi/libffi8_3.4.6-1_amd64.deb", + "version": "3.4.6-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libffi8", + "sha256": "420c53c1715064d8dd8c04805d43e9ed422455d09185aecc77ec45295d326bcc", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libf/libffi/libffi8_3.4.6-1_arm64.deb", + "version": "3.4.6-1" + } + }, + "libgcc-s1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "ffc195df7e897aaec468e8f62b08660cc711c7449113102491fdd6baa6901f6d", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libgcc-s1_14-20240221-2.1ubuntu1_amd64.deb", + "version": "14-20240221-2.1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcc-s1", + "sha256": "d3aec36dbcea7dcf910f7ece43d3e31260bb0cd0a2b58808efaa999af1798511", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libgcc-s1_14-20240221-2.1ubuntu1_arm64.deb", + "version": "14-20240221-2.1ubuntu1" + } + }, + "libgcrypt20": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "ad2547e30a16c475e1eb4ac6ba77d06a261fdeb5af4407c4b1655ce1ad38dff4", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgcrypt20/libgcrypt20_1.10.3-2_amd64.deb", + "version": "1.10.3-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgcrypt20", + "sha256": "fc9bf9dc690198d52aab5cbd325ce9b7f6ff2060cea320e35e5be741bcdbd863", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgcrypt20/libgcrypt20_1.10.3-2_arm64.deb", + "version": "1.10.3-2" + } + }, + "libgdbm-compat4": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "788b045f2ed29aad67e3e4dec448c71ec12c1e5f653a1b36422b3fb2082409dc", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm-compat4_1.23-5_amd64.deb", + "version": "1.23-5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm-compat4", + "sha256": "eb0ada72e019ce958cc01c09419a61215f6c9ffb468eed59944dce21060f6354", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm-compat4_1.23-5_arm64.deb", + "version": "1.23-5" + } + }, + "libgdbm6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "c3f20aaeeb16d33907b08bd5ca8d179e3d03cfd90d48a631954011179e19225a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm6_1.23-5_amd64.deb", + "version": "1.23-5" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgdbm6", + "sha256": "ef9cecd3ce774b709a226f234eaf11b66a9a1aeae96f5d14600882192aab304a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gdbm/libgdbm6_1.23-5_arm64.deb", + "version": "1.23-5" + } + }, + "libgmp10": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgmp10", + "sha256": "b0ede0faa0154c946ad5602e0d613b3266ff6ade089b0e939f23ad6e43964872", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gmp/libgmp10_6.3.0+dfsg-2ubuntu4_amd64.deb", + "version": "2:6.3.0+dfsg-2ubuntu4" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgmp10", + "sha256": "8f35d6d5564801218d19c864361726bf9ba8a171896e1c183dd7ecb70973592b", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gmp/libgmp10_6.3.0+dfsg-2ubuntu4_arm64.deb", + "version": "2:6.3.0+dfsg-2ubuntu4" + } + }, + "libgnutls30": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "9638b9847ba94bbf3a81ddd491911aa29e6c8eb2cd9f998b38f4599fbbf76c99", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnutls28/libgnutls30_3.8.3-1ubuntu1_amd64.deb", + "version": "3.8.3-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgnutls30", + "sha256": "5cd70f6fa56513bb91144bb3877d20315cd01ab57d1ff862762983b4dae3e9ed", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gnutls28/libgnutls30_3.8.3-1ubuntu1_arm64.deb", + "version": "3.8.3-1ubuntu1" + } + }, + "libgpg-error0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "2d033b832a3b537538c9bd13c35ecafc7b78aa8c4d7b28859e65d1a6528e2d92", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgpg-error/libgpg-error0_1.47-3build1_amd64.deb", + "version": "1.47-3build1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libgpg-error0", + "sha256": "431841c82321886700592874b5042f64908e53bb9560eff351664a9c38a22eaf", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libg/libgpg-error/libgpg-error0_1.47-3build1_arm64.deb", + "version": "1.47-3build1" + } + }, + "libhogweed6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "9644344e343eea3d82f35c4d70e33cfc9b36e139f109a78aaf7a6feb9a3126f2", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libhogweed6_3.9.1-2_amd64.deb", + "version": "3.9.1-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libhogweed6", + "sha256": "6b378b847a96dd187789c02a314ea6aa02a9894f53fcbcf166b1f4a7383d596a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libhogweed6_3.9.1-2_arm64.deb", + "version": "3.9.1-2" + } + }, + "libidn2-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "6a00f2cbdfd1e628556bcbc4c1edab07066f6c47f4e75657d8e8b6900704312c", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libi/libidn2/libidn2-0_2.3.7-2_amd64.deb", + "version": "2.3.7-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libidn2-0", + "sha256": "68e9d51078a345540829cd4ae4d95912f1c3ec3aaf454984e3393081d8d92e6f", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libi/libidn2/libidn2-0_2.3.7-2_arm64.deb", + "version": "2.3.7-2" + } + }, + "liblz4-1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "8c2ac2844f58875ebd1c78cc397ef3889d58050b40299f5dc267d7a77957dc48", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/l/lz4/liblz4-1_1.9.4-1_amd64.deb", + "version": "1.9.4-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblz4-1", + "sha256": "3ca249f3f32308f8465b9c7447517b1e860539609e590d98b45c1878fad83c55", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/l/lz4/liblz4-1_1.9.4-1_arm64.deb", + "version": "1.9.4-1" + } + }, + "liblzma5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "liblzma5", + "sha256": "02bb3148ccfa7408b3f12833aa483c2dd4e3a6ee647fe8bbc3bc60ef50761ead", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xz-utils/liblzma5_5.4.5-0.3_amd64.deb", + "version": "5.4.5-0.3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "liblzma5", + "sha256": "d0e936978175a45bb317a5ca17c29f0d610126e21f5ce6900f107244a6e333b6", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xz-utils/liblzma5_5.4.5-0.3_arm64.deb", + "version": "5.4.5-0.3" + } + }, + "libmd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libmd0", + "sha256": "128be9909c4ce8f2126e5f3d1a04fc11510c519409d64d324d724aae8347cd13", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libm/libmd/libmd0_1.1.0-2_amd64.deb", + "version": "1.1.0-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libmd0", + "sha256": "884597eb942118b246a79e68aa619e3b6d22125e5cd7948557b542b6e70bdb54", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libm/libmd/libmd0_1.1.0-2_arm64.deb", + "version": "1.1.0-2" + } + }, + "libncurses6": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libtinfo6", + "version": "6.4+20240113-1ubuntu1" + } + ], + "name": "libncurses6", + "sha256": "b5669082396328597c62e51caeb2ee258015e92bd87f6670acee9f396a30b978", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libncurses6_6.4+20240113-1ubuntu1_amd64.deb", + "version": "6.4+20240113-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libtinfo6", + "version": "6.4+20240113-1ubuntu1" + } + ], + "name": "libncurses6", + "sha256": "5cb643f9a938f783a72b85c2c102b977e7e2d137c0d3564ff1df6652de89296f", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libncurses6_6.4+20240113-1ubuntu1_arm64.deb", + "version": "6.4+20240113-1ubuntu1" + } + }, + "libnettle8": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnettle8", + "sha256": "c38dd77f817639a2d524956a391393f7d3cdca38724e92ed6d04768fa0a282e9", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libnettle8_3.9.1-2_amd64.deb", + "version": "3.9.1-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnettle8", + "sha256": "0d8860e05b6d440b34edbf46e88db2bfc6298063285b3f9eab567f8aa1af7983", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/nettle/libnettle8_3.9.1-2_arm64.deb", + "version": "3.9.1-2" + } + }, + "libnpth0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libnpth0", + "sha256": "e6e05ed1c4ccfbdc4ca3af2696dadbd0313b5287221ecafa306911da6fbbf89a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/npth/libnpth0_1.6-3build2_amd64.deb", + "version": "1.6-3build2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libnpth0", + "sha256": "433259a1f7ef32e9dcc83c5e2c596cae5571eefd0131e3c44c52fb58f81d6b7c", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/npth/libnpth0_1.6-3build2_arm64.deb", + "version": "1.6-3build2" + } + }, + "libp11-kit0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "55e257759c223816b23af975d792519c738db9b0e0687c071429db74e1912aa3", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/p11-kit/libp11-kit0_0.25.3-4ubuntu1_amd64.deb", + "version": "0.25.3-4ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libp11-kit0", + "sha256": "1d2e7b8b7755f3a0fccec3d5ef0248a98f17cef0e352f2ff4a2f00a8fe30561e", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/p11-kit/libp11-kit0_0.25.3-4ubuntu1_arm64.deb", + "version": "0.25.3-4ubuntu1" + } + }, + "libpcre2-8-0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "3fbf30adf862c4e510a9260c7666a1a5326bc5fed8021090bc75a4ecbaa52fa4", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/pcre2/libpcre2-8-0_10.42-4ubuntu1_amd64.deb", + "version": "10.42-4ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libpcre2-8-0", + "sha256": "14214893ef06c573ad2e6d99ab6cebbaf26c204818cf898ea7abc8b0339f1791", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/pcre2/libpcre2-8-0_10.42-4ubuntu1_arm64.deb", + "version": "10.42-4ubuntu1" + } + }, + "libperl5.38": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libperl5.38", + "sha256": "62a161cb99621bb3e69b51bd1ff00ff4ad77cbd357d525182830571d52656cf3", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/libperl5.38_5.38.2-3_amd64.deb", + "version": "5.38.2-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libperl5.38", + "sha256": "c6256802c884974ed62e3e11bbee7c36cc0075679c5f7b6289692a7ed036476a", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/libperl5.38_5.38.2-3_arm64.deb", + "version": "5.38.2-3" + } + }, + "libseccomp2": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "23b58d5dbae7f6875955a61afd782aade21869015a2a710bf3deef6894a691fb", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libseccomp/libseccomp2_2.5.5-1ubuntu1_amd64.deb", + "version": "2.5.5-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libseccomp2", + "sha256": "b11084b3907453470014cc95d30e3217c0c655b2c4a29891a3ab27ebfeaa9674", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libseccomp/libseccomp2_2.5.5-1ubuntu1_arm64.deb", + "version": "2.5.5-1ubuntu1" + } + }, + "libselinux1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libselinux1", + "sha256": "139f29430e3d265fc8d9b9da7dd3f704ee3f1838c37a5d512cf265ec0b4eba28", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libselinux/libselinux1_3.5-2build1_amd64.deb", + "version": "3.5-2build1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libselinux1", + "sha256": "9d22b9775025031775c8cf77568b427e7f7bff49d097b5c9885657edfaf71193", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libs/libselinux/libselinux1_3.5-2build1_arm64.deb", + "version": "3.5-2build1" + } + }, + "libssl3": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libssl3", + "sha256": "8228c52b80fc7c39619b4d2246a0fd9beb838272c848fc9718062af7102324a6", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/o/openssl/libssl3_3.0.10-1ubuntu4_amd64.deb", + "version": "3.0.10-1ubuntu4" + } + }, + "libstdc++6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "3311c13f2e26c20369e937051c78f07c495f6112a0d6c32d3285b47021457ec2", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libstdc++6_14-20240221-2.1ubuntu1_amd64.deb", + "version": "14-20240221-2.1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libstdc++6", + "sha256": "538f5a9f9b7bfdff1e0317b6d1e21a7b6fdef8d82d07036c89716e35266a4cbf", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/g/gcc-14/libstdc++6_14-20240221-2.1ubuntu1_arm64.deb", + "version": "14-20240221-2.1ubuntu1" + } + }, + "libsystemd0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "2b795ada9003c3d43fea41ede816fe9ffeac9e283c2cdc627ea41a123b110f4f", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libsystemd0_255.2-3ubuntu2_amd64.deb", + "version": "255.2-3ubuntu2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libsystemd0", + "sha256": "7cccc1271839ac53030490b84de797239db5bf53bb623a87e8762385b17136a1", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libsystemd0_255.2-3ubuntu2_arm64.deb", + "version": "255.2-3ubuntu2" + } + }, + "libtasn1-6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "84f16110976e40a7aaa11eb0a291bd85f4002fb8b87f6355ff2f8340d9cf4a62", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libt/libtasn1-6/libtasn1-6_4.19.0-3_amd64.deb", + "version": "4.19.0-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtasn1-6", + "sha256": "6ee67d52a802f55d419b52125796407d36a6e731f21f8f5d29101a2086d521bd", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libt/libtasn1-6/libtasn1-6_4.19.0-3_arm64.deb", + "version": "4.19.0-3" + } + }, + "libtinfo6": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "80378382ba4f672f8d5579cb953fc43edfe246eb96ee4d453af1ac3d7768c8aa", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libtinfo6_6.4+20240113-1ubuntu1_amd64.deb", + "version": "6.4+20240113-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libtinfo6", + "sha256": "4a190c05ea7e919e4e796e1321f7923158048e1bdc58c71c11692628f6064bcb", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/libtinfo6_6.4+20240113-1ubuntu1_arm64.deb", + "version": "6.4+20240113-1ubuntu1" + } + }, + "libudev1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libudev1", + "sha256": "c84b059e2c070796cd0a92f5645801a12be726860b4f52153bede2819bbaa980", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libudev1_255.2-3ubuntu2_amd64.deb", + "version": "255.2-3ubuntu2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libudev1", + "sha256": "db9af267ca5e6148c9b6328dcb98643e0e7729f208e95916042aa87f363c2078", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/s/systemd/libudev1_255.2-3ubuntu2_arm64.deb", + "version": "255.2-3ubuntu2" + } + }, + "libunistring5": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libunistring5", + "sha256": "cbdbbbf7552e953e3b58c512eb99891fa3ea8b2847a1a8194c5fb9abdb7066b5", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libu/libunistring/libunistring5_1.1-2_amd64.deb", + "version": "1.1-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libunistring5", + "sha256": "caf4c2c543f9204ff05308966440030d0878ab639ffbbbd667d160b64e1ee645", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libu/libunistring/libunistring5_1.1-2_arm64.deb", + "version": "1.1-2" + } + }, + "libxxhash0": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "fbee58694f740de786455ceb5b34550c3ceb067df59fddf0e9d7d713528eb9cb", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xxhash/libxxhash0_0.8.2-2_amd64.deb", + "version": "0.8.2-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libxxhash0", + "sha256": "24c2da6d81871201d5a1e0bf5e718314438cad697d5f445bf579c37120331896", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/x/xxhash/libxxhash0_0.8.2-2_arm64.deb", + "version": "0.8.2-2" + } + }, + "libzstd1": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "libzstd1", + "sha256": "7926bb8267652dd7df2c78c5e7541df6e62dbc10ed2efd4c2b869c75538b2ff1", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2_amd64.deb", + "version": "1.5.5+dfsg2-2" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "libzstd1", + "sha256": "a6c2bcacff770685b3ef262943bbb3ce2060b9de83e1698590f5b576d5e7827e", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2_arm64.deb", + "version": "1.5.5+dfsg2-2" + } + }, + "ncurses-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "1ea2be0cadf1299e5ed2967269c01e1935ddf5a733a496893b4334994aea2755", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/ncurses-base_6.4+20240113-1ubuntu1_all.deb", + "version": "6.4+20240113-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "ncurses-base", + "sha256": "1ea2be0cadf1299e5ed2967269c01e1935ddf5a733a496893b4334994aea2755", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/n/ncurses/ncurses-base_6.4+20240113-1ubuntu1_all.deb", + "version": "6.4+20240113-1ubuntu1" + } + }, + "perl": { + "amd64": { + "arch": "amd64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.22.4ubuntu5" + }, + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.36-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg2-4" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgdbm-compat4", + "version": "1.23-5" + }, + { + "name": "libgdbm6", + "version": "1.23-5" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libmd0", + "version": "1.1.0-2" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libperl5.38", + "version": "5.38.2-3" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "perl-base", + "version": "5.38.2-3" + }, + { + "name": "perl-modules-5.38", + "version": "5.38.2-3" + }, + { + "name": "tar", + "version": "1.35+dfsg-3" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "perl", + "sha256": "af6657fcbd23694120410423ad59bdf8d0ad5139e5e80cc10599b1a44706fdf6", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl_5.38.2-3_amd64.deb", + "version": "5.38.2-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [ + { + "name": "dpkg", + "version": "1.22.4ubuntu5" + }, + { + "name": "gcc-14-base", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libacl1", + "version": "2.3.2-1" + }, + { + "name": "libbz2-1.0", + "version": "1.0.8-5ubuntu1" + }, + { + "name": "libc6", + "version": "2.39-0ubuntu2" + }, + { + "name": "libcrypt1", + "version": "1:4.4.36-4" + }, + { + "name": "libdb5.3", + "version": "5.3.28+dfsg2-4" + }, + { + "name": "libgcc-s1", + "version": "14-20240221-2.1ubuntu1" + }, + { + "name": "libgdbm-compat4", + "version": "1.23-5" + }, + { + "name": "libgdbm6", + "version": "1.23-5" + }, + { + "name": "liblzma5", + "version": "5.4.5-0.3" + }, + { + "name": "libmd0", + "version": "1.1.0-2" + }, + { + "name": "libpcre2-8-0", + "version": "10.42-4ubuntu1" + }, + { + "name": "libperl5.38", + "version": "5.38.2-3" + }, + { + "name": "libselinux1", + "version": "3.5-2build1" + }, + { + "name": "libzstd1", + "version": "1.5.5+dfsg2-2" + }, + { + "name": "perl-base", + "version": "5.38.2-3" + }, + { + "name": "perl-modules-5.38", + "version": "5.38.2-3" + }, + { + "name": "tar", + "version": "1.35+dfsg-3" + }, + { + "name": "zlib1g", + "version": "1:1.3.dfsg-3ubuntu1" + } + ], + "name": "perl", + "sha256": "649812e92fd35d1cd3d8b71233a7fda8e56fb7da761376904607d8233a37cbac", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl_5.38.2-3_arm64.deb", + "version": "5.38.2-3" + } + }, + "perl-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-base", + "sha256": "bd0c5e1b72bdc400005330094101d83628604af5b132df4ea4132eb58e349aa0", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-base_5.38.2-3_amd64.deb", + "version": "5.38.2-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-base", + "sha256": "b502331d6d9198caec0df1230980cbb2a0ee8b08edbf1a73f776d87f2377c293", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-base_5.38.2-3_arm64.deb", + "version": "5.38.2-3" + } + }, + "perl-modules-5.38": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "perl-modules-5.38", + "sha256": "127dd76635d1d3d135caa5bbc4d5ae96a1c88a36c21313602c4c416270040849", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-modules-5.38_5.38.2-3_all.deb", + "version": "5.38.2-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "perl-modules-5.38", + "sha256": "127dd76635d1d3d135caa5bbc4d5ae96a1c88a36c21313602c4c416270040849", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/p/perl/perl-modules-5.38_5.38.2-3_all.deb", + "version": "5.38.2-3" + } + }, + "tar": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tar", + "sha256": "2fa676173c0076f59e423bd82d2ac00eba7c51fa1ae8903f09b88270b1c560ba", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tar/tar_1.35+dfsg-3_amd64.deb", + "version": "1.35+dfsg-3" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tar", + "sha256": "15ed5677151c6f224799e82f90515c77e744a68d99d2ea3d8bf2877e9effd575", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tar/tar_1.35+dfsg-3_arm64.deb", + "version": "1.35+dfsg-3" + } + }, + "tzdata": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "tzdata", + "sha256": "26cdb43f541d5b7d089d2c1cf7d50b4c5e630c79a6d4d6ce34e20dcace4f0d29", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tzdata/tzdata_2024a-1ubuntu1_all.deb", + "version": "2024a-1ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "tzdata", + "sha256": "26cdb43f541d5b7d089d2c1cf7d50b4c5e630c79a6d4d6ce34e20dcace4f0d29", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/t/tzdata/tzdata_2024a-1ubuntu1_all.deb", + "version": "2024a-1ubuntu1" + } + }, + "ubuntu-keyring": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "ubuntu-keyring", + "sha256": "36de43b15853ccae0028e9a767613770c704833f82586f28eb262f0311adb8a8", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/u/ubuntu-keyring/ubuntu-keyring_2023.11.28.1_all.deb", + "version": "2023.11.28.1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "ubuntu-keyring", + "sha256": "36de43b15853ccae0028e9a767613770c704833f82586f28eb262f0311adb8a8", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/u/ubuntu-keyring/ubuntu-keyring_2023.11.28.1_all.deb", + "version": "2023.11.28.1" + } + }, + "zlib1g": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "zlib1g", + "sha256": "35cfe44912765862374112e83c178c095448f247785772147c42c0c843b67c97", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3ubuntu1_amd64.deb", + "version": "1:1.3.dfsg-3ubuntu1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "zlib1g", + "sha256": "bb947ff78e0aee7477aeea1bc82a5db2e80f5b1322f460ecc06710200a16326f", + "url": "https://snapshot.ubuntu.com/ubuntu/20240301T030400Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3ubuntu1_arm64.deb", + "version": "1:1.3.dfsg-3ubuntu1" + } } - ], - "version": 1 + }, + "version": 2 } \ No newline at end of file From 0e6185136520f30d4959222c189166bb967015ae Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 13 Sep 2024 20:16:06 +0100 Subject: [PATCH 11/16] refactor: centralize all of the deb_import functionality in deb_import.bzl Refactor the package repo templates into their own methods and massively cleanup the `for`-loop in `_deb_package_index_impl`. IMHO overall now there's a much better and clear separation of concerns between the "index repo" (`apt/private/index.bzl`) and the "package repos" (`apt/private/deb_import.bzl`). --- apt/extensions.bzl | 4 +- apt/index.bzl | 6 +- apt/private/BUILD.bazel | 2 +- apt/private/deb_import.bzl | 64 +++++++++++++++- apt/private/index.bzl | 76 +++++-------------- ...age.BUILD.tmpl => package_arch.BUILD.tmpl} | 8 +- docs/apt.md | 4 +- 7 files changed, 93 insertions(+), 71 deletions(-) rename apt/private/{package.BUILD.tmpl => package_arch.BUILD.tmpl} (80%) diff --git a/apt/extensions.bzl b/apt/extensions.bzl index 225893f..e4a8456 100644 --- a/apt/extensions.bzl +++ b/apt/extensions.bzl @@ -48,7 +48,7 @@ def _distroless_extension(module_ctx): name = install.name, lock = install.lock, lock_content = lockf.as_json(), - package_template = install.package_template, + package_arch_build_template = install.package_arch_build_template, ) if mod.is_root: @@ -74,7 +74,7 @@ install = tag_class(attrs = { doc = """Whether dependencies of dependencies should be resolved and added to the lockfile.""", default = True, ), - "package_template": attr.label(doc = "(EXPERIMENTAL!) a template file for generated BUILD files."), + "package_arch_build_template": attr.label(doc = "(EXPERIMENTAL!) a template file for the generated package BUILD files per architecture."), }) apt = module_extension( diff --git a/apt/index.bzl b/apt/index.bzl index e8fe772..150bbc6 100644 --- a/apt/index.bzl +++ b/apt/index.bzl @@ -8,7 +8,7 @@ def deb_index( manifest, lock = None, nolock = False, - package_template = None, + package_arch_build_template = None, resolve_transitive = True): """A convience repository macro for apt rules. @@ -81,7 +81,7 @@ def deb_index( manifest: label to a `manifest.yaml` lock: label to a `lock.json` nolock: bool, set to True if you explicitly want to run without a lock and avoid the DEBUG messages. - package_template: (EXPERIMENTAL!) a template file for generated BUILD files. + package_arch_build_template: (EXPERIMENTAL!) a template file for the generated package BUILD files per architecture. Available template replacement keys are: `{target_name}`, `{deps}`, `{urls}`, `{name}`, `{arch}`, `{sha256}`, `{repo_name}` resolve_transitive: whether dependencies of dependencies should be resolved and added to the lockfile. """ @@ -100,5 +100,5 @@ def deb_index( _deb_package_index( name = name, lock = lock if lock else "@" + name + "_resolve//:lock.json", - package_template = package_template, + package_arch_build_template = package_arch_build_template, ) diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index 287c316..f930b43 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -4,7 +4,7 @@ exports_files([ "dpkg_statusd.sh", "dpkg_status.sh", "copy.sh.tmpl", - "package.BUILD.tmpl", + "package_arch.BUILD.tmpl", ]) bzl_library( diff --git a/apt/private/deb_import.bzl b/apt/private/deb_import.bzl index d05ba49..01b1db9 100644 --- a/apt/private/deb_import.bzl +++ b/apt/private/deb_import.bzl @@ -3,7 +3,6 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load(":util.bzl", "util") -# BUILD.bazel template _DEB_IMPORT_BUILD_TMPL = ''' genrule( name = "data", @@ -62,8 +61,67 @@ def make_deb_import_key(repo_name, package): util.sanitize(package.version), ) -def deb_import(**kwargs): +def deb_import(name, url, sha256): http_archive( + name = name, + url = url, + sha256 = sha256, build_file_content = _DEB_IMPORT_BUILD_TMPL, - **kwargs + ) + +def _deb_import_tmpl(repo_name, package): + deb_import_key = make_deb_import_key(repo_name, package) + + return '''\ + deb_import( + name = "{name}", + url = "{url}", + sha256 = "{sha256}", + ) +'''.format(name = deb_import_key, url = package.url, sha256 = package.sha256) + +def deb_packages(repo_name, packages): + deb_imports = [ + _deb_import_tmpl(repo_name, package) + for architectures in packages.values() + for package in architectures.values() + ] + + return '''\ +"""Generated by rules_distroless. DO NOT EDIT.""" +load("@rules_distroless//apt/private:deb_import.bzl", "deb_import") + +# buildifier: disable=function-docstring +def {repo_name}_packages(): +{deb_imports} +'''.format( + repo_name = repo_name, + deb_imports = "\n".join(deb_imports) if deb_imports else " pass", + ) + +def package_arch_build(package, repo_prefix, repo_name, arch_template): + def deps_str(dependencies, arch, depth): + return ("\n" + " " * depth).join([ + '"//%s/%s",' % (dep.name, arch) + for dep in dependencies + ]) + + deb_import_key = make_deb_import_key(repo_name, package) + + deps = '[":data"]' + if package.dependencies: + deps += """ + [ + {deps} + ]""".format(deps = deps_str(package.dependencies, package.arch, 8)) + deps += "," + + return arch_template.format( + target_name = package.arch, + src = '"@%s%s//:data"' % (repo_prefix, deb_import_key), + deps = deps, + urls = [package.url], + name = package.name, + arch = package.arch, + sha256 = package.sha256, + repo_name = "%s%s" % (repo_prefix, deb_import_key), ) diff --git a/apt/private/index.bzl b/apt/private/index.bzl index 18b1bf8..f68f829 100644 --- a/apt/private/index.bzl +++ b/apt/private/index.bzl @@ -1,26 +1,8 @@ "apt-get" -load(":deb_import.bzl", "make_deb_import_key") +load(":deb_import.bzl", "deb_packages", "package_arch_build") load(":lockfile.bzl", "lockfile") -# header template for packages.bzl file -_DEB_IMPORT_HEADER_TMPL = '''\ -"""Generated by rules_distroless. DO NOT EDIT.""" -load("@rules_distroless//apt/private:deb_import.bzl", "deb_import") - -# buildifier: disable=function-docstring -def {}_packages(): -''' - -# deb_import template for packages.bzl file -_DEB_IMPORT_TMPL = '''\ - deb_import( - name = "{name}", - urls = ["{urls}"], - sha256 = "{sha256}", - ) -''' - _BUILD_TMPL = """\ exports_files(glob(['packages.bzl'])) @@ -31,52 +13,33 @@ alias( """ def _deb_package_index_impl(rctx): - lock_content = rctx.attr.lock_content - package_template = rctx.read(rctx.attr.package_template) - lockf = lockfile.from_json(rctx, lock_content if lock_content else rctx.read(rctx.attr.lock)) - - package_defs = [] - - if not lock_content: - package_defs = [_DEB_IMPORT_HEADER_TMPL.format(rctx.attr.name)] + lockf = lockfile.from_json( + rctx, + rctx.attr.lock_content or rctx.read(rctx.attr.lock), + ) + lockf.write("lock.json") - if not lockf.packages: - package_defs.append(" pass") + repo_prefix = "@" if rctx.attr.lock_content else "" + repo_name = rctx.attr.name for architectures in lockf.packages.values(): for package in architectures.values(): - deb_import_key = make_deb_import_key(rctx.attr.name, package) - - if not lock_content: - package_defs.append( - _DEB_IMPORT_TMPL.format( - name = deb_import_key, - package_name = package.name, - urls = package.url, - sha256 = package.sha256, - ), - ) - - repo_name = "%s%s" % ("@" if lock_content else "", deb_import_key) - rctx.file( "%s/%s/BUILD.bazel" % (package.name, package.arch), - package_template.format( - target_name = package.arch, - src = '"@%s//:data"' % repo_name, - deps = ",\n ".join([ - '"//%s/%s"' % (dep.name, package.arch) - for dep in package.dependencies - ]), - urls = [package.url], - name = package.name, - arch = package.arch, - sha256 = package.sha256, - repo_name = "%s" % repo_name, + package_arch_build( + package, + repo_prefix, + repo_name, + rctx.read(rctx.attr.package_arch_build_template), ), ) - rctx.file("packages.bzl", "\n".join(package_defs)) + if rctx.attr.lock_content: + packages_bzl = "" + else: + packages_bzl = deb_packages(repo_name, lockf.packages) + + rctx.file("packages.bzl", packages_bzl) rctx.file("BUILD.bazel", _BUILD_TMPL.format(rctx.attr.name.split("~")[-1])) deb_package_index = repository_rule( @@ -85,5 +48,6 @@ deb_package_index = repository_rule( "lock": attr.label(), "lock_content": attr.string(doc = "INTERNAL: DO NOT USE"), "package_template": attr.label(default = "//apt/private:package.BUILD.tmpl"), + "package_arch_build_template": attr.label(default = "//apt/private:package_arch.BUILD.tmpl"), }, ) diff --git a/apt/private/package.BUILD.tmpl b/apt/private/package_arch.BUILD.tmpl similarity index 80% rename from apt/private/package.BUILD.tmpl rename to apt/private/package_arch.BUILD.tmpl index b5d074a..974ce8d 100644 --- a/apt/private/package.BUILD.tmpl +++ b/apt/private/package_arch.BUILD.tmpl @@ -1,3 +1,5 @@ +"""Generated by rules_distroless. DO NOT EDIT.""" + alias( name = "data", actual = "@{repo_name}//:data", @@ -12,8 +14,6 @@ alias( filegroup( name = "{target_name}", + srcs = {deps} visibility = ["//visibility:public"], - srcs = [ - {deps} - ] + [":data"] -) \ No newline at end of file +) diff --git a/docs/apt.md b/docs/apt.md index c879469..13268d8 100644 --- a/docs/apt.md +++ b/docs/apt.md @@ -7,7 +7,7 @@ apt-get ## deb_index
-deb_index(name, manifest, lock, nolock, package_template, resolve_transitive)
+deb_index(name, manifest, lock, nolock, package_arch_build_template, resolve_transitive)
 
A convience repository macro for apt rules. @@ -86,7 +86,7 @@ An example of this can be found at [/examples/ubuntu_snapshot](/examples/ubuntu_ | manifest | label to a manifest.yaml | none | | lock | label to a lock.json | None | | nolock | bool, set to True if you explicitly want to run without a lock and avoid the DEBUG messages. | False | -| package_template | (EXPERIMENTAL!) a template file for generated BUILD files. Available template replacement keys are: {target_name}, {deps}, {urls}, {name}, {arch}, {sha256}, {repo_name} | None | +| package_arch_build_template | (EXPERIMENTAL!) a template file for the generated package BUILD files per architecture. Available template replacement keys are: {target_name}, {deps}, {urls}, {name}, {arch}, {sha256}, {repo_name} | None | | resolve_transitive | whether dependencies of dependencies should be resolved and added to the lockfile. | True | From 7b624e0d42dabfbffa4351b1ccb27ba52dd20c38 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Thu, 19 Sep 2024 01:07:13 +0100 Subject: [PATCH 12/16] feat: support Debian flat repos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes issue #56 Follow-up and credit to @alexconrey (PR #55), @ericlchen1 (PR #64) and @benmccown (PR #67) for their work on similar PRs that I've reviewed and drawn some inspiration to create "one 💍 PR to merge them all" 😅 Problem: Debian has two types of repos: "canonical" and "flat". Each has a different sources.list syntax: "canonical": ``` deb uri distribution [component1] [component2] [...] ``` (see https://wiki.debian.org/DebianRepository/Format#Overview) flat: ``` deb uri directory/ ``` (see https://wiki.debian.org/DebianRepository/Format#Flat_Repository_Format) A flat repository does not use the dists hierarchy of directories, and instead places meta index and indices directly into the archive root (or some part below it) Thus, the URL logic in _fetch_package_index() is incorrect for these repos and it always fails to fetch the Package index. Solution: Just use the Debian sources.list convention in the 'sources' section of the manifest to add canonical and flat repos. Depending on whether the channel has one directory that ends in '/' or a (dist, component, ...) structure the _fetch_package_index and other internal logic will know whether the source is a canonical or a flat repo. For example: ``` version: 1 sources: # canonical repo - channel: bullseye main contrib url: https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z # flat repos, note the trailing '/' and the lack of distribution or components - channel: bullseye-cran40/ url: https://cloud.r-project.org/bin/linux/debian - channel: ubuntu2404/x86_64/ url: https://developer.download.nvidia.com/compute/cuda/repos archs: - amd64 packages: - bash - r-mathlib - nvidia-container-toolkit-base ``` Disregarding the "mixing" of Ubuntu and Debian repos for the purpose of the example, this manifest shows that you can mix canonical and flat repos and you can mix multiarch and single-arch flat repos and canonical repos. You will still have the same problems as before with packages that only exist for one architecture and/or repos that only support one architecture. In those cases, simply separate the repos and packages into their own manifests. NOTE: The NVIDIA CUDA repos don't follow Debian specs and have issues with the package filenames. This is addressed in a separate commit. --- WORKSPACE.bazel | 11 +++++ apt/private/manifest.bzl | 38 ++++++++++++--- apt/private/package_index.bzl | 6 ++- examples/debian_flat_repo/BUILD.bazel | 48 +++++++++++++++++++ .../bullseye_rproject.lock.json | 15 ++++++ .../debian_flat_repo/bullseye_rproject.yaml | 20 ++++++++ .../debian_flat_repo/test_linux_amd64.yaml | 9 ++++ 7 files changed, 139 insertions(+), 8 deletions(-) create mode 100644 examples/debian_flat_repo/BUILD.bazel create mode 100644 examples/debian_flat_repo/bullseye_rproject.lock.json create mode 100644 examples/debian_flat_repo/bullseye_rproject.yaml create mode 100644 examples/debian_flat_repo/test_linux_amd64.yaml diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index ffaa16b..7c99d2d 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -46,6 +46,17 @@ load("@bullseye_nolock//:packages.bzl", "bullseye_nolock_packages") bullseye_nolock_packages() +# bazel run @bullseye_rproject//:lock +deb_index( + name = "bullseye_rproject", + lock = "//examples/debian_flat_repo:bullseye_rproject.lock.json", + manifest = "//examples/debian_flat_repo:bullseye_rproject.yaml", +) + +load("@bullseye_rproject//:packages.bzl", "bullseye_rproject_packages") + +bullseye_rproject_packages() + deb_index( name = "apt_security", manifest = "//examples/debian_snapshot_security:security.yaml", diff --git a/apt/private/manifest.bzl b/apt/private/manifest.bzl index ceaf750..801e3e7 100644 --- a/apt/private/manifest.bzl +++ b/apt/private/manifest.bzl @@ -37,8 +37,13 @@ def _source(src): index = "Packages" - index_path = "dists/{dist}/{comp}/binary-{arch}".format(**src) - output = "{dist}/{comp}/{arch}/{index}".format(index = index, **src) + if "directory" in src: # flat repo: + src["directory"] = src["directory"].rstrip("/") + index_path = src["directory"] + output = "{directory}/{arch}/{index}".format(index = index, **src) + else: # canonical + index_path = "dists/{dist}/{comp}/binary-{arch}".format(**src) + output = "{dist}/{comp}/{arch}/{index}".format(index = index, **src) return struct( arch = src["arch"], @@ -72,12 +77,31 @@ def _from_dict(manifest, manifest_label): for arch in manifest["archs"]: for src in manifest["sources"]: - dist, components = src["channel"].split(" ", 1) + src["arch"] = arch - for comp in components.split(" "): - src["dist"] = dist - src["comp"] = comp - src["arch"] = arch + channel_chunks = src["channel"].split(" ") + + # support both canonical and flat repos, see: + # canonical: https://wiki.debian.org/DebianRepository/Format#Overview + # flat repo: https://wiki.debian.org/DebianRepository/Format#Flat_Repository_Format + if len(channel_chunks) > 1: # canonical + dist, components = channel_chunks[0], channel_chunks[1:] + + if dist.endswith("/"): + fail("Debian dist ends in '/' but this is not a flat repo") + + for comp in components: + src["dist"] = dist + src["comp"] = comp + + sources.append(_source(src)) + else: # flat + directory = channel_chunks[0] + + if not directory.endswith("/"): + fail("Debian flat repo directory must end in '/'") + + src["directory"] = directory sources.append(_source(src)) diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index b5142f4..64682d9 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -93,9 +93,13 @@ def _parse_package_index(packages, contents, source): if len(pkg.keys()) != 0: pkg["Root"] = source.base_url + + # NOTE: workaround for multi-arch flat repos + arch = source.arch if pkg["Architecture"] == "all" else pkg["Architecture"] + _package_set( packages, - keys = (source.arch, pkg["Package"], pkg["Version"]), + keys = (arch, pkg["Package"], pkg["Version"]), package = pkg, ) last_key = "" diff --git a/examples/debian_flat_repo/BUILD.bazel b/examples/debian_flat_repo/BUILD.bazel new file mode 100644 index 0000000..d491029 --- /dev/null +++ b/examples/debian_flat_repo/BUILD.bazel @@ -0,0 +1,48 @@ +load("@container_structure_test//:defs.bzl", "container_structure_test") +load("@rules_distroless//apt:defs.bzl", "dpkg_status") +load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") + +PACKAGES = [ + "@bullseye//dpkg", + "@bullseye//apt", + "@bullseye_rproject//r-mathlib", +] + +# Creates /var/lib/dpkg/status with installed package information. +dpkg_status( + name = "dpkg_status", + controls = [ + "%s/amd64:control" % package + for package in PACKAGES + ], +) + +oci_image( + name = "apt", + architecture = "amd64", + os = "linux", + tars = [ + ":dpkg_status", + ] + [ + "%s/amd64" % package + for package in PACKAGES + ], +) + +oci_load( + name = "tarball", + image = ":apt", + repo_tags = [ + "distroless/test:latest", + ], +) + +container_structure_test( + name = "test", + configs = ["test_linux_amd64.yaml"], + image = ":apt", + target_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:linux", + ], +) diff --git a/examples/debian_flat_repo/bullseye_rproject.lock.json b/examples/debian_flat_repo/bullseye_rproject.lock.json new file mode 100644 index 0000000..ac7b2a5 --- /dev/null +++ b/examples/debian_flat_repo/bullseye_rproject.lock.json @@ -0,0 +1,15 @@ +{ + "packages": { + "r-mathlib": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "r-mathlib", + "sha256": "cbe3abbcc74261f2ad84159b423b856c1a0b4ebe6fef2de763d8783ff00245d5", + "url": "https://cloud.r-project.org/bin/linux/debian/bullseye-cran40/r-mathlib_4.4.1-1~bullseyecran.0_amd64.deb", + "version": "4.4.1-1~bullseyecran.0" + } + } + }, + "version": 2 +} \ No newline at end of file diff --git a/examples/debian_flat_repo/bullseye_rproject.yaml b/examples/debian_flat_repo/bullseye_rproject.yaml new file mode 100644 index 0000000..6c1cd90 --- /dev/null +++ b/examples/debian_flat_repo/bullseye_rproject.yaml @@ -0,0 +1,20 @@ +# Packages for examples/debian_flat_repo. +# +# Anytime this file is changed, the lockfile needs to be regenerated. +# +# To generate the bullseye_rproject.lock.json run the following command +# +# bazel run @bullseye_rproject//:lock +# +# See debian_package_index at WORKSPACE.bazel +version: 1 + +sources: + - channel: bullseye-cran40/ + url: https://cloud.r-project.org/bin/linux/debian + +archs: + - amd64 + +packages: + - r-mathlib diff --git a/examples/debian_flat_repo/test_linux_amd64.yaml b/examples/debian_flat_repo/test_linux_amd64.yaml new file mode 100644 index 0000000..4e9d1d8 --- /dev/null +++ b/examples/debian_flat_repo/test_linux_amd64.yaml @@ -0,0 +1,9 @@ +schemaVersion: "2.0.0" + +commandTests: + - name: "apt list --installed" + command: "apt" + args: ["list", "--installed"] + expectedOutput: + - Listing\.\.\. + - r-mathlib/now 4.4.1-1~bullseyecran.0 amd64 \[installed,local\] From bda537ddcb00bdcc24d43b805f84399eb74d4056 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Thu, 19 Sep 2024 01:07:49 +0100 Subject: [PATCH 13/16] fix: NVIDIA CUDA flat repos don't follow Debian repo spec Although the Debian repo spec for 'Filename' (see https://wiki.debian.org/DebianRepository/Format#Filename) clearly says that 'Filename' should be relative to the base directory of the repo and should be in canonical form (i.e. without '.' or '..') there are cases where this is not honored. In those cases we try to work around this by assuming 'Filename' is relative to the sources.list directory/ so we combine them and normalize the new 'Filename' path. Note that, so far, only the NVIDIA CUDA repos needed this workaround so maybe this heuristic will break for other repos that don't conform to the Debian repo spec. --- MODULE.bazel | 4 +- MODULE.bazel.lock | 12 ++-- WORKSPACE.bazel | 11 ++++ apt/private/BUILD.bazel | 5 +- apt/private/package_index.bzl | 56 ++++++++++++++++++- apt/private/pkg.bzl | 2 +- apt/private/util.bzl | 17 ++++++ apt/tests/BUILD.bazel | 3 + apt/tests/package_index_test.bzl | 15 ++++- apt/tests/util_test.bzl | 25 +++++++++ examples/debian_flat_repo/BUILD.bazel | 52 +++++++++++++---- .../nvidia_ubuntu2404_cuda.lock.json | 23 ++++++++ .../nvidia_ubuntu2404_cuda.yaml | 23 ++++++++ .../debian_flat_repo/test_linux_amd64.yaml | 1 + .../debian_flat_repo/test_linux_arm64.yaml | 9 +++ 15 files changed, 231 insertions(+), 27 deletions(-) create mode 100644 apt/tests/util_test.bzl create mode 100644 examples/debian_flat_repo/nvidia_ubuntu2404_cuda.lock.json create mode 100644 examples/debian_flat_repo/nvidia_ubuntu2404_cuda.yaml create mode 100644 examples/debian_flat_repo/test_linux_arm64.yaml diff --git a/MODULE.bazel b/MODULE.bazel index c1b7932..11e75be 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,7 +6,7 @@ module( compatibility_level = 1, ) -bazel_dep(name = "bazel_skylib", version = "1.5.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "aspect_bazel_lib", version = "2.7.9") bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains") @@ -21,7 +21,7 @@ use_repo(bazel_lib_toolchains, "yq_linux_s390x") use_repo(bazel_lib_toolchains, "yq_windows_amd64") bazel_dep(name = "gazelle", version = "0.34.0", dev_dependency = True, repo_name = "bazel_gazelle") -bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.5.0", dev_dependency = True) +bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "6.1.2", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.10", dev_dependency = True) bazel_dep(name = "rules_oci", version = "2.0.0-rc0", dev_dependency = True) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 4079645..dafe198 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -20,12 +20,12 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", - "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.5.0/MODULE.bazel": "10757f9d22ebe137930a0a677269be86d2986e8abf6b84522d631920a7267743", - "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.5.0/source.json": "2c5fb7b2ad5e07bfcc90e1661c3703adb8069ea6b3d9121f647d4288d8b48748", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", + "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.7.1/MODULE.bazel": "c76b9d256c77c31754c5ac306d395fd47946d8d7470bea2474c3add17b334c3d", + "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.7.1/source.json": "25a87991a554369633d706f924f67ca3eb4d9200af1bba7e57dceb85eb9198e4", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/source.json": "19fb45ed3f0d55cbff94e402c39512940833ae3a68f9cbfd9518a1926b609c7c", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", @@ -813,7 +813,7 @@ "@@gazelle~//:extensions.bzl%go_deps": { "general": { "bzlTransitiveDigest": "Taobh9Bi1JpF4jHwuw6x9ceWDpHtCjGmS8VXbxLOqH8=", - "usagesDigest": "OF7bvO+xWblkUXgQsIPSIr048t6z7ZKSjlR8twO/efg=", + "usagesDigest": "dKNKvQJECrWkRG++E5OdDZZAclQbs9RKSkeI+WU2EpA=", "recordedFileInputs": { "@@rules_go~//go.mod": "a7143f329c2a3e0b983ce74a96c0c25b0d0c59d236d75f7e1b069aadd988d55e", "@@gazelle~//go.sum": "7469786f3930030c430969cedae951e6947cb40f4a563dac94a350659c0fedc4", @@ -1688,7 +1688,7 @@ }, "@@rules_oci~//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "6G6tDFJTPCtKyxon8Br4ev91dRdgBbCkorJmAgiIagc=", + "bzlTransitiveDigest": "3HRH6B82zu14f5XyCoQciUqaObjafWuRersO7BtZxGU=", "usagesDigest": "Pu/P+SVB+Qbdzl3wU3n5aOMsoK6nTX8UJYRkP9qCPpE=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 7c99d2d..d0e1aa6 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -57,6 +57,17 @@ load("@bullseye_rproject//:packages.bzl", "bullseye_rproject_packages") bullseye_rproject_packages() +# bazel run @nvidia_ubuntu2404_cuda//:lock +deb_index( + name = "nvidia_ubuntu2404_cuda", + lock = "//examples/debian_flat_repo:nvidia_ubuntu2404_cuda.lock.json", + manifest = "//examples/debian_flat_repo:nvidia_ubuntu2404_cuda.yaml", +) + +load("@nvidia_ubuntu2404_cuda//:packages.bzl", "nvidia_ubuntu2404_cuda_packages") + +nvidia_ubuntu2404_cuda_packages() + deb_index( name = "apt_security", manifest = "//examples/debian_snapshot_security:security.yaml", diff --git a/apt/private/BUILD.bazel b/apt/private/BUILD.bazel index f930b43..84b6823 100644 --- a/apt/private/BUILD.bazel +++ b/apt/private/BUILD.bazel @@ -60,7 +60,10 @@ bzl_library( name = "package_index", srcs = ["package_index.bzl"], visibility = ["//apt:__subpackages__"], - deps = [":version"], + deps = [ + ":version", + "@bazel_skylib//lib:paths", + ], ) bzl_library( diff --git a/apt/private/package_index.bzl b/apt/private/package_index.bzl index 64682d9..37d5b76 100644 --- a/apt/private/package_index.bzl +++ b/apt/private/package_index.bzl @@ -1,5 +1,7 @@ "package index" +load("@bazel_skylib//lib:paths.bzl", "paths") +load(":util.bzl", "util") load(":version.bzl", version_lib = "version") def _fetch_package_index(rctx, source): @@ -56,6 +58,40 @@ def _fetch_package_index(rctx, source): return rctx.read(source.output) +def _make_file_url(pkg, source): + filename = pkg["Filename"] + + invalid_filename = not paths.is_normalized( + filename, + look_for_same_level_references = True, + ) + + if invalid_filename: + # NOTE: + # Although the Debian repo spec for 'Filename' (see + # https://wiki.debian.org/DebianRepository/Format#Filename) clearly + # says that 'Filename' should be relative to the base directory of the + # repo and should be in canonical form (i.e. without '.' or '..') there + # are cases where this is not honored. + # + # In those cases we try to work around this by assuming 'Filename' is + # relative to the sources.list "index path" (e.g. directory/ for flat + # repos) so we combine them and normalize the new 'Filename' path. + # + # Note that, so far, only the NVIDIA CUDA repos needed this workaround + # so maybe this heuristic will break for other repos that don't conform + # to the Debian repo spec. + filename = paths.normalize(paths.join(source.index_path, filename)) + + base_url = util.parse_url(source.base_url) + file_url = "{}://{}{}".format( + base_url.scheme, + base_url.host, + paths.join(base_url.path, filename), + ) + + return file_url, invalid_filename + def _package_set(packages, keys, package): for key in keys[:-1]: if key not in packages: @@ -66,6 +102,9 @@ def _package_set(packages, keys, package): def _parse_package_index(packages, contents, source): last_key = "" pkg = {} + total_pkgs = 0 + out_of_spec = [] + for group in contents.split("\n\n"): for line in group.split("\n"): if line.strip() == "": @@ -92,7 +131,10 @@ def _parse_package_index(packages, contents, source): pkg[key] = value if len(pkg.keys()) != 0: - pkg["Root"] = source.base_url + pkg["FileUrl"], invalid_filename = _make_file_url(pkg, source) + + if invalid_filename: + out_of_spec.append(pkg["Package"]) # NOTE: workaround for multi-arch flat repos arch = source.arch if pkg["Architecture"] == "all" else pkg["Architecture"] @@ -104,6 +146,9 @@ def _parse_package_index(packages, contents, source): ) last_key = "" pkg = {} + total_pkgs += 1 + + return out_of_spec, total_pkgs def _package_get(packages, arch, name, version = None): versions = packages.get(arch, {}).get(name, {}) @@ -123,7 +168,13 @@ def _index(rctx, manifest): output = _fetch_package_index(rctx, source) rctx.report_progress("Parsing package index: %s" % index) - _parse_package_index(packages, output, source) + out_of_spec, total_pkgs = _parse_package_index(packages, output, source) + + if out_of_spec: + count = len(out_of_spec) + pct = int(100.0 * count / total_pkgs) + msg = "Warning: index {} has {} packages ({}%) with invalid 'Filename' fields" + print(msg.format(index, count, pct)) return struct( packages = packages, @@ -287,6 +338,7 @@ package_index = struct( parse_depends = _parse_depends, # NOTE: these are exposed here for testing purposes, DO NOT USE OTHERWISE _fetch_package_index = _fetch_package_index, + _make_file_url = _make_file_url, _parse_package_index = _parse_package_index, _package_set = _package_set, _package_get = _package_get, diff --git a/apt/private/pkg.bzl b/apt/private/pkg.bzl index 68c6d7a..26790d1 100644 --- a/apt/private/pkg.bzl +++ b/apt/private/pkg.bzl @@ -4,7 +4,7 @@ def _pkg_from_index(package, arch): return struct( name = package["Package"], version = package["Version"], - url = "%s/%s" % (package["Root"], package["Filename"]), + url = package["FileUrl"], sha256 = package["SHA256"], arch = arch, dependencies = [], diff --git a/apt/private/util.bzl b/apt/private/util.bzl index 0ead44a..79b133f 100644 --- a/apt/private/util.bzl +++ b/apt/private/util.bzl @@ -11,10 +11,27 @@ def _get_dupes(list_): return dupes +def _parse_url(url): + if "://" not in url: + fail("Invalid URL: %s" % url) + + scheme, url_ = url.split("://", 1) + + path = "/" + + if "/" in url_: + host, path_ = url_.split("/", 1) + path += path_ + else: + host = url_ + + return struct(scheme = scheme, host = host, path = path) + def _sanitize(str): return str.replace("+", "-p-").replace(":", "-").replace("~", "_") util = struct( get_dupes = _get_dupes, + parse_url = _parse_url, sanitize = _sanitize, ) diff --git a/apt/tests/BUILD.bazel b/apt/tests/BUILD.bazel index b67388a..748e5ba 100644 --- a/apt/tests/BUILD.bazel +++ b/apt/tests/BUILD.bazel @@ -1,9 +1,12 @@ load(":manifest_test.bzl", "manifest_tests") load(":package_index_test.bzl", "package_index_tests") +load(":util_test.bzl", "util_tests") load(":version_test.bzl", "version_tests") manifest_tests() package_index_tests() +util_tests() + version_tests() diff --git a/apt/tests/package_index_test.bzl b/apt/tests/package_index_test.bzl index f9b0813..b1ee81f 100644 --- a/apt/tests/package_index_test.bzl +++ b/apt/tests/package_index_test.bzl @@ -50,7 +50,7 @@ def _parse_package_index_test(ctx): package_index._parse_package_index(actual, output, source) asserts.equals(env, "foo", actual[arch][name][version]["Package"]) - asserts.equals(env, url, actual[arch][name][version]["Root"]) + asserts.true(env, actual[arch][name][version]["FileUrl"].startswith(url)) return unittest.end(env) @@ -107,6 +107,8 @@ def _index_test(ctx): url = "http://mirror.com" + source = mock.manifest(url, arch, name).sources[0] + mock_rctx = mock.rctx( read = mock.read(output), download = mock.download(success = True), @@ -116,10 +118,17 @@ def _index_test(ctx): actual = package_index._index(mock_rctx, mock.manifest(url, arch, name)) expected_pkg = mock.pkg(arch, name, version) - expected_pkg["Root"] = url + file_url, _ = package_index._make_file_url(expected_pkg, source) + expected_pkg["FileUrl"] = file_url actual_pkg = actual.package_get(arch, name, version) - asserts.equals(env, expected_pkg, actual_pkg) + + # NOTE: we compare key-by-key because the error output of + # asserts.equals(env, expected_pkg, actual_pkg) is quite + # hard to read + asserts.equals(env, expected_pkg.keys(), actual_pkg.keys()) + for key in expected_pkg.keys(): + asserts.equals(env, expected_pkg[key], actual_pkg[key]) expected_packages = {arch: {name: {version: expected_pkg}}} asserts.equals(env, expected_packages, actual.packages) diff --git a/apt/tests/util_test.bzl b/apt/tests/util_test.bzl new file mode 100644 index 0000000..57e2dd8 --- /dev/null +++ b/apt/tests/util_test.bzl @@ -0,0 +1,25 @@ +"unit tests for util" + +load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") +load("//apt/private:util.bzl", "util") + +_TEST_SUITE_PREFIX = "util/" + +def _parse_url_test(ctx): + env = unittest.begin(ctx) + + parameters = { + "https://mirror.com": struct(scheme = "https", host = "mirror.com", path = "/"), + "http://mirror.com/foo/bar": struct(scheme = "http", host = "mirror.com", path = "/foo/bar"), + } + + for url, expected in parameters.items(): + actual = util.parse_url(url) + asserts.equals(env, expected, actual) + + return unittest.end(env) + +parse_url_test = unittest.make(_parse_url_test) + +def util_tests(): + parse_url_test(name = _TEST_SUITE_PREFIX + "parse_url") diff --git a/examples/debian_flat_repo/BUILD.bazel b/examples/debian_flat_repo/BUILD.bazel index d491029..f536061 100644 --- a/examples/debian_flat_repo/BUILD.bazel +++ b/examples/debian_flat_repo/BUILD.bazel @@ -5,28 +5,51 @@ load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") PACKAGES = [ "@bullseye//dpkg", "@bullseye//apt", +] + +PACKAGES_AMD64 = PACKAGES + [ "@bullseye_rproject//r-mathlib", + "@nvidia_ubuntu2404_cuda//nvidia-container-toolkit-base", +] + +PACKAGES_ARM64 = PACKAGES + [ + "@nvidia_ubuntu2404_cuda//nvidia-container-toolkit-base", ] # Creates /var/lib/dpkg/status with installed package information. dpkg_status( name = "dpkg_status", - controls = [ - "%s/amd64:control" % package - for package in PACKAGES - ], + controls = select({ + "@platforms//cpu:x86_64": [ + "%s/amd64:control" % package + for package in PACKAGES_AMD64 + ], + "@platforms//cpu:arm64": [ + "%s/arm64:control" % package + for package in PACKAGES_ARM64 + ], + }), ) oci_image( name = "apt", - architecture = "amd64", + architecture = select({ + "@platforms//cpu:x86_64": "amd64", + "@platforms//cpu:arm64": "arm64", + }), os = "linux", tars = [ ":dpkg_status", - ] + [ - "%s/amd64" % package - for package in PACKAGES - ], + ] + select({ + "@platforms//cpu:x86_64": [ + "%s/amd64" % package + for package in PACKAGES_AMD64 + ], + "@platforms//cpu:arm64": [ + "%s/arm64" % package + for package in PACKAGES_ARM64 + ], + }), ) oci_load( @@ -39,10 +62,15 @@ oci_load( container_structure_test( name = "test", - configs = ["test_linux_amd64.yaml"], + configs = select({ + "@platforms//cpu:x86_64": ["test_linux_amd64.yaml"], + "@platforms//cpu:arm64": ["test_linux_arm64.yaml"], + }), image = ":apt", - target_compatible_with = [ - "@platforms//cpu:x86_64", + target_compatible_with = select({ + "@platforms//cpu:x86_64": ["@platforms//cpu:x86_64"], + "@platforms//cpu:arm64": ["@platforms//cpu:arm64"], + }) + [ "@platforms//os:linux", ], ) diff --git a/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.lock.json b/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.lock.json new file mode 100644 index 0000000..12cd9ce --- /dev/null +++ b/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.lock.json @@ -0,0 +1,23 @@ +{ + "packages": { + "nvidia-container-toolkit-base": { + "amd64": { + "arch": "amd64", + "dependencies": [], + "name": "nvidia-container-toolkit-base", + "sha256": "8184d04f88215de4f630e4f5ba24d9bf7e64a7a597ba2e3c6fbd94f86bea0599", + "url": "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/nvidia-container-toolkit-base_1.16.1-1_amd64.deb", + "version": "1.16.1-1" + }, + "arm64": { + "arch": "arm64", + "dependencies": [], + "name": "nvidia-container-toolkit-base", + "sha256": "dfc068e5ff69274351e59376078d9bda6a6c95423c7de1619b6a54aa9ba0f494", + "url": "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/arm64/nvidia-container-toolkit-base_1.16.1-1_arm64.deb", + "version": "1.16.1-1" + } + } + }, + "version": 2 +} \ No newline at end of file diff --git a/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.yaml b/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.yaml new file mode 100644 index 0000000..9d1fd8c --- /dev/null +++ b/examples/debian_flat_repo/nvidia_ubuntu2404_cuda.yaml @@ -0,0 +1,23 @@ +# Packages for examples/debian_flat_repo. +# +# Anytime this file is changed, the lockfile needs to be regenerated. +# +# To generate the nvidia_cuda.lock.json run the following command +# +# bazel run @nvidia_ubuntu2404_cuda//:lock +# +# See debian_package_index at WORKSPACE.bazel +version: 1 + +sources: + - channel: ubuntu2404/x86_64/ + url: https://developer.download.nvidia.com/compute/cuda/repos + - channel: ubuntu2404/arm64/ + url: https://developer.download.nvidia.com/compute/cuda/repos + +archs: + - amd64 + - arm64 + +packages: + - nvidia-container-toolkit-base diff --git a/examples/debian_flat_repo/test_linux_amd64.yaml b/examples/debian_flat_repo/test_linux_amd64.yaml index 4e9d1d8..95c703c 100644 --- a/examples/debian_flat_repo/test_linux_amd64.yaml +++ b/examples/debian_flat_repo/test_linux_amd64.yaml @@ -7,3 +7,4 @@ commandTests: expectedOutput: - Listing\.\.\. - r-mathlib/now 4.4.1-1~bullseyecran.0 amd64 \[installed,local\] + - nvidia-container-toolkit-base/now 1.16.1-1 amd64 \[installed,local\] diff --git a/examples/debian_flat_repo/test_linux_arm64.yaml b/examples/debian_flat_repo/test_linux_arm64.yaml new file mode 100644 index 0000000..7af4d70 --- /dev/null +++ b/examples/debian_flat_repo/test_linux_arm64.yaml @@ -0,0 +1,9 @@ +schemaVersion: "2.0.0" + +commandTests: + - name: "apt list --installed" + command: "apt" + args: ["list", "--installed"] + expectedOutput: + - Listing\.\.\. + - nvidia-container-toolkit-base/now 1.16.1-1 arm64 \[installed,local\] From 6793808be7c3737870739d3112b752f14ce44ab7 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 20 Sep 2024 02:45:39 +0100 Subject: [PATCH 14/16] feat: platforms-aware package arch aliases Package repos can now be used directly without the `/` bit. The "root-level" BUILD in the package repo now has platforms-aware aliases that use 'select' to pick the right arch for ':data', ':control', etc. Now, you can do: ```starlark load("@rules_oci//oci:defs.bzl", "oci_image") oci_image( name = "foo", base = "@distroless_base_nossl_debian12", tars = [ "@debian12//coreutils", "@debian12//bash", ], ) ``` when before you would have needed something like: ```starlark load("@rules_oci//oci:defs.bzl", "oci_image") CPU_ARCH = [ ("arm64", "arm64"), ("x86_64", "amd64"), ] PACKAGES = [ "@debian12//coreutils", "@debian12//bash", ] PACKAGES_ARCH = select({ "@platforms//cpu:%s" % cpu: [ "%s/%s" % (package, arch) for package in PACKAGES ] for cpu, arch in CPU_ARCH }) oci_image( name = "foo", base = "@distroless_base_nossl_debian12", tars = PACKAGES_ARCH, ) ``` To force a specific architecture the "arch packages" can still be used just like before with '@repo//package/arch' or via constraints and platforms ('--platforms=...'). --- MODULE.bazel | 2 +- apt/index.bzl | 2 +- apt/private/deb_import.bzl | 93 +++++++++++++++++++++++++++++++++++--- apt/private/index.bzl | 7 ++- apt/private/util.bzl | 15 ++++++ docs/apt.md | 2 +- 6 files changed, 110 insertions(+), 11 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 11e75be..3441594 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -8,6 +8,7 @@ module( bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "aspect_bazel_lib", version = "2.7.9") +bazel_dep(name = "platforms", version = "0.0.10") bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains") use_repo(bazel_lib_toolchains, "zstd_toolchains") @@ -23,6 +24,5 @@ use_repo(bazel_lib_toolchains, "yq_windows_amd64") bazel_dep(name = "gazelle", version = "0.34.0", dev_dependency = True, repo_name = "bazel_gazelle") bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "6.1.2", dev_dependency = True) -bazel_dep(name = "platforms", version = "0.0.10", dev_dependency = True) bazel_dep(name = "rules_oci", version = "2.0.0-rc0", dev_dependency = True) bazel_dep(name = "container_structure_test", version = "1.16.0", dev_dependency = True) diff --git a/apt/index.bzl b/apt/index.bzl index 150bbc6..5088426 100644 --- a/apt/index.bzl +++ b/apt/index.bzl @@ -82,7 +82,7 @@ def deb_index( lock: label to a `lock.json` nolock: bool, set to True if you explicitly want to run without a lock and avoid the DEBUG messages. package_arch_build_template: (EXPERIMENTAL!) a template file for the generated package BUILD files per architecture. - Available template replacement keys are: `{target_name}`, `{deps}`, `{urls}`, `{name}`, `{arch}`, `{sha256}`, `{repo_name}` + Available template replacement keys are: `{target_name}`, `{src}`, `{deps}`, `{urls}`, `{name}`, `{arch}`, `{sha256}`, `{repo_name}` resolve_transitive: whether dependencies of dependencies should be resolved and added to the lockfile. """ _deb_resolve( diff --git a/apt/private/deb_import.bzl b/apt/private/deb_import.bzl index 01b1db9..5fe5c55 100644 --- a/apt/private/deb_import.bzl +++ b/apt/private/deb_import.bzl @@ -99,20 +99,20 @@ def {repo_name}_packages(): deb_imports = "\n".join(deb_imports) if deb_imports else " pass", ) -def package_arch_build(package, repo_prefix, repo_name, arch_template): - def deps_str(dependencies, arch, depth): - return ("\n" + " " * depth).join([ - '"//%s/%s",' % (dep.name, arch) - for dep in dependencies - ]) +def _deps_str(dependencies, arch, depth): + return ("\n" + " " * depth).join([ + '"//%s/%s",' % (dep.name, arch) + for dep in dependencies + ]) +def package_arch_build(package, repo_prefix, repo_name, arch_template): deb_import_key = make_deb_import_key(repo_name, package) deps = '[":data"]' if package.dependencies: deps += """ + [ {deps} - ]""".format(deps = deps_str(package.dependencies, package.arch, 8)) + ]""".format(deps = _deps_str(package.dependencies, package.arch, 8)) deps += "," return arch_template.format( @@ -125,3 +125,82 @@ def package_arch_build(package, repo_prefix, repo_name, arch_template): sha256 = package.sha256, repo_name = "%s%s" % (repo_prefix, deb_import_key), ) + +def _gen_alias_select(name, package_name, architectures): + if len(architectures) == 1 and architectures.keys()[0] == "all": + actual = '"//{package_name}/all:{name}"' + else: + actual = "select({{" + for arch in architectures: + actual += "\n" + " " * 8 + actual += '"@platforms//cpu:%s": ' % util.arch_to_cpu(arch) + actual += '"//{package_name}/%s:{name}",' % arch + actual += "\n }})" + + actual = actual.format( + package_name = package_name, + name = name, + ) + + return """\ +alias( + name = "{name}", + actual = {actual}, + visibility = ["//visibility:public"], +) +""".format(name = name, actual = actual) + +def _gen_filegroup_select(package_name, architectures): + srcs = '[":data"]' + + if len(architectures) == 1 and architectures.keys()[0] == "all": + package = architectures["all"] + if package.dependencies: + srcs += """ + [ + {deps} + ]""".format(deps = _deps_str(package.dependencies, "all", 8)) + else: + selects = [] + for arch, package in architectures.items(): + if not package.dependencies: + continue + + select = """ + "@platforms//cpu:{cpu}": [ + {deps} + ],""".format( + cpu = util.arch_to_cpu(arch), + deps = _deps_str(package.dependencies, arch, 12), + ) + selects.append(select) + + if selects: + srcs += " + select({" + srcs += "".join(selects) + srcs += "\n })" + + srcs += "," + + return """\ +filegroup( + name = "{name}", + srcs = {srcs} + visibility = ["//visibility:public"], +) +""".format(name = package_name, srcs = srcs) + +def package_aliases_build(package_name, architectures): + aliases = [ + _gen_alias_select(name, package_name, architectures) + for name in ("data", "control") + ] + + filegroup = _gen_filegroup_select(package_name, architectures) + + return '''\ +"""Generated by rules_distroless. DO NOT EDIT.""" + +{aliases} + +{filegroup} +'''.format(aliases = "\n".join(aliases), filegroup = filegroup) diff --git a/apt/private/index.bzl b/apt/private/index.bzl index f68f829..2835beb 100644 --- a/apt/private/index.bzl +++ b/apt/private/index.bzl @@ -1,6 +1,6 @@ "apt-get" -load(":deb_import.bzl", "deb_packages", "package_arch_build") +load(":deb_import.bzl", "deb_packages", "package_aliases_build", "package_arch_build") load(":lockfile.bzl", "lockfile") _BUILD_TMPL = """\ @@ -34,6 +34,11 @@ def _deb_package_index_impl(rctx): ), ) + rctx.file( + "%s/BUILD.bazel" % package.name, + package_aliases_build(package.name, architectures), + ) + if rctx.attr.lock_content: packages_bzl = "" else: diff --git a/apt/private/util.bzl b/apt/private/util.bzl index 79b133f..47ef520 100644 --- a/apt/private/util.bzl +++ b/apt/private/util.bzl @@ -1,5 +1,19 @@ "utilities" +# Map of Debian architectures to platform CPUs +# https://www.debian.org/ports/ +# https://wiki.debian.org/SupportedArchitectures +# +# NOTE: the only architectures that need re-mapping are +# those that don't match a CPU or CPU alias in: +# https://github.com/bazelbuild/platforms/blob/main/cpu/BUILD +DEBIAN_ARCH_TO_CPU = { + "amd64": "x86_64", + "armhf": "armv7e-mf", # NOTE: not sure that this is the right mapping :-/ + "mips64el": "mips64", + "ppc64el": "ppc64le", +} + def _get_dupes(list_): set_ = {} dupes = [] @@ -31,6 +45,7 @@ def _sanitize(str): return str.replace("+", "-p-").replace(":", "-").replace("~", "_") util = struct( + arch_to_cpu = lambda arch: DEBIAN_ARCH_TO_CPU.get(arch, arch), get_dupes = _get_dupes, parse_url = _parse_url, sanitize = _sanitize, diff --git a/docs/apt.md b/docs/apt.md index 13268d8..48719ae 100644 --- a/docs/apt.md +++ b/docs/apt.md @@ -86,7 +86,7 @@ An example of this can be found at [/examples/ubuntu_snapshot](/examples/ubuntu_ | manifest | label to a manifest.yaml | none | | lock | label to a lock.json | None | | nolock | bool, set to True if you explicitly want to run without a lock and avoid the DEBUG messages. | False | -| package_arch_build_template | (EXPERIMENTAL!) a template file for the generated package BUILD files per architecture. Available template replacement keys are: {target_name}, {deps}, {urls}, {name}, {arch}, {sha256}, {repo_name} | None | +| package_arch_build_template | (EXPERIMENTAL!) a template file for the generated package BUILD files per architecture. Available template replacement keys are: {target_name}, {src}, {deps}, {urls}, {name}, {arch}, {sha256}, {repo_name} | None | | resolve_transitive | whether dependencies of dependencies should be resolved and added to the lockfile. | True | From 13f8bab96b69a4aa92e5f30f10de5c6805e67f27 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 20 Sep 2024 03:01:59 +0100 Subject: [PATCH 15/16] chore: remove select() from the examples This is a separate diff so that we can test the previous diff with the changes plus the examples with `select` in place and make sure everything works as-is with the new package aliases. --- e2e/smoke/BUILD | 27 +++---------------- examples/debian_flat_repo/BUILD.bazel | 14 +++------- .../debian_shared_dependencies/BUILD.bazel | 22 ++------------- examples/debian_snapshot/BUILD.bazel | 27 +++---------------- examples/ubuntu_snapshot/BUILD.bazel | 22 ++------------- 5 files changed, 14 insertions(+), 98 deletions(-) diff --git a/e2e/smoke/BUILD b/e2e/smoke/BUILD index 9097566..ff37993 100644 --- a/e2e/smoke/BUILD +++ b/e2e/smoke/BUILD @@ -48,10 +48,7 @@ tar( cacerts( name = "cacerts", - package = select({ - "@platforms//cpu:arm64": "@bullseye//ca-certificates/arm64:data", - "@platforms//cpu:x86_64": "@bullseye//ca-certificates/amd64:data", - }), + package = "@bullseye//ca-certificates:data", ) PACKAGES = [ @@ -69,16 +66,7 @@ PACKAGES = [ # Creates /var/lib/dpkg/status with installed package information. dpkg_status( name = "dpkg_status", - controls = select({ - "@platforms//cpu:arm64": [ - "%s/arm64:control" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64:control" % package - for package in PACKAGES - ], - }), + controls = ["%s:control" % p for p in PACKAGES], ) oci_image( @@ -94,16 +82,7 @@ oci_image( ":group", ":dpkg_status", ":cacerts", - ] + select({ - "@platforms//cpu:arm64": [ - "%s/arm64" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64" % package - for package in PACKAGES - ], - }), + ] + PACKAGES, ) oci_load( diff --git a/examples/debian_flat_repo/BUILD.bazel b/examples/debian_flat_repo/BUILD.bazel index f536061..7f833c3 100644 --- a/examples/debian_flat_repo/BUILD.bazel +++ b/examples/debian_flat_repo/BUILD.bazel @@ -21,11 +21,11 @@ dpkg_status( name = "dpkg_status", controls = select({ "@platforms//cpu:x86_64": [ - "%s/amd64:control" % package + "%s:control" % package for package in PACKAGES_AMD64 ], "@platforms//cpu:arm64": [ - "%s/arm64:control" % package + "%s:control" % package for package in PACKAGES_ARM64 ], }), @@ -41,14 +41,8 @@ oci_image( tars = [ ":dpkg_status", ] + select({ - "@platforms//cpu:x86_64": [ - "%s/amd64" % package - for package in PACKAGES_AMD64 - ], - "@platforms//cpu:arm64": [ - "%s/arm64" % package - for package in PACKAGES_ARM64 - ], + "@platforms//cpu:x86_64": PACKAGES_AMD64, + "@platforms//cpu:arm64": PACKAGES_ARM64, }), ) diff --git a/examples/debian_shared_dependencies/BUILD.bazel b/examples/debian_shared_dependencies/BUILD.bazel index 5e259f5..6c6dc39 100644 --- a/examples/debian_shared_dependencies/BUILD.bazel +++ b/examples/debian_shared_dependencies/BUILD.bazel @@ -56,16 +56,7 @@ PACKAGES = [ # Creates /var/lib/dpkg/status with installed package information. dpkg_status( name = "dpkg_status", - controls = select({ - "@platforms//cpu:arm64": [ - "%s/arm64:control" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64:control" % package - for package in PACKAGES - ], - }), + controls = ["%s:control" % p for p in PACKAGES], ) oci_image( @@ -80,16 +71,7 @@ oci_image( ":passwd", ":group", ":dpkg_status", - ] + select({ - "@platforms//cpu:arm64": [ - "%s/arm64" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64" % package - for package in PACKAGES - ], - }), + ] + PACKAGES, ) oci_load( diff --git a/examples/debian_snapshot/BUILD.bazel b/examples/debian_snapshot/BUILD.bazel index 0b8d759..8d30b3a 100644 --- a/examples/debian_snapshot/BUILD.bazel +++ b/examples/debian_snapshot/BUILD.bazel @@ -48,10 +48,7 @@ tar( cacerts( name = "cacerts", - package = select({ - "@platforms//cpu:arm64": "@bullseye//ca-certificates/arm64:data", - "@platforms//cpu:x86_64": "@bullseye//ca-certificates/amd64:data", - }), + package = "@bullseye//ca-certificates:data", ) PACKAGES = [ @@ -70,16 +67,7 @@ PACKAGES = [ # Creates /var/lib/dpkg/status with installed package information. dpkg_status( name = "dpkg_status", - controls = select({ - "@platforms//cpu:arm64": [ - "%s/arm64:control" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64:control" % package - for package in PACKAGES - ], - }), + controls = ["%s:control" % p for p in PACKAGES], ) oci_image( @@ -99,16 +87,7 @@ oci_image( ":group", ":dpkg_status", ":cacerts", - ] + select({ - "@platforms//cpu:arm64": [ - "%s/arm64" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64" % package - for package in PACKAGES - ], - }), + ] + PACKAGES, ) oci_load( diff --git a/examples/ubuntu_snapshot/BUILD.bazel b/examples/ubuntu_snapshot/BUILD.bazel index 4441b91..6699c65 100644 --- a/examples/ubuntu_snapshot/BUILD.bazel +++ b/examples/ubuntu_snapshot/BUILD.bazel @@ -60,16 +60,7 @@ PACKAGES = [ # Creates /var/lib/dpkg/status with installed package information. dpkg_status( name = "dpkg_status", - controls = select({ - "@platforms//cpu:arm64": [ - "%s/arm64:control" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64:control" % package - for package in PACKAGES - ], - }), + controls = ["%s:control" % p for p in PACKAGES], ) oci_image( @@ -84,16 +75,7 @@ oci_image( ":passwd", ":group", ":dpkg_status", - ] + select({ - "@platforms//cpu:arm64": [ - "%s/arm64" % package - for package in PACKAGES - ], - "@platforms//cpu:x86_64": [ - "%s/amd64" % package - for package in PACKAGES - ], - }), + ] + PACKAGES, ) oci_load( From 4949412d83723561561d7887a0d74b269fd5b4e4 Mon Sep 17 00:00:00 2001 From: Javier Maestro Date: Fri, 20 Sep 2024 03:04:37 +0100 Subject: [PATCH 16/16] test: example with "all" arch only --- WORKSPACE.bazel | 11 +++++++ examples/debian_snapshot_all_arch/BUILD.bazel | 32 +++++++++++++++++++ .../bullseye_all.lock.json | 30 +++++++++++++++++ .../bullseye_all.yaml | 20 ++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 examples/debian_snapshot_all_arch/BUILD.bazel create mode 100644 examples/debian_snapshot_all_arch/bullseye_all.lock.json create mode 100644 examples/debian_snapshot_all_arch/bullseye_all.yaml diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index d0e1aa6..5dc901c 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -68,6 +68,17 @@ load("@nvidia_ubuntu2404_cuda//:packages.bzl", "nvidia_ubuntu2404_cuda_packages" nvidia_ubuntu2404_cuda_packages() +# bazel run @bullseye_all//:lock +deb_index( + name = "bullseye_all", + lock = "//examples/debian_snapshot_all_arch:bullseye_all.lock.json", + manifest = "//examples/debian_snapshot_all_arch:bullseye_all.yaml", +) + +load("@bullseye_all//:packages.bzl", "bullseye_all_packages") + +bullseye_all_packages() + deb_index( name = "apt_security", manifest = "//examples/debian_snapshot_security:security.yaml", diff --git a/examples/debian_snapshot_all_arch/BUILD.bazel b/examples/debian_snapshot_all_arch/BUILD.bazel new file mode 100644 index 0000000..f9b04ad --- /dev/null +++ b/examples/debian_snapshot_all_arch/BUILD.bazel @@ -0,0 +1,32 @@ +load("@aspect_bazel_lib//lib:jq.bzl", "jq") +load("@aspect_bazel_lib//lib:testing.bzl", "assert_contains") + +jq( + name = "pick_quake_arch", + srcs = [ + "@bullseye_all_resolve//:lockfile", + ], + args = ["-rj"], + filter = ".packages.quake[] | .arch", +) + +assert_contains( + name = "test_quake_arch", + actual = ":pick_quake_arch", + expected = "all", +) + +jq( + name = "pick_quake_version", + srcs = [ + "@bullseye_all_resolve//:lockfile", + ], + args = ["-rj"], + filter = ".packages.quake[] | .version", +) + +assert_contains( + name = "test_quake_version", + actual = ":pick_quake_version", + expected = "67", +) diff --git a/examples/debian_snapshot_all_arch/bullseye_all.lock.json b/examples/debian_snapshot_all_arch/bullseye_all.lock.json new file mode 100644 index 0000000..464ea01 --- /dev/null +++ b/examples/debian_snapshot_all_arch/bullseye_all.lock.json @@ -0,0 +1,30 @@ +{ + "packages": { + "game-data-packager-runtime": { + "all": { + "arch": "all", + "dependencies": [], + "name": "game-data-packager-runtime", + "sha256": "eee39c4ef95519191f8a3c2582661a4ba812962203046cfe5f97af00d73045ed", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/g/game-data-packager/game-data-packager-runtime_67_all.deb", + "version": "67" + } + }, + "quake": { + "all": { + "arch": "all", + "dependencies": [ + { + "name": "game-data-packager-runtime", + "version": "67" + } + ], + "name": "quake", + "sha256": "54298c07795d65cf216262980a8be700f2859aa6be16c7441b688e7d7a627af6", + "url": "https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z/pool/contrib/g/game-data-packager/quake_67_all.deb", + "version": "67" + } + } + }, + "version": 2 +} \ No newline at end of file diff --git a/examples/debian_snapshot_all_arch/bullseye_all.yaml b/examples/debian_snapshot_all_arch/bullseye_all.yaml new file mode 100644 index 0000000..7f92d58 --- /dev/null +++ b/examples/debian_snapshot_all_arch/bullseye_all.yaml @@ -0,0 +1,20 @@ +# Packages for examples/debian_snapshot_all_arch. +# +# Anytime this file is changed, the lockfile needs to be regenerated. +# +# To generate the bullseye_all.lock.json run the following command +# +# bazel run @bullseye_all//:lock +# +# See debian_package_index at WORKSPACE.bazel +version: 1 + +sources: + - channel: bullseye contrib + url: https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z + +archs: + - all + +packages: + - quake