From 1d9a67dc5dc80769ced3991a79225aa5d9cba56d Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 7 Nov 2023 11:56:52 +0000 Subject: [PATCH] import UBI ostree-2023.6-1.el9 --- .gitignore | 2 +- .ostree.metadata | 2 +- ...001-Add-an-always-on-inode64-feature.patch | 57 ------------------- ...ostree-deployment-on-64-bit-inode-fs.patch | 55 ------------------ ...614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch | 27 --------- SPECS/ostree.spec | 46 ++++++++------- 6 files changed, 28 insertions(+), 161 deletions(-) delete mode 100644 SOURCES/0001-Add-an-always-on-inode64-feature.patch delete mode 100644 SOURCES/0001-commit-fix-ostree-deployment-on-64-bit-inode-fs.patch delete mode 100644 SOURCES/0002-Backport-7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch diff --git a/.gitignore b/.gitignore index 1b0f045..d302873 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libostree-2023.1.tar.xz +SOURCES/libostree-2023.6.tar.xz diff --git a/.ostree.metadata b/.ostree.metadata index e7e889b..4099ae6 100644 --- a/.ostree.metadata +++ b/.ostree.metadata @@ -1 +1 @@ -2ee58148c225e78587affa8eaf58e431fdfeb468 SOURCES/libostree-2023.1.tar.xz +1f063c495ee29b92903c152fa410df96c80d5e25 SOURCES/libostree-2023.6.tar.xz diff --git a/SOURCES/0001-Add-an-always-on-inode64-feature.patch b/SOURCES/0001-Add-an-always-on-inode64-feature.patch deleted file mode 100644 index e6bf870..0000000 --- a/SOURCES/0001-Add-an-always-on-inode64-feature.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 333c01659781cb5d956476f5b4cd3366a6f2d81d Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 20 Jul 2023 09:13:43 -0400 -Subject: [PATCH] Add an always-on `inode64` feature - -As I (and others) will be backporting the fix in -https://github.com/ostreedev/ostree/pull/2874/commits/de6fddc6adee09a93901243dc7074090828a1912 -pretty far, I want a way for sysadmins and OS builders to -be able to reliably see when their version of ostree has this fix -(Because comparing version numbers isn't portable). ---- - configure.ac | 5 ++++- - tests/basic-test.sh | 7 ++++++- - tests/inst/src/repobin.rs | 5 ++++- - 3 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0e45aa87..9de69551 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -82,7 +82,10 @@ AM_COND_IF([BUILDOPT_TSAN], - LT_PREREQ([2.2.4]) - LT_INIT([disable-static]) - --OSTREE_FEATURES="" -+dnl We have an always-on feature now to signify the fix for -+dnl https://github.com/ostreedev/ostree/pull/2874/commits/de6fddc6adee09a93901243dc7074090828a1912 -+dnl "commit: fix ostree deployment on 64-bit inode fs" -+OSTREE_FEATURES="inode64" - AC_SUBST([OSTREE_FEATURES]) - - GLIB_TESTS -diff --git a/tests/basic-test.sh b/tests/basic-test.sh -index e2a7d70c..0a50ae2f 100644 ---- a/tests/basic-test.sh -+++ b/tests/basic-test.sh -@@ -19,7 +19,7 @@ - - set -euo pipefail - --echo "1..$((90 + ${extra_basic_tests:-0}))" -+echo "1..$((91 + ${extra_basic_tests:-0}))" - - CHECKOUT_U_ARG="" - CHECKOUT_H_ARGS="-H" -@@ -41,6 +41,11 @@ fi - # This should be dynamic now - assert_not_has_dir repo/uncompressed-objects-cache - -+if ! $OSTREE --version | grep -q -e '- inode64'; then -+ fatal missing inode64 feature -+fi -+echo "ok inode64 feature" -+ - validate_checkout_basic() { - (cd $1; - assert_has_file firstfile diff --git a/SOURCES/0001-commit-fix-ostree-deployment-on-64-bit-inode-fs.patch b/SOURCES/0001-commit-fix-ostree-deployment-on-64-bit-inode-fs.patch deleted file mode 100644 index 3e5f6d3..0000000 --- a/SOURCES/0001-commit-fix-ostree-deployment-on-64-bit-inode-fs.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 5df15fffc36593a57131921997569e4b8de4015f Mon Sep 17 00:00:00 2001 -From: Abylay Ospan -Date: Tue, 6 Jun 2023 02:13:14 +0000 -Subject: [PATCH] commit: fix ostree deployment on 64-bit inode fs - -This commit addresses a bug that was causing ostree deployment -to become corrupted on the large fs, when any package was installed using -'rpm-ostree install'. - -In such instances, multiple files were assigned the same inode. For -example, the '/home' directory and a regular file 'pkg-get' were -assigned the same inode (2147484070), making the deployment unusable. - -A root cause analysis was performed, running the process under gdb, -which revealed a lossy conversion from guint64 to guint32, for example -6442451366 converted to 2147484070: - -(gdb) p name -$10 = 0x7fe9224d2d70 "home" - -(gdb) p inode -$73 = 6442451366 - -(gdb) s - device=66311, modifier=0x7fe914791840) at -src/libostree/ostree-repo-commit.c:1590 - -The conversion resulted in entirely independent files potentially -receiving the same inode. - -The issue was discovered on PoC machine equipped with a large NVME -(3.4TB), but the bug can be easily reproduced using `cosa run -m 4000 ---qemu-size +3TB', followed by installation of any package using -`rpm-ostree install`. The resulting deployment will be unusable due to -many files being "corrupted" by the aforementioned issue. ---- - 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 7f668b7d..81efdeea 100644 ---- a/src/libostree/ostree-repo-commit.c -+++ b/src/libostree/ostree-repo-commit.c -@@ -1581,7 +1581,7 @@ static const char * - devino_cache_lookup (OstreeRepo *self, - OstreeRepoCommitModifier *modifier, - guint32 device, -- guint32 inode) -+ guint64 inode) - { - OstreeDevIno dev_ino_key; - OstreeDevIno *dev_ino_val; --- -2.40.1 - diff --git a/SOURCES/0002-Backport-7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch b/SOURCES/0002-Backport-7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch deleted file mode 100644 index fff515d..0000000 --- a/SOURCES/0002-Backport-7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3443baa6e63b36d169f57027d7e80df614592c8e Mon Sep 17 00:00:00 2001 -From: Joseph Marrero -Date: Fri, 4 Aug 2023 16:09:20 -0400 -Subject: [PATCH] Backport: 7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f - ---- - src/libostree/ostree-sysroot-deploy.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c -index 2454a587..4d6d796e 100644 ---- a/src/libostree/ostree-sysroot-deploy.c -+++ b/src/libostree/ostree-sysroot-deploy.c -@@ -1613,9 +1613,8 @@ static void * - sync_in_thread (void *ptr) - { - SyncData *syncdata = ptr; -- // Ensure that the caller is blocked waiting -- g_mutex_lock (&syncdata->mutex); - sync (); -+ g_mutex_lock (&syncdata->mutex); - // Signal success - syncdata->success = true; - g_cond_broadcast (&syncdata->cond); --- -2.41.0 - diff --git a/SPECS/ostree.spec b/SPECS/ostree.spec index 0bf45ce..3054f05 100644 --- a/SPECS/ostree.spec +++ b/SPECS/ostree.spec @@ -1,4 +1,4 @@ -# Don't ship tests on RHEL > 7. +# We haven't yet "productized" the tests %if 0%{?rhel} > 7 %bcond_with tests %else @@ -7,19 +7,12 @@ Summary: Tool for managing bootable, immutable filesystem trees Name: ostree -Version: 2023.1 -Release: 7%{?dist} +Version: 2023.6 +Release: 1%{?dist} Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libostree-%{version}.tar.xz Source1: ostree-readonly-sysroot-migration Source2: ostree-readonly-sysroot-migration.service -# https://github.com/ostreedev/ostree/pull/2874/commits/de6fddc6adee09a93901243dc7074090828a1912 -Patch0: 0001-commit-fix-ostree-deployment-on-64-bit-inode-fs.patch -# https://github.com/ostreedev/ostree/pull/2946 -Patch1: 0001-Add-an-always-on-inode64-feature.patch -# https://github.com/ostreedev/ostree/pull/2969 -Patch2: 0002-Backport-7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f.patch - License: LGPLv2+ URL: https://ostree.readthedocs.io/en/latest/ @@ -114,6 +107,7 @@ env NOCONFIGURE=1 ./autogen.sh --with-selinux \ --with-curl \ --with-openssl \ + --with-composefs \ %{?with_tests:--enable-installed-tests=exclusive} \ --with-dracut=yesbutnoconf %make_build @@ -148,7 +142,6 @@ find %{buildroot} -name '*.la' -delete %{_prefix}/lib/systemd/system-generators/ostree-system-generator %exclude %{_sysconfdir}/grub.d/*ostree %exclude %{_libexecdir}/libostree/grub2* -%exclude %{_libexecdir}/libostree/ostree-trivial-httpd %{_prefix}/lib/tmpfiles.d/* %{_prefix}/lib/ostree # Moved in git master @@ -181,20 +174,33 @@ find %{buildroot} -name '*.la' -delete %files tests %{_libexecdir}/installed-tests %{_datadir}/installed-tests -%{_libexecdir}/libostree/ostree-trivial-httpd %endif %changelog -* Wed Aug 08 2023 Joseph Marrero - 2023.1-7 -- Backport https://github.com/ostreedev/ostree/pull/2969/commits/402e04280b54c058ad47be99fe6a9326caf2ae00 - Resolves: rhbz#2230111 +* Fri Aug 25 2023 Joseph Marrero - 2023.6-1 +- https://github.com/ostreedev/ostree/releases/tag/v2023.6 + Resolves: rhbz#2234351 -* Mon Jul 24 2023 Colin Walters - 2023.1-6 -- Resolves: rhbz#2224105 +* Fri Aug 4 2023 Joseph Marrero - 2023.5-1 +- https://github.com/ostreedev/ostree/releases/tag/v2023.5 + backport: https://github.com/ostreedev/ostree/commit/7f70614a1ac1950ebde3df0e26cc9ab1d72b2f1f + Resolves: rhbz#2221997 -* Wed Jul 19 2023 Colin Walters - 2023.1-4 -- Backport https://github.com/ostreedev/ostree/pull/2874/commits/de6fddc6adee09a93901243dc7074090828a1912 - Resolves: rhbz#2224081 +* Wed Jun 28 2023 Joseph Marrero - 2023.4-2 +- Add patch https://github.com/ostreedev/ostree/pull/2901 + Resolves: rhbz#2216810 + +* Thu Jun 22 2023 Joseph Marrero - 2023.4-1 +- https://github.com/ostreedev/ostree/releases/tag/v2023.4 + Resolves: rhbz#2216810 + +* Tue Jun 13 2023 Joseph Marrero - 2023.3-1 +- https://github.com/ostreedev/ostree/releases/tag/v2023.3 + Resolves: rhbz#2211487 + +* Thu Mar 23 2023 Colin Walters - 2023.2-2 +- https://github.com/ostreedev/ostree/releases/tag/v2023.2 + Resolves: rhbz#2172898 * Thu Feb 23 2023 Colin Walters - 2023.1-2 - Update to 2023.1