~roguescholar/flatpak/+git/trunk:wip/oci-labels

Last commit made on 2019-09-03
Get this branch:
git clone -b wip/oci-labels https://git.launchpad.net/~roguescholar/flatpak/+git/trunk

Branch merges

Branch information

Name:
wip/oci-labels
Repository:
lp:~roguescholar/flatpak/+git/trunk

Recent commits

24e5f36... by Alexander Larsson <email address hidden>

tests: Add tests for oci registries using labels instead of annotations

0172166... by Alexander Larsson <email address hidden>

OCI: Handle NULL when marshalling manifest string maps

This was happening for the org.opencontainers.image.ref.name annotation
when we're in labels mode, but might as well be handled in a generic
way.

f9c5e1e... by Alexander Larsson <email address hidden>

OCI: Don't crash on mirroring an OCI repo without annotations

If we're using labels the annotations hashtable may be NULL, which
was causing a crash. Just do an early check.

e1f46ff... by Alexander Larsson <email address hidden>

OCI: Handle manifests without annotations in index.json

When we export a manifest to the index, always pass the ref we're
targeting instead of relying on the org.opencontainers.image.ref.name
annotation, because that may not be set if we're using labels instead.

This is no big deal, because we know what ref we're handling anyway.

a9a0c37... by Alexander Larsson <email address hidden>

OCI: Make use of labels or annotations configurable

If repo uri has ?index=label then query for labels, otherwise
keep querying for annotations like before.

b533589... by Alexander Larsson <email address hidden>

build-bundle: Add --oci-use-labels switch

This allows the user to pick at runtime whether to use
annotations or labels as OCI metadata carrier. For historical
reasons annotations is the default, but some registries don't
support this and then you can use labels instead.

68e5d95... by Alexander Larsson <email address hidden>

OCI: Use labels as commit metadata source as well as annotations

We now pull the image config as well as the manifest and fall
back on the labels field if the keys we're looking for are not
in the annotations field.

This lets us support docker manifests too, which don't have
annotations (but do have labels).

83c2bdf... by Alexander Larsson <email address hidden>

OCI: Don't crash if mediaType field missing in flatpak_oci_versioned_from_json

94ed294... by Alexander Larsson <email address hidden>

OCI: Add flatpak_oci_registry_load_image_config helper

We can't use load_versioned() for images because in the docker
case there is no mediatype field.

09831d5... by Alexander Larsson <email address hidden>

OCI: Accept docker v2 manifests as well as OCI manifests