import ostree-2020.7-1.el8_3

This commit is contained in:
CentOS Sources 2021-02-16 02:38:53 -05:00 committed by Andrew Lukoshko
parent da143f9f18
commit f903187f2f
8 changed files with 80 additions and 101 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libostree-2020.5.tar.xz
SOURCES/libostree-2020.7.tar.xz

View File

@ -1 +1 @@
5c0218b91e9ca858acb6a28c297e87fb031c39a7 SOURCES/libostree-2020.5.tar.xz
c9f8ca77723040a4c87b9119305ad54e1694772c SOURCES/libostree-2020.7.tar.xz

40
SOURCES/0001-gcc11.patch Normal file
View File

@ -0,0 +1,40 @@
From 267e8eb3849a539704c480512b135400c7e49309 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Fri, 30 Oct 2020 11:40:03 -0600
Subject: [PATCH] gcc11
gcc-11
---
src/libostree/ostree-enumtypes.c.template | 2 +-
src/libostree/ostree-sysroot-upgrader.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libostree/ostree-enumtypes.c.template b/src/libostree/ostree-enumtypes.c.template
index 751c458..89ad32a 100644
--- a/src/libostree/ostree-enumtypes.c.template
+++ b/src/libostree/ostree-enumtypes.c.template
@@ -36,7 +36,7 @@
GType
_@enum_name@_get_type (void)
{
- static volatile gsize the_type__volatile = 0;
+ static gsize the_type__volatile = 0;
if (g_once_init_enter (&the_type__volatile))
{
diff --git a/src/libostree/ostree-sysroot-upgrader.c b/src/libostree/ostree-sysroot-upgrader.c
index 4681335..ea68674 100644
--- a/src/libostree/ostree-sysroot-upgrader.c
+++ b/src/libostree/ostree-sysroot-upgrader.c
@@ -682,7 +682,7 @@ ostree_sysroot_upgrader_deploy (OstreeSysrootUpgrader *self,
GType
ostree_sysroot_upgrader_flags_get_type (void)
{
- static volatile gsize g_define_type_id__volatile = 0;
+ static gsize g_define_type_id__volatile = 0;
if (g_once_init_enter (&g_define_type_id__volatile))
{
--
2.28.0

View File

@ -1,27 +0,0 @@
From 06ed04a816141914adb9bd3e32392801fce5bc8e Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Fri, 21 Aug 2020 17:40:41 +0000
Subject: [PATCH] linuxfsutil: Pass int to ioctl, not long
Otherwise it will fail on big-endian architectures like s390x.
Ref https://bugzilla.redhat.com/show_bug.cgi?id=1867601
---
src/libostree/ostree-linuxfsutil.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libostree/ostree-linuxfsutil.c b/src/libostree/ostree-linuxfsutil.c
index 231ecf76..cb778def 100644
--- a/src/libostree/ostree-linuxfsutil.c
+++ b/src/libostree/ostree-linuxfsutil.c
@@ -55,7 +55,7 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
if (g_atomic_int_get (&no_alter_immutable))
return TRUE;
- unsigned long flags;
+ int flags = 0;
int r = ioctl (fd, EXT2_IOC_GETFLAGS, &flags);
if (r == -1)
{
--
2.26.2

View File

@ -1,28 +0,0 @@
From b3c7b059eaee3123d5b2523065726e866c533fe9 Mon Sep 17 00:00:00 2001
From: Jonathan Lebon <jonathan@jlebon.com>
Date: Fri, 28 Aug 2020 12:35:28 -0400
Subject: [PATCH] ostree-prepare-root: Fix /etc bind mount
We were bind-mounting the initramfs' `/etc` (to itself) instead of the
target deployment `/etc` (to itself). Since we're already `chdir`'ed
into it, we can just drop the leading slash.
---
src/switchroot/ostree-prepare-root.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/switchroot/ostree-prepare-root.c b/src/switchroot/ostree-prepare-root.c
index f7e4fe47..6351babb 100644
--- a/src/switchroot/ostree-prepare-root.c
+++ b/src/switchroot/ostree-prepare-root.c
@@ -251,7 +251,7 @@ main(int argc, char *argv[])
* sysroot, we still need a writable /etc. And to avoid race conditions
* we ensure it's writable in the initramfs, before we switchroot at all.
*/
- if (mount ("/etc", "/etc", NULL, MS_BIND, NULL) < 0)
+ if (mount ("etc", "etc", NULL, MS_BIND, NULL) < 0)
err (EXIT_FAILURE, "failed to make /etc a bind mount");
/* Pass on the fact that we discovered a readonly sysroot to ostree-remount.service */
int fd = open (_OSTREE_SYSROOT_READONLY_STAMP, O_WRONLY | O_CREAT | O_CLOEXEC, 0644);
--
2.26.2

View File

@ -0,0 +1,30 @@
From dec9eab2030a212b3713379af9d74c625ecce137 Mon Sep 17 00:00:00 2001
From: Jonathan Lebon <jonathan@jlebon.com>
Date: Thu, 15 Oct 2020 12:05:34 -0400
Subject: [PATCH] ostree-prepare-root: print st_dev and st_ino as 64-bit ints
This matches what systemd does and should work fine on all platforms.
Possibly resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1888436
---
src/switchroot/ostree-prepare-root.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/switchroot/ostree-prepare-root.c b/src/switchroot/ostree-prepare-root.c
index 6351babb..6bc2c374 100644
--- a/src/switchroot/ostree-prepare-root.c
+++ b/src/switchroot/ostree-prepare-root.c
@@ -152,8 +152,8 @@ resolve_deploy_path (const char * root_mountpoint)
"MESSAGE_ID=" SD_ID128_FORMAT_STR,
SD_ID128_FORMAT_VAL(OSTREE_PREPARE_ROOT_DEPLOYMENT_MSG),
"DEPLOYMENT_PATH=%s", resolved_path,
- "DEPLOYMENT_DEVICE=%u", stbuf.st_dev,
- "DEPLOYMENT_INODE=%u", stbuf.st_ino,
+ "DEPLOYMENT_DEVICE=%" PRIu64, (uint64_t) stbuf.st_dev,
+ "DEPLOYMENT_INODE=%" PRIu64, (uint64_t) stbuf.st_ino,
NULL);
#endif
return deploy_path;
--
2.26.2

View File

@ -1,39 +0,0 @@
From a7a751b69f2315635d6ae38a0b1344287b67079a Mon Sep 17 00:00:00 2001
From: Jonathan Lebon <jonathan@jlebon.com>
Date: Fri, 28 Aug 2020 12:35:29 -0400
Subject: [PATCH] ostree-remount: Remount /etc rw if needed
When we remount `/sysroot` as read-only, we also make `/etc` read-only.
This is usually OK because we then remount `/var` read-write, which also
flips `/etc` back to read-write... unless `/var` is a separate
filesystem and not a bind-mount to the stateroot `/var`.
Fix this by just remounting `/etc` read-write in the read-only sysroot
case.
Eventually, I think we should rework this to set everything up the way
we want from the initramfs (#2115). This would also eliminate the window
during which `/etc` is read-only while `ostree-remount` runs.
---
src/switchroot/ostree-remount.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/switchroot/ostree-remount.c b/src/switchroot/ostree-remount.c
index cfd270bb..3981682a 100644
--- a/src/switchroot/ostree-remount.c
+++ b/src/switchroot/ostree-remount.c
@@ -112,6 +112,11 @@ main(int argc, char *argv[])
bool sysroot_configured_readonly = unlink (_OSTREE_SYSROOT_READONLY_STAMP) == 0;
do_remount ("/sysroot", !sysroot_configured_readonly);
+ /* And also make sure to make /etc rw again. We make this conditional on
+ * sysroot_configured_readonly because only in that case is it a bind-mount. */
+ if (sysroot_configured_readonly)
+ do_remount ("/etc", true);
+
/* If /var was created as as an OSTree default bind mount (instead of being a separate filesystem)
* then remounting the root mount read-only also remounted it.
* So just like /etc, we need to make it read-write by default.
--
2.26.2

View File

@ -7,15 +7,14 @@
Summary: Tool for managing bootable, immutable filesystem trees
Name: ostree
Version: 2020.5
Release: 4%{?dist}
Version: 2020.7
Release: 1%{?dist}
Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libostree-%{version}.tar.xz
License: LGPLv2+
URL: https://ostree.readthedocs.io/en/latest/
Patch0: 0001-linuxfsutil-Pass-int-to-ioctl-not-long.patch
Patch1: 0001-ostree-prepare-root-Fix-etc-bind-mount.patch
Patch2: 0001-ostree-remount-Remount-etc-rw-if-needed.patch
Patch0: 0001-ostree-prepare-root-print-st_dev-and-st_ino-as-64-bi.patch
Patch1: 0001-gcc11.patch
BuildRequires: git
# We always run autogen.sh
@ -166,6 +165,10 @@ find %{buildroot} -name '*.la' -delete
%endif
%changelog
* Tue Nov 3 15:04:48 UTC 2020 Colin Walters <walters@verbum.org> - 2020.7-1
- Update to 2020.7
Resolves: #1894062
* Wed Sep 09 2020 Colin Walters <walters@verbum.org> - 2020.5-4
- Backport patches for https://bugzilla.redhat.com/show_bug.cgi?id=1875567