summaryrefslogtreecommitdiff
path: root/builder
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2016-03-23 14:54:47 +0100
committerAlexander Larsson <alexl@redhat.com>2016-03-23 14:54:47 +0100
commitd32b13a695184e863f9334f5f0832217e86101a3 (patch)
treee0fa69ccc84bdccb7c6bdbb0d8c69d4496373ff7 /builder
parentd6f9e03a612bd38521b04592aff33b10dff99fe3 (diff)
downloadxdg-app-d32b13a695184e863f9334f5f0832217e86101a3.tar.gz
builder: Checksum metadata-platform contents for cache too
Diffstat (limited to 'builder')
-rw-r--r--builder/builder-manifest.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/builder/builder-manifest.c b/builder/builder-manifest.c
index faf5884..bb39f0d 100644
--- a/builder/builder-manifest.c
+++ b/builder/builder-manifest.c
@@ -1012,6 +1012,20 @@ builder_manifest_checksum_for_platform (BuilderManifest *self,
builder_cache_checksum_str (cache, self->metadata_platform);
builder_cache_checksum_strv (cache, self->cleanup_platform);
builder_cache_checksum_strv (cache, self->platform_extensions);
+
+ if (self->metadata_platform)
+ {
+ GFile *base_dir = builder_context_get_base_dir (context);
+ g_autoptr(GFile) metadata = g_file_resolve_relative_path (base_dir, self->metadata_platform);
+ g_autofree char *data = NULL;
+ g_autoptr(GError) my_error = NULL;
+ gsize len;
+
+ if (g_file_load_contents (metadata, NULL, &data, &len, NULL, &my_error))
+ builder_cache_checksum_data (cache, (guchar *)data, len);
+ else
+ g_warning ("Can't load metadata-platform file %s: %s", self->metadata_platform, my_error->message);
+ }
}
gboolean