diff --git a/0001-compose-Also-treat-FUSE-as-a-netfs.patch b/0001-compose-Also-treat-FUSE-as-a-netfs.patch new file mode 100644 index 0000000..fa64e94 --- /dev/null +++ b/0001-compose-Also-treat-FUSE-as-a-netfs.patch @@ -0,0 +1,64 @@ +From 50b1f9b63f047f721dd6ad3d2d1913843db13674 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 1 Mar 2018 13:01:12 -0500 +Subject: [PATCH] compose: Also treat FUSE as a netfs + +Fedora is apparently currently using sshfs because S390 is in a different +location than the main servers. + +Since it seems nontrivial to detect just sshfs, and FUSE is problematic in +general, let's just do the the not-horrific-on-netfs path for all FUSE mounts. + +Closes: #1285 +Approved by: jlebon +--- + src/app/rpmostree-compose-builtin-tree.c | 22 +++++++++++++++++++--- + 1 file changed, 19 insertions(+), 3 deletions(-) + +diff --git a/src/app/rpmostree-compose-builtin-tree.c b/src/app/rpmostree-compose-builtin-tree.c +index 06ab73a..dc2cbc8 100644 +--- a/src/app/rpmostree-compose-builtin-tree.c ++++ b/src/app/rpmostree-compose-builtin-tree.c +@@ -1186,11 +1186,22 @@ impl_install_tree (RpmOstreeTreeComposeContext *self, + static gboolean + repo_is_on_netfs (OstreeRepo *repo) + { ++#ifndef FUSE_SUPER_MAGIC ++#define FUSE_SUPER_MAGIC 0x65735546 ++#endif ++ + int dfd = ostree_repo_get_dfd (repo); + struct statfs stbuf; + if (fstatfs (dfd, &stbuf) != 0) + return FALSE; +- return stbuf.f_type == NFS_SUPER_MAGIC; ++ switch (stbuf.f_type) ++ { ++ case NFS_SUPER_MAGIC: ++ case FUSE_SUPER_MAGIC: ++ return TRUE; ++ default: ++ return FALSE; ++ } + } + + /* Perform required postprocessing, and invoke rpmostree_compose_commit(). */ +@@ -1257,8 +1268,13 @@ impl_commit_tree (RpmOstreeTreeComposeContext *self, + } + + /* See comment above */ +- const gboolean use_txn = (getenv ("RPMOSTREE_COMMIT_NO_TXN") == NULL && +- !repo_is_on_netfs (self->repo)); ++ const gboolean txn_explicitly_disabled = (getenv ("RPMOSTREE_COMMIT_NO_TXN") != NULL); ++ const gboolean using_netfs = repo_is_on_netfs (self->repo); ++ if (txn_explicitly_disabled) ++ g_print ("libostree transactions explicitly disabled\n"); ++ else if (using_netfs) ++ g_print ("Network filesystem detected for repo; disabling transaction\n"); ++ const gboolean use_txn = !(txn_explicitly_disabled || using_netfs); + + if (use_txn) + { +-- +2.14.3 + diff --git a/rpm-ostree.spec b/rpm-ostree.spec index f6106c4..f6a2ffc 100644 --- a/rpm-ostree.spec +++ b/rpm-ostree.spec @@ -1,13 +1,15 @@ Summary: Hybrid image/package system Name: rpm-ostree Version: 2018.3 -Release: 1%{?dist} +Release: 2%{?dist} #VCS: https://github.com/cgwalters/rpm-ostree # This tarball is generated via "make -f Makefile.dist-packaging dist-snapshot" Source0: rpm-ostree-%{version}.tar.xz License: LGPLv2+ URL: https://github.com/projectatomic/rpm-ostree +Patch0: 0001-compose-Also-treat-FUSE-as-a-netfs.patch + # We always run autogen.sh BuildRequires: autoconf automake libtool git # For docs @@ -151,6 +153,10 @@ python autofiles.py > files.devel \ %files devel -f files.devel %changelog +* Thu Mar 01 2018 Dusty Mabe - 2018.3-2 +- backport treating FUSE as netfs +- See https://github.com/projectatomic/rpm-ostree/pull/1285 + * Sun Feb 18 2018 Jonathan Lebon - 2018.3-1 - New upstream version (minor bugfix release)