diff --git a/debian/changelog b/debian/changelog index f4758c37..0dd45b10 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ ostree (2022.2-1) UNRELEASED; urgency=medium * d/p/s390x-se-luks-gencpio-Use-interoperable-path-for-bash.patch: Add patch to retain compatibility with non-/usr-merged systems * d/libostree-1-1.symbols: Update + * d/p/test-prune-Read-to-the-end-of-cut-1-output.patch: + Add patch to fix an intermittent test failure involving SIGPIPE -- Simon McVittie Mon, 07 Mar 2022 19:16:49 +0000 diff --git a/debian/patches/series b/debian/patches/series index 5b5add2d..c2a5e547 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ debian/Skip-test-pull-repeated-during-CI.patch s390x-se-luks-gencpio-Use-interoperable-path-for-bash.patch +test-prune-Read-to-the-end-of-cut-1-output.patch diff --git a/debian/patches/test-prune-Read-to-the-end-of-cut-1-output.patch b/debian/patches/test-prune-Read-to-the-end-of-cut-1-output.patch new file mode 100644 index 00000000..7b46b983 --- /dev/null +++ b/debian/patches/test-prune-Read-to-the-end-of-cut-1-output.patch @@ -0,0 +1,28 @@ +From: Simon McVittie +Date: Mon, 7 Mar 2022 19:52:25 +0000 +Subject: test-prune: Read to the end of cut(1) output + +If we use head(1) to take only the first two lines, then cut(1) and +earlier pipeline entries are killed by SIGPIPE (if they have not already +terminated), and that's flagged as an error under `set -o pipefail`. +Use an equivalent sed command to take exactly the second line, but +without SIGPIPE. + +Signed-off-by: Simon McVittie +--- + tests/test-prune.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test-prune.sh b/tests/test-prune.sh +index 20904f3..bbb77a2 100755 +--- a/tests/test-prune.sh ++++ b/tests/test-prune.sh +@@ -350,7 +350,7 @@ tap_ok --commit-only and --delete-commit + # Test --delete-commit when it creates orphaned commits + reinitialize_commit_only_test_repo + # get the current HEAD's parent on dev branch +-COMMIT_TO_DELETE=$(${CMD_PREFIX} ostree --repo=repo log dev | grep ^commit | cut -f 2 -d' ' | head -n 2 | tail -n 1) ++COMMIT_TO_DELETE=$(${CMD_PREFIX} ostree --repo=repo log dev | grep ^commit | cut -f 2 -d' ' | sed -ne '2p') + ${CMD_PREFIX} ostree --repo=repo prune --commit-only --refs-only --delete-commit=$COMMIT_TO_DELETE + # we deleted a commit that orphaned another, so we lose two commits + assert_repo_has_n_commits repo 4