summaryrefslogtreecommitdiff
path: root/dev-util/ostree/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-24 02:45:57 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-24 02:45:57 +0100
commit2d51a70c0ec989cfc28d2d9a140206a601378c58 (patch)
tree5ff136d8b7452def4a7f53ea9b4ad96dc4312c35 /dev-util/ostree/files
parent26062b5638b6d2a6eedba7797ed6dde6f3d1f01c (diff)
gentoo auto-resync : 24:08:2022 - 02:45:57
Diffstat (limited to 'dev-util/ostree/files')
-rw-r--r--dev-util/ostree/files/ostree-2022.5-bashism.patch35
-rw-r--r--dev-util/ostree/files/ostree-2022.5-glibc-2.36.patch127
2 files changed, 162 insertions, 0 deletions
diff --git a/dev-util/ostree/files/ostree-2022.5-bashism.patch b/dev-util/ostree/files/ostree-2022.5-bashism.patch
new file mode 100644
index 000000000000..1cf217de744b
--- /dev/null
+++ b/dev-util/ostree/files/ostree-2022.5-bashism.patch
@@ -0,0 +1,35 @@
+https://github.com/ostreedev/ostree/pull/2702
+
+From c568073d1e6a5e602a6df29eaa5b7392e076f5d6 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 23 Aug 2022 23:37:06 +0100
+Subject: [PATCH] buildutil/glibtests.m4: fix bashism
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+
+Fixes configure warnings/errors like:
+```
+
+checking whether to build static libraries... no
+./configure: 14795: test: unexpected operator
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/buildutil/glibtests.m4
++++ b/buildutil/glibtests.m4
+@@ -25,7 +25,7 @@ AC_DEFUN([GLIB_TESTS],
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;;
+ esac])
+ AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test "$ENABLE_ALWAYS_BUILD_TESTS" = "1")
+- if test "$ENABLE_INSTALLED_TESTS" == "1"; then
++ if test "$ENABLE_INSTALLED_TESTS" = "1"; then
+ AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME)
+ AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
+ fi
+
diff --git a/dev-util/ostree/files/ostree-2022.5-glibc-2.36.patch b/dev-util/ostree/files/ostree-2022.5-glibc-2.36.patch
new file mode 100644
index 000000000000..6d01e96a09c8
--- /dev/null
+++ b/dev-util/ostree/files/ostree-2022.5-glibc-2.36.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/863689
+https://github.com/ostreedev/ostree/commit/edba4b33be10c05253bfa94895dfbc8477e44d76
+https://github.com/ostreedev/ostree/commit/0a908a180fcce98c2565b9fb34470e5953918260
+
+From edba4b33be10c05253bfa94895dfbc8477e44d76 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Wed, 3 Aug 2022 10:37:40 -0400
+Subject: [PATCH] Remove unused `linux/fs.h` includes
+
+Prep for fixing conflicts introduced by newer glibc.
+cc https://github.com/ostreedev/ostree/issues/2685
+--- a/src/libostree/ostree-repo-commit.c
++++ b/src/libostree/ostree-repo-commit.c
+@@ -30,7 +30,6 @@
+ #include <sys/xattr.h>
+ #include <glib/gprintf.h>
+ #include <sys/ioctl.h>
+-#include <linux/fs.h>
+ #include <ext2fs/ext2_fs.h>
+
+ #include "otutil.h"
+--- a/src/ostree/ot-main.c
++++ b/src/ostree/ot-main.c
+@@ -28,7 +28,6 @@
+ #include <string.h>
+ #include <sys/statvfs.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #include "ot-main.h"
+ #include "ostree.h"
+
+From 0a908a180fcce98c2565b9fb34470e5953918260 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Wed, 3 Aug 2022 10:43:43 -0400
+Subject: [PATCH] Move FIFREEZE/FITHAW ioctl invocations into linuxfsutil.c
+
+Should help avoid conflicts between glibc and linux headers.
+
+Closes: https://github.com/ostreedev/ostree/issues/2685
+--- a/src/libostree/ostree-linuxfsutil.c
++++ b/src/libostree/ostree-linuxfsutil.c
+@@ -24,10 +24,12 @@
+
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++// This should be the only file including linux/fs.h; see
++// https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
++// https://github.com/ostreedev/ostree/issues/2685
++#include <linux/fs.h>
+ #include <ext2fs/ext2_fs.h>
+
+-#include "otutil.h"
+-
+ /**
+ * _ostree_linuxfs_fd_alter_immutable_flag:
+ * @fd: A file descriptor
+@@ -88,3 +90,21 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
+
+ return TRUE;
+ }
++
++/* Wrapper for FIFREEZE ioctl.
++ * This is split into a separate wrapped API for
++ * reasons around conflicts between glibc and linux/fs.h
++ * includes; see above.
++ */
++int
++_ostree_linuxfs_filesystem_freeze (int fd)
++{
++ return TEMP_FAILURE_RETRY (ioctl (fd, FIFREEZE, 0));
++}
++
++/* Wrapper for FITHAW ioctl. See above. */
++int
++_ostree_linuxfs_filesystem_thaw (int fd)
++{
++ return TEMP_FAILURE_RETRY (ioctl (fd, FITHAW, 0));
++}
+--- a/src/libostree/ostree-linuxfsutil.h
++++ b/src/libostree/ostree-linuxfsutil.h
+@@ -29,4 +29,7 @@ _ostree_linuxfs_fd_alter_immutable_flag (int fd,
+ GCancellable *cancellable,
+ GError **error);
+
++int _ostree_linuxfs_filesystem_freeze (int fd);
++int _ostree_linuxfs_filesystem_thaw (int fd);
++
+ G_END_DECLS
+--- a/src/libostree/ostree-sysroot-deploy.c
++++ b/src/libostree/ostree-sysroot-deploy.c
+@@ -29,7 +29,6 @@
+ #include <sys/ioctl.h>
+ #include <stdbool.h>
+ #include <sys/poll.h>
+-#include <linux/fs.h>
+ #include <err.h>
+
+ #ifdef HAVE_LIBMOUNT
+@@ -1476,7 +1475,7 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
+ * EOPNOTSUPP: If the filesystem doesn't support it
+ */
+ int saved_errno = errno;
+- (void) TEMP_FAILURE_RETRY (ioctl (rootfs_dfd, FITHAW, 0));
++ _ostree_linuxfs_filesystem_thaw (rootfs_dfd);
+ errno = saved_errno;
+ /* But if we got an error from poll, let's log it */
+ if (r < 0)
+@@ -1517,7 +1516,7 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
+ return glnx_throw (error, "aborting due to test-fifreeze");
+ }
+ /* Do a freeze/thaw cycle; TODO add a FIFREEZETHAW ioctl */
+- if (ioctl (rootfs_dfd, FIFREEZE, 0) != 0)
++ if (_ostree_linuxfs_filesystem_freeze (rootfs_dfd) != 0)
+ {
+ /* Not supported, we're running in the unit tests (as non-root), or
+ * the filesystem is already frozen (EBUSY).
+@@ -1539,7 +1538,7 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
+ return glnx_throw_errno_prefix (error, "ioctl(FIFREEZE)");
+ }
+ /* And finally thaw, then signal our completion to the watchdog */
+- if (TEMP_FAILURE_RETRY (ioctl (rootfs_dfd, FITHAW, 0)) != 0)
++ if (_ostree_linuxfs_filesystem_thaw (rootfs_dfd) != 0)
+ {
+ /* Warn but don't error if the filesystem was already thawed */
+ if (errno == EINVAL)
+