diff --git a/app/flatpak-builtins-build-bundle.c b/app/flatpak-builtins-build-bundle.c index b11a68c1..22aa18d6 100644 --- a/app/flatpak-builtins-build-bundle.c +++ b/app/flatpak-builtins-build-bundle.c @@ -553,7 +553,7 @@ build_oci (OstreeRepo *repo, const char *commit_checksum, GFile *dir, if (index == NULL) index = flatpak_oci_index_new (); - flatpak_oci_index_add_manifest (index, manifest_desc); + flatpak_oci_index_add_manifest (index, ref, manifest_desc); if (!flatpak_oci_registry_save_index (registry, index, cancellable, error)) return FALSE; diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 37deefd3..bdaea272 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -5025,7 +5025,7 @@ flatpak_dir_mirror_oci (FlatpakDir *self, g_debug ("Mirroring OCI image %s", oci_digest); - res = flatpak_mirror_image_from_oci (dst_registry, registry, oci_repository, oci_digest, oci_pull_progress_cb, + res = flatpak_mirror_image_from_oci (dst_registry, registry, oci_repository, oci_digest, ref, oci_pull_progress_cb, progress, cancellable, error); if (progress) diff --git a/common/flatpak-json-oci-private.h b/common/flatpak-json-oci-private.h index 1dda1af4..63a2205b 100644 --- a/common/flatpak-json-oci-private.h +++ b/common/flatpak-json-oci-private.h @@ -152,6 +152,7 @@ struct _FlatpakOciIndexClass FlatpakOciIndex * flatpak_oci_index_new (void); void flatpak_oci_index_add_manifest (FlatpakOciIndex *self, + const char *ref, FlatpakOciDescriptor *desc); gboolean flatpak_oci_index_remove_manifest (FlatpakOciIndex *self, const char *ref); diff --git a/common/flatpak-json-oci.c b/common/flatpak-json-oci.c index bf5a03f5..feef1eaf 100644 --- a/common/flatpak-json-oci.c +++ b/common/flatpak-json-oci.c @@ -448,21 +448,18 @@ flatpak_oci_index_get_n_manifests (FlatpakOciIndex *self) void flatpak_oci_index_add_manifest (FlatpakOciIndex *self, + const char *ref, FlatpakOciDescriptor *desc) { FlatpakOciManifestDescriptor *m; - const char *m_ref = NULL; int count; - if (desc->annotations != NULL) - m_ref = g_hash_table_lookup (desc->annotations, "org.flatpak.ref"); - - if (m_ref != NULL) - flatpak_oci_index_remove_manifest (self, m_ref); + if (ref != NULL) + flatpak_oci_index_remove_manifest (self, ref); count = flatpak_oci_index_get_n_manifests (self); - m = manifest_desc_for_desc (desc, m_ref); + m = manifest_desc_for_desc (desc, ref); self->manifests = g_renew (FlatpakOciManifestDescriptor *, self->manifests, count + 2); self->manifests[count] = m; self->manifests[count + 1] = NULL; diff --git a/common/flatpak-utils-private.h b/common/flatpak-utils-private.h index c7360dd4..85102aa2 100644 --- a/common/flatpak-utils-private.h +++ b/common/flatpak-utils-private.h @@ -526,6 +526,7 @@ gboolean flatpak_mirror_image_from_oci (FlatpakOciRegistry *dst_registry, FlatpakOciRegistry *registry, const char *oci_repository, const char *digest, + const char *ref, FlatpakOciPullProgress progress_cb, gpointer progress_data, GCancellable *cancellable, diff --git a/common/flatpak-utils.c b/common/flatpak-utils.c index 01621ed8..d12e0bee 100644 --- a/common/flatpak-utils.c +++ b/common/flatpak-utils.c @@ -5426,6 +5426,7 @@ flatpak_mirror_image_from_oci (FlatpakOciRegistry *dst_registry, FlatpakOciRegistry *registry, const char *oci_repository, const char *digest, + const char *ref, FlatpakOciPullProgress progress_cb, gpointer progress_user_data, GCancellable *cancellable, @@ -5491,7 +5492,7 @@ flatpak_mirror_image_from_oci (FlatpakOciRegistry *dst_registry, flatpak_oci_export_annotations (manifest->annotations, manifest_desc->annotations); - flatpak_oci_index_add_manifest (index, manifest_desc); + flatpak_oci_index_add_manifest (index, ref, manifest_desc); if (!flatpak_oci_registry_save_index (dst_registry, index, cancellable, error)) return FALSE;