deltas: Add a timestamp to delta metadata

This commit is contained in:
Colin Walters 2014-02-10 08:29:00 -05:00
parent f526fd4e3c
commit 60c4d467aa
3 changed files with 12 additions and 6 deletions

View File

@ -365,10 +365,15 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
metadata_source = tmp_metadata; metadata_source = tmp_metadata;
} }
delta_descriptor = g_variant_new ("(@(a(ss)a(say))aya(ayttay))", {
metadata_source, GDateTime *now = g_date_time_new_now_utc ();
g_variant_builder_new (G_VARIANT_TYPE ("ay")), delta_descriptor = g_variant_new ("(@(a(ss)a(say))taya" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT ")",
part_headers); metadata_source,
GUINT64_TO_BE (g_date_time_to_unix (now)),
g_variant_builder_new (G_VARIANT_TYPE ("ay")),
part_headers);
g_date_time_unref (now);
}
if (!ot_util_variant_save (descriptor_path, delta_descriptor, cancellable, error)) if (!ot_util_variant_save (descriptor_path, delta_descriptor, cancellable, error))
goto out; goto out;

View File

@ -215,7 +215,7 @@ ostree_repo_static_delta_execute_offline (OstreeRepo *self,
FALSE, &meta, error)) FALSE, &meta, error))
goto out; goto out;
headers = g_variant_get_child_value (meta, 2); headers = g_variant_get_child_value (meta, 3);
n = g_variant_n_children (headers); n = g_variant_n_children (headers);
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
{ {

View File

@ -59,6 +59,7 @@ G_BEGIN_DECLS
* *
* delta-descriptor: * delta-descriptor:
* metadata: a{sv} * metadata: a{sv}
* timestamp: guint64
* ARRAY[(csum from, csum to)]: ay * ARRAY[(csum from, csum to)]: ay
* ARRAY[delta-part-header] * ARRAY[delta-part-header]
* *
@ -70,7 +71,7 @@ G_BEGIN_DECLS
* recursion mechanism that would potentially allow saving significant * recursion mechanism that would potentially allow saving significant
* storage space on the server. * storage space on the server.
*/ */
#define OSTREE_STATIC_DELTA_META_FORMAT "(a{sv}aya" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT ")" #define OSTREE_STATIC_DELTA_META_FORMAT "(a{sv}taya" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT ")"
gboolean _ostree_static_delta_part_execute (OstreeRepo *repo, gboolean _ostree_static_delta_part_execute (OstreeRepo *repo,
GVariant *header, GVariant *header,