commit
3f12edc814
@ -1,101 +0,0 @@
|
|||||||
From 07c4249a3f6e4c30812bdffe7ee18cd67e23a87e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Simon McVittie <smcv@collabora.com>
|
|
||||||
Date: Sun, 22 Nov 2020 13:17:24 +0000
|
|
||||||
Subject: [PATCH] test-pull-summary-sigs: Set timestamps to serve expected
|
|
||||||
files
|
|
||||||
|
|
||||||
If this is not done, the test can fail when the temporary directory is
|
|
||||||
a tmpfs: for example this happens during build-time testing with /var/tmp
|
|
||||||
on tmpfs or TEST_TMPDIR pointing to a tmpfs, or installed-tests with
|
|
||||||
gnome-desktop-testing-runner allocating the test directory on a tmpfs.
|
|
||||||
|
|
||||||
In particular, many of Debian's official autobuilders now do the entire
|
|
||||||
build and test procedure in a chroot hosted on a tmpfs, to improve build
|
|
||||||
performance and prevent fsync overhead.
|
|
||||||
|
|
||||||
In this situation, it appears that overwriting summary.sig with a copy
|
|
||||||
of summary.sig.2 is not sufficient for the web server to tell the
|
|
||||||
libostree client that it needs to be re-downloaded. I'm not completely
|
|
||||||
sure why, because tmpfs does appear to have sub-second-resolution
|
|
||||||
timestamps, but forcing a distinct mtime is certainly enough to
|
|
||||||
resolve it.
|
|
||||||
|
|
||||||
Resolves: https://github.com/ostreedev/ostree/issues/2245
|
|
||||||
Bug-Debian: https://bugs.debian.org/975418
|
|
||||||
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
||||||
---
|
|
||||||
tests/test-pull-summary-sigs.sh | 12 ++++++++++++
|
|
||||||
1 file changed, 12 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tests/test-pull-summary-sigs.sh b/tests/test-pull-summary-sigs.sh
|
|
||||||
index 401e88c91..3819cbf3d 100755
|
|
||||||
--- a/tests/test-pull-summary-sigs.sh
|
|
||||||
+++ b/tests/test-pull-summary-sigs.sh
|
|
||||||
@@ -175,6 +175,8 @@ cd ${test_tmpdir}
|
|
||||||
# Reset to the old valid summary and pull to cache it
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.1,}
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.1,}
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
repo_reinit
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
@@ -186,6 +188,7 @@ cmp repo/tmp/cache/summaries/origin.sig ${test_tmpdir}/ostree-srv/gnomerepo/summ
|
|
||||||
# summary signature since it was generated on the server between the
|
|
||||||
# requests
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.2,}
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
if ${OSTREE} --repo=repo pull origin main 2>err.txt; then
|
|
||||||
assert_not_reached "Successful pull with old summary"
|
|
||||||
fi
|
|
||||||
@@ -197,6 +200,7 @@ cmp repo/tmp/cache/summaries/origin.sig ${test_tmpdir}/ostree-srv/gnomerepo/summ
|
|
||||||
|
|
||||||
# Publish correct summary and check that subsequent pull succeeds
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.2,}
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin.sig
|
|
||||||
@@ -208,6 +212,8 @@ echo "ok pull with signed summary remote old summary"
|
|
||||||
# Reset to the old valid summary and pull to cache it
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.1,}
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.1,}
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
repo_reinit
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
@@ -220,6 +226,7 @@ cmp repo/tmp/cache/summaries/origin.sig ${test_tmpdir}/ostree-srv/gnomerepo/summ
|
|
||||||
# is caching the old signature. This should succeed because the cached
|
|
||||||
# old summary is used.
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.2,}
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin.sig
|
|
||||||
@@ -228,6 +235,7 @@ cmp repo/tmp/cache/summaries/origin.sig ${test_tmpdir}/ostree-srv/gnomerepo/summ
|
|
||||||
|
|
||||||
# Publish correct signature and check that subsequent pull succeeds
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.2,}
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin.sig
|
|
||||||
@@ -239,6 +247,8 @@ echo "ok pull with signed summary remote old summary signature"
|
|
||||||
# Reset to the old valid summary and pull to cache it
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.1,}
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.1,}
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
+touch -t 200101010101 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
repo_reinit
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
@@ -273,6 +283,8 @@ cmp repo/tmp/cache/summaries/origin.sig ${test_tmpdir}/ostree-srv/gnomerepo/summ
|
|
||||||
# Publish new signature and check that subsequent pull succeeds
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary{.2,}
|
|
||||||
cp ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig{.2,}
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary
|
|
||||||
+touch -t 200202020202 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
|
|
||||||
${OSTREE} --repo=repo pull origin main
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin
|
|
||||||
assert_has_file repo/tmp/cache/summaries/origin.sig
|
|
||||||
Binary file not shown.
15
ostree.spec
15
ostree.spec
@ -1,18 +1,19 @@
|
|||||||
Name: ostree
|
Name: ostree
|
||||||
Version: 2020.8
|
Version: 2021.6
|
||||||
Release: 3
|
Release: 1
|
||||||
Summary: A tool like git for operating system binaries
|
Summary: A tool like git for operating system binaries
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://ostree.readthedocs.io/en/latest/
|
URL: https://ostree.readthedocs.io/en/latest/
|
||||||
Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libostree-%{version}.tar.xz
|
Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libostree-%{version}.tar.xz
|
||||||
|
|
||||||
Patch1: Do-not-run-testcase-test-libarvhive-import-because-selinux-is-off.patch
|
Patch9000: Do-not-run-testcase-test-libarvhive-import-because-selinux-is-off.patch
|
||||||
Patch2: backport-test-pull-summary-sigs-Set-timestamps-to-serve-expected.patch
|
Patch9001: skip-updating-the-preference.patch
|
||||||
|
|
||||||
BuildRequires: bison autoconf automake libtool gobject-introspection-devel pkgconfig(liblzma) docbook-xsl
|
BuildRequires: bison autoconf automake libtool gobject-introspection-devel pkgconfig(liblzma) docbook-xsl
|
||||||
BuildRequires: pkgconfig(e2p) pkgconfig(zlib) pkgconfig(libcurl) pkgconfig(libsoup-2.4) gpgme-devel
|
BuildRequires: pkgconfig(e2p) pkgconfig(zlib) pkgconfig(libcurl) pkgconfig(libsoup-2.4) gpgme-devel
|
||||||
BuildRequires: pkgconfig(libselinux) pkgconfig(libcrypto) pkgconfig(fuse) pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libselinux) pkgconfig(libcrypto) pkgconfig(fuse) pkgconfig(libsystemd)
|
||||||
BuildRequires: dracut openssl-devel pkgconfig(mount) pkgconfig(libarchive) python3-pyyaml libxslt
|
BuildRequires: dracut openssl-devel pkgconfig(mount) pkgconfig(libarchive) python3-pyyaml libxslt
|
||||||
|
BuildRequires: gtk-doc
|
||||||
Requires: dracut systemd-units gnupg2
|
Requires: dracut systemd-units gnupg2
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
Requires: grub2
|
Requires: grub2
|
||||||
@ -91,6 +92,12 @@ make check
|
|||||||
%{_mandir}/man*/{ostree,rofiles}*.gz
|
%{_mandir}/man*/{ostree,rofiles}*.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 8 2022 yangzhuangzhuang <yangzhuangzhuang1@h-partners.com> - 2021.6-1
|
||||||
|
- Type:enhancement
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:update ostree to 2021.6
|
||||||
|
|
||||||
* Tue Jul 20 2021 wangchen <wangchen137@huawei.com> - 2020.8-3
|
* Tue Jul 20 2021 wangchen <wangchen137@huawei.com> - 2020.8-3
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
25
skip-updating-the-preference.patch
Normal file
25
skip-updating-the-preference.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From fb7daae318b4bec222c166578566ac2945c638a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: wangjie <wangejie375@h-partners.com>
|
||||||
|
Date: Mon, 20 Dec 2021 11:04:00 +0800
|
||||||
|
Subject: [PATCH] skip updating the preference
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/test-remote-gpg-list-keys.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test-remote-gpg-list-keys.sh b/tests/test-remote-gpg-list-keys.sh
|
||||||
|
index 51b6008..ffb7850 100755
|
||||||
|
--- a/tests/test-remote-gpg-list-keys.sh
|
||||||
|
+++ b/tests/test-remote-gpg-list-keys.sh
|
||||||
|
@@ -127,7 +127,7 @@ else
|
||||||
|
# implicitly migrated to the newer format, but this test hasn't
|
||||||
|
# signed anything, so the private keys haven't been loaded. Force
|
||||||
|
# the migration by listing the private keys.
|
||||||
|
- ${GPG} --homedir=${test_tmpdir}/gpghome -K >/dev/null
|
||||||
|
+ ${GPG} --homedir=${test_tmpdir}/gpghome -K --batch >/dev/null
|
||||||
|
|
||||||
|
# Expire key1, wait for it to be expired and re-import it.
|
||||||
|
${GPG} --homedir=${test_tmpdir}/gpghome --quick-set-expire ${TEST_GPG_KEYFPR_1} seconds=1
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user