Add patch that should fix bodhis use of --workdir-tmpfs

This commit is contained in:
Colin Walters 2015-10-30 21:50:34 -04:00
parent 145a0580a3
commit dfe6d9e4b5
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,44 @@
From b7e8c7bdc573ed87aa0787b2c829db58d9697a65 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Fri, 30 Oct 2015 21:40:14 -0400
Subject: [PATCH] compose: Ensure we've cleaned up references to tmpfs workdir
before umount
Otherwise the `umount()` will always fail. This hasn't been a problem
so far while running in a external container (docker/systemd-nspawn),
but is when running in `mock` because it doesn't set its namespace to
be private.
This should help Fedora's Bodhi, which uses rpm-ostree inside mock.
---
src/app/rpmostree-compose-builtin-tree.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/app/rpmostree-compose-builtin-tree.c b/src/app/rpmostree-compose-builtin-tree.c
index 42691de..8cb6463 100644
--- a/src/app/rpmostree-compose-builtin-tree.c
+++ b/src/app/rpmostree-compose-builtin-tree.c
@@ -945,11 +945,19 @@ rpmostree_compose_builtin_tree (int argc,
}
out:
+ /* Move back out of the workding directory to ensure unmount works */
+ (void )chdir ("/");
+
+ if (self->workdir_dfd != -1)
+ (void) close (self->workdir_dfd);
if (workdir_is_tmp)
{
if (opt_workdir_tmpfs)
- (void) umount (gs_file_get_path_cached (self->workdir));
+ if (umount (gs_file_get_path_cached (self->workdir)) != 0)
+ {
+ fprintf (stderr, "warning: umount failed: %m\n");
+ }
(void) gs_shutil_rm_rf (self->workdir, NULL, NULL);
}
if (self)
--
1.8.3.1

View File

@ -1,7 +1,7 @@
Summary: Client side upgrade program and server side compose tool
Name: rpm-ostree
Version: 2015.9
Release: 2%{?dist}
Release: 3%{?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
@ -24,6 +24,8 @@ BuildRequires: libattr-devel
Requires: ostree >= 2014.6
Patch0: 0001-compose-Ensure-we-ve-cleaned-up-references-to-tmpfs-.patch
%description
This tool binds together the world of RPM packages with the OSTree
model of bootable filesystem trees. It provides commands usable both
@ -94,6 +96,9 @@ python autofiles.py > files.devel \
%files -f files.devel
%changelog
* Sat Oct 31 2015 Colin Walters <walters@redhat.com> - 2015.9-3
- Add patch that should fix bodhis use of --workdir-tmpfs
* Sat Sep 05 2015 Kalev Lember <klember@redhat.com> - 2015.9-2
- Rebuilt for librpm soname bump