Import various post-release fixes from upstream

This commit is contained in:
Simon McVittie 2016-11-29 01:22:24 +00:00
parent 7a1f6f353d
commit dd53e8d750
9 changed files with 222 additions and 4 deletions

1
debian/changelog vendored
View File

@ -6,6 +6,7 @@ ostree (2016.14-1) UNRELEASED; urgency=medium
version was already present in oldstable version was already present in oldstable
* New upstream release * New upstream release
- update symbols file for new ABI - update symbols file for new ABI
* Import various post-release fixes from upstream
-- Simon McVittie <smcv@debian.org> Thu, 24 Nov 2016 10:47:35 +0000 -- Simon McVittie <smcv@debian.org> Thu, 24 Nov 2016 10:47:35 +0000

View File

@ -14,12 +14,15 @@ Signed-off-by: Simon McVittie <smcv@debian.org>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildutil/tap-test b/buildutil/tap-test diff --git a/buildutil/tap-test b/buildutil/tap-test
index 6b2eb5c..4971f0b 100755 index c8da31e..fd79122 100755
--- a/buildutil/tap-test --- a/buildutil/tap-test
+++ b/buildutil/tap-test +++ b/buildutil/tap-test
@@ -20,4 +20,4 @@ function cleanup () { @@ -19,7 +19,7 @@ function skip_cleanup() {
echo "Skipping cleanup of ${tempdir}"
} }
trap cleanup EXIT
cd ${tempdir} cd ${tempdir}
-${srcd}/${bn} -k --tap -${srcd}/${bn} -k --tap
+timeout --kill-after=60 1800 ${srcd}/${bn} -k --tap +timeout --kill-after=60 1800 ${srcd}/${bn} -k --tap
rc=$?
case "${TEST_SKIP_CLEANUP:-}" in
no|"") cleanup ;;

View File

@ -0,0 +1,46 @@
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 28 Nov 2016 17:21:59 +0100
Subject: delta compilation: Fix leak
We need to ref-sik the new varian for g_autoptr to work
Closes: #597
Approved by: cgwalters
Origin: upstream, 2016.15, commit:d57036f
---
.../ostree-repo-static-delta-compilation.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/libostree/ostree-repo-static-delta-compilation.c b/src/libostree/ostree-repo-static-delta-compilation.c
index 4b0bc50..22c45e6 100644
--- a/src/libostree/ostree-repo-static-delta-compilation.c
+++ b/src/libostree/ostree-repo-static-delta-compilation.c
@@ -1532,17 +1532,17 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
/* floating */ GVariant *to_csum_v =
ostree_checksum_to_bytes_v (to);
- delta_descriptor = g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "ay"
- "a" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT
- "@a" OSTREE_STATIC_DELTA_FALLBACK_FORMAT ")",
- g_variant_builder_end (&metadata_builder),
- GUINT64_TO_BE (g_date_time_to_unix (now)),
- from_csum_v,
- to_csum_v,
- to_commit,
- g_variant_builder_new (G_VARIANT_TYPE ("ay")),
- part_headers,
- fallback_headers);
+ delta_descriptor = g_variant_ref_sink (g_variant_new ("(@a{sv}t@ay@ay@" OSTREE_COMMIT_GVARIANT_STRING "ay"
+ "a" OSTREE_STATIC_DELTA_META_ENTRY_FORMAT
+ "@a" OSTREE_STATIC_DELTA_FALLBACK_FORMAT ")",
+ g_variant_builder_end (&metadata_builder),
+ GUINT64_TO_BE (g_date_time_to_unix (now)),
+ from_csum_v,
+ to_csum_v,
+ to_commit,
+ g_variant_builder_new (G_VARIANT_TYPE ("ay")),
+ part_headers,
+ fallback_headers));
g_date_time_unref (now);
}

View File

