import UBI ostree-2023.6-1.el9

This commit is contained in:
eabdullin 2023-11-07 11:56:52 +00:00
parent 2f7b881a49
commit 1d9a67dc5d
6 changed files with 28 additions and 161 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libostree-2023.1.tar.xz
SOURCES/libostree-2023.6.tar.xz

View File

@ -1 +1 @@
2ee58148c225e78587affa8eaf58e431fdfeb468 SOURCES/libostree-2023.1.tar.xz
1f063c495ee29b92903c152fa410df96c80d5e25 SOURCES/libostree-2023.6.tar.xz

View File

@ -1,57 +0,0 @@
From 333c01659781cb5d956476f5b4cd3366a6f2d81d Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
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

View File

@ -1,55 +0,0 @@
From 5df15fffc36593a57131921997569e4b8de4015f Mon Sep 17 00:00:00 2001
From: Abylay Ospan <aospan@amazon.com>
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

View File

@ -1,27 +0,0 @@
From 3443baa6e63b36d169f57027d7e80df614592c8e Mon Sep 17 00:00:00 2001
From: Joseph Marrero <jmarrero@redhat.com>
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

View File

@ -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 <jmarrero@fedoraproject.org> - 2023.1-7
- Backport https://github.com/ostreedev/ostree/pull/2969/commits/402e04280b54c058ad47be99fe6a9326caf2ae00
Resolves: rhbz#2230111
* Fri Aug 25 2023 Joseph Marrero <jmarrero@fedoraproject.org> - 2023.6-1
- https://github.com/ostreedev/ostree/releases/tag/v2023.6
Resolves: rhbz#2234351
* Mon Jul 24 2023 Colin Walters <walters@verbum.org> - 2023.1-6
- Resolves: rhbz#2224105
* Fri Aug 4 2023 Joseph Marrero <jmarrero@fedoraproject.org> - 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 <walters@verbum.org> - 2023.1-4
- Backport https://github.com/ostreedev/ostree/pull/2874/commits/de6fddc6adee09a93901243dc7074090828a1912
Resolves: rhbz#2224081
* Wed Jun 28 2023 Joseph Marrero <jmarrero@fedoraproject.org> - 2023.4-2
- Add patch https://github.com/ostreedev/ostree/pull/2901
Resolves: rhbz#2216810
* Thu Jun 22 2023 Joseph Marrero <jmarrero@fedoraproject.org> - 2023.4-1
- https://github.com/ostreedev/ostree/releases/tag/v2023.4
Resolves: rhbz#2216810
* Tue Jun 13 2023 Joseph Marrero <jmarrero@fedoraproject.org> - 2023.3-1
- https://github.com/ostreedev/ostree/releases/tag/v2023.3
Resolves: rhbz#2211487
* Thu Mar 23 2023 Colin Walters <walters@verbum.org> - 2023.2-2
- https://github.com/ostreedev/ostree/releases/tag/v2023.2
Resolves: rhbz#2172898
* Thu Feb 23 2023 Colin Walters <walters@verbum.org> - 2023.1-2
- Update to 2023.1