Add some post-release bug fix patches
This commit is contained in:
parent
d39f0321d8
commit
1978d82cbf
|
|
@ -3,6 +3,7 @@ ostree (2017.12-1) UNRELEASED; urgency=medium
|
|||
* New upstream release
|
||||
- Drop all current patches, applied upstream
|
||||
- Update symbols file
|
||||
* Add some post-release bug fix patches
|
||||
|
||||
-- Simon McVittie <smcv@debian.org> Tue, 03 Oct 2017 19:14:14 +0100
|
||||
|
||||
|
|
|
|||
90
debian/patches/2017.13/lib-pull-Fix-regression-with-pull-local-for-nonexistent-r.patch
vendored
Normal file
90
debian/patches/2017.13/lib-pull-Fix-regression-with-pull-local-for-nonexistent-r.patch
vendored
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
From: Colin Walters <walters@verbum.org>
|
||||
Date: Mon, 2 Oct 2017 11:24:05 -0400
|
||||
Subject: lib/pull: Fix regression with pull-local for nonexistent refs
|
||||
|
||||
I was reading the pull code for the last release, and spotted
|
||||
a bug in commit f923c2e1eaebe0c781f07d34ae1a03f94357bccd - in
|
||||
the case where the ref doesn't exist, we don't set an error,
|
||||
tripping an assertion in the main code.
|
||||
|
||||
The previous code wanted the ref to always exist, so just flip back the boolean
|
||||
for "ignore noent". I moved the `g_strchomp()` just into the HTTP path - if a
|
||||
local repo is corrupted in this way it's something to fix in that repo.
|
||||
|
||||
Closes: #1238
|
||||
Approved by: pwithnall
|
||||
Origin: upstream, 2017.13, commit:b8c15ae859de7a353b99c98c6266ee626cd94e7e
|
||||
---
|
||||
src/libostree/ostree-repo-pull.c | 13 ++++++-------
|
||||
tests/pull-test.sh | 10 +++++++++-
|
||||
2 files changed, 15 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
|
||||
index 8a699ca..d5062e0 100644
|
||||
--- a/src/libostree/ostree-repo-pull.c
|
||||
+++ b/src/libostree/ostree-repo-pull.c
|
||||
@@ -844,7 +844,7 @@ fetch_ref_contents (OtPullData *pull_data,
|
||||
{
|
||||
#ifdef OSTREE_ENABLE_EXPERIMENTAL_API
|
||||
if (!ostree_repo_resolve_collection_ref (pull_data->remote_repo_local,
|
||||
- ref, TRUE /* ignore enoent */,
|
||||
+ ref, FALSE,
|
||||
OSTREE_REPO_RESOLVE_REV_EXT_NONE,
|
||||
&ret_contents, cancellable, error))
|
||||
return FALSE;
|
||||
@@ -855,7 +855,7 @@ fetch_ref_contents (OtPullData *pull_data,
|
||||
else if (pull_data->remote_repo_local != NULL)
|
||||
{
|
||||
if (!ostree_repo_resolve_rev_ext (pull_data->remote_repo_local,
|
||||
- ref->ref_name, TRUE /* ignore enoent */,
|
||||
+ ref->ref_name, FALSE,
|
||||
OSTREE_REPO_RESOLVE_REV_EXT_NONE,
|
||||
&ret_contents, error))
|
||||
return FALSE;
|
||||
@@ -874,14 +874,13 @@ fetch_ref_contents (OtPullData *pull_data,
|
||||
filename, &ret_contents,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
+
|
||||
+ g_strchomp (ret_contents);
|
||||
}
|
||||
|
||||
- /* Validate and return. */
|
||||
- if (ret_contents != NULL)
|
||||
- g_strchomp (ret_contents);
|
||||
+ g_assert (ret_contents);
|
||||
|
||||
- if (ret_contents == NULL ||
|
||||
- !ostree_validate_checksum_string (ret_contents, error))
|
||||
+ if (!ostree_validate_checksum_string (ret_contents, error))
|
||||
return glnx_prefix_error (error, "Fetching checksum for ref (%s, %s)",
|
||||
ref->collection_id ? ref->collection_id : "(empty)",
|
||||
ref->ref_name);
|
||||
diff --git a/tests/pull-test.sh b/tests/pull-test.sh
|
||||
index 7d4b57f..2afc0ac 100644
|
||||
--- a/tests/pull-test.sh
|
||||
+++ b/tests/pull-test.sh
|
||||
@@ -35,7 +35,7 @@ function verify_initial_contents() {
|
||||
assert_file_has_content baz/cow '^moo$'
|
||||
}
|
||||
|
||||
-echo "1..31"
|
||||
+echo "1..32"
|
||||
|
||||
# Try both syntaxes
|
||||
repo_init --no-gpg-verify
|
||||
@@ -238,6 +238,14 @@ ${CMD_PREFIX} ostree --repo=mirrorrepo-local rev-parse localbranch
|
||||
${CMD_PREFIX} ostree --repo=mirrorrepo-local fsck
|
||||
echo "ok pull-local mirror errors with mixed refs"
|
||||
|
||||
+rm -f otherrepo/summary
|
||||
+if ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo nosuchbranch 2>err.txt; then
|
||||
+ fatal "pulled nonexistent branch"
|
||||
+fi
|
||||
+# So true
|
||||
+assert_file_has_content_literal err.txt "error: Refspec 'nosuchbranch' not found"
|
||||
+echo "ok pull-local nonexistent branch"
|
||||
+
|
||||
cd ${test_tmpdir}
|
||||
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit -b main -s "Metadata string" --add-detached-metadata-string=SIGNATURE=HANCOCK --tree=ref=main
|
||||
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
|
||||
30
debian/patches/2017.13/lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
vendored
Normal file
30
debian/patches/2017.13/lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
From: Philip Withnall <withnall@endlessm.com>
|
||||
Date: Tue, 3 Oct 2017 15:45:34 +0100
|
||||
Subject: lib/repo-commit: Import detached metadata even if hardlink exists
|
||||
|
||||
Spotted while reading through the code, it looks like the
|
||||
copy_detached_metadata() call is accidentally omitted if a hardlink
|
||||
already exists for the .commit object.
|
||||
|
||||
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
||||
|
||||
Closes: #1242
|
||||
Approved by: cgwalters
|
||||
Origin: upstream, 2017.13, commit:86e072bdbe48a4f16efb05c00eb79114e5fdbf61
|
||||
---
|
||||
src/libostree/ostree-repo-commit.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
|
||||
index c4484f4..76bc187 100644
|
||||
--- a/src/libostree/ostree-repo-commit.c
|
||||
+++ b/src/libostree/ostree-repo-commit.c
|
||||
@@ -3255,7 +3255,7 @@ import_one_object_direct (OstreeRepo *dest_repo,
|
||||
if (linkat (src_repo->objects_dir_fd, loose_path_buf, dest_dfd, loose_path_buf, 0) != 0)
|
||||
{
|
||||
if (errno == EEXIST)
|
||||
- return TRUE;
|
||||
+ did_hardlink = TRUE;
|
||||
else if (errno == EMLINK || errno == EXDEV || errno == EPERM)
|
||||
{
|
||||
/* EMLINK, EXDEV and EPERM shouldn't be fatal; we just can't do
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
2017.13/lib-pull-Fix-regression-with-pull-local-for-nonexistent-r.patch
|
||||
2017.13/lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
|
||||
Loading…
Reference in New Issue