@ -0,0 +1,50 @@
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 28 Nov 2016 15:31:04 +0100
Subject: ostree-repo-traverse: Don't leak floating GVariant
ostree_object_name_serialize returns a floating ref, so we need
to sink it before putting in the hashtable.
Closes: #595
Approved by: cgwalters
Origin: upstream, 2016.15, commit:fc107e5
---
src/libostree/ostree-repo-traverse.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/libostree/ostree-repo-traverse.c b/src/libostree/ostree-repo-traverse.c
index e620a8a..46f8324 100644
--- a/src/libostree/ostree-repo-traverse.c
+++ b/src/libostree/ostree-repo-traverse.c
@@ -348,7 +348,7 @@ traverse_iter (OstreeRepo *repo,
ostree_repo_commit_traverse_iter_get_file (iter, &name, &checksum);
g_debug ("Found file object %s", checksum);
- key = ostree_object_name_serialize (checksum, OSTREE_OBJECT_TYPE_FILE);
+ key = g_variant_ref_sink (ostree_object_name_serialize (checksum, OSTREE_OBJECT_TYPE_FILE));
g_hash_table_replace (inout_reachable, key, key);
key = NULL;
}
@@ -363,11 +363,11 @@ traverse_iter (OstreeRepo *repo,
g_debug ("Found dirtree object %s", content_checksum);
g_debug ("Found dirmeta object %s", meta_checksum);
- key = ostree_object_name_serialize (meta_checksum, OSTREE_OBJECT_TYPE_DIR_META);
+ key = g_variant_ref_sink (ostree_object_name_serialize (meta_checksum, OSTREE_OBJECT_TYPE_DIR_META));
g_hash_table_replace (inout_reachable, key, key);
key = NULL;
- key = ostree_object_name_serialize (content_checksum, OSTREE_OBJECT_TYPE_DIR_TREE);
+ key = g_variant_ref_sink (ostree_object_name_serialize (content_checksum, OSTREE_OBJECT_TYPE_DIR_TREE));
if (!g_hash_table_lookup (inout_reachable, key))
{
g_hash_table_replace (inout_reachable, key, key);
@@ -463,7 +463,7 @@ ostree_repo_traverse_commit_union (OstreeRepo *repo,
OstreeRepoCommitState commitstate;
gboolean ignore_missing_dirs = FALSE;
- key = ostree_object_name_serialize (commit_checksum, OSTREE_OBJECT_TYPE_COMMIT);
+ key = g_variant_ref_sink (ostree_object_name_serialize (commit_checksum, OSTREE_OBJECT_TYPE_COMMIT));
if (g_hash_table_contains (inout_reachable, key))
break;

View File

@ -0,0 +1,24 @@
From: "Jasper St. Pierre" <jstpierre@mecheye.net>
Date: Wed, 23 Nov 2016 13:52:39 -0800
Subject: ostree-repo-traverse: Remove an accidental print statement
Closes: #594
Approved by: jlebon
Origin: upstream, 2016.15, commit:70d140d
---
src/libostree/ostree-repo-traverse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libostree/ostree-repo-traverse.c b/src/libostree/ostree-repo-traverse.c
index 5d99476..e620a8a 100644
--- a/src/libostree/ostree-repo-traverse.c
+++ b/src/libostree/ostree-repo-traverse.c
@@ -407,7 +407,7 @@ traverse_dirtree (OstreeRepo *repo,
if (ignore_missing_dirs &&
g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
{
- g_print ("Ignoring not-found dirmeta %s", checksum);
+ g_debug ("Ignoring not-found dirmeta %s", checksum);
ret = TRUE;
}
else

View File

@ -0,0 +1,35 @@
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 28 Nov 2016 15:57:11 +0100
Subject: pull: Don't leak delta superblock variants
Closes: #596
Approved by: cgwalters
Origin: upstream, 2016.15, commit:36f7824
---
src/libostree/ostree-repo-pull.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
index 303daec..ffa387a 100644
--- a/src/libostree/ostree-repo-pull.c
+++ b/src/libostree/ostree-repo-pull.c
@@ -1478,8 +1478,8 @@ request_static_delta_superblock_sync (OtPullData *pull_data,
}
}
- ret_delta_superblock = g_variant_new_from_bytes ((GVariantType*)OSTREE_STATIC_DELTA_SUPERBLOCK_FORMAT,
- delta_superblock_data, FALSE);
+ ret_delta_superblock = g_variant_ref_sink (g_variant_new_from_bytes ((GVariantType*)OSTREE_STATIC_DELTA_SUPERBLOCK_FORMAT,
+ delta_superblock_data, FALSE));
}
ret = TRUE;
@@ -2951,7 +2951,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
g_autofree char *from_revision = NULL;
const char *ref = key;
const char *to_revision = value;
- GVariant *delta_superblock = NULL;
+ g_autoptr(GVariant) delta_superblock = NULL;
if (!ostree_repo_resolve_rev (pull_data->repo, ref, TRUE,
&from_revision, error))

View File

@ -0,0 +1,29 @@
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 28 Nov 2016 13:58:19 +0100
Subject: pull: scan_commit_object() - don't load variant twice
ostree_repo_load_commit already loaded the object, no need
to load it twice.
Closes: #595
Approved by: cgwalters
Origin: upstream, 2016.15, commit:c9b158e
---
src/libostree/ostree-repo-pull.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
index 9e96079..6f32c77 100644
--- a/src/libostree/ostree-repo-pull.c
+++ b/src/libostree/ostree-repo-pull.c
@@ -1137,10 +1137,6 @@ scan_commit_object (OtPullData *pull_data,
is_partial = pull_data->legacy_transaction_resuming
|| (commitstate & OSTREE_REPO_COMMIT_STATE_PARTIAL) > 0;
- if (!ostree_repo_load_variant (pull_data->repo, OSTREE_OBJECT_TYPE_COMMIT, checksum,
- &commit, error))
- goto out;
-
/* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
g_variant_get_child (commit, 1, "@ay", &parent_csum);
if (g_variant_n_children (parent_csum) > 0)

View File

@ -0,0 +1,24 @@
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 28 Nov 2016 15:56:50 +0100
Subject: pull_with_options: Don't leak csum_v
Closes: #596
Approved by: cgwalters
Origin: upstream, 2016.15, commit:239cb14
---
src/libostree/ostree-repo-pull.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
index 6f32c77..303daec 100644
--- a/src/libostree/ostree-repo-pull.c
+++ b/src/libostree/ostree-repo-pull.c
@@ -2800,7 +2800,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
for (i = 0; i < n; i++)
{
const char *delta;
- GVariant *csum_v = NULL;
+ g_autoptr(GVariant) csum_v = NULL;
guchar *csum_data = g_malloc (OSTREE_SHA256_DIGEST_LEN);
g_autoptr(GVariant) ref = g_variant_get_child_value (deltas, i);

View File

@ -1 +1,7 @@
Terminate-individual-tests-after-half-an-hour.patch ostree-repo-traverse-Remove-an-accidental-print-statement.patch
pull-scan_commit_object-don-t-load-variant-twice.patch
ostree-repo-traverse-Don-t-leak-floating-GVariant.patch
pull_with_options-Don-t-leak-csum_v.patch
pull-Don-t-leak-delta-superblock-variants.patch
delta-compilation-Fix-leak.patch
debian/Terminate-individual-tests-after-half-an-hour.patch