summaryrefslogtreecommitdiffstats
path: root/fuse/Makefile.am
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-10-30 16:13:13 +0000
committerRichard Jones <rjones@redhat.com>2009-11-03 15:57:26 +0000
commit429de2254176e470035eef05e0f3e9910d46863c (patch)
treecf278abb7fba6de900b049e289c06df424ea88cc /fuse/Makefile.am
parent08c9bf5e22ecf06e36cf128416a62214704da411 (diff)
downloadlibguestfs-429de2254176e470035eef05e0f3e9910d46863c.tar.gz
libguestfs-429de2254176e470035eef05e0f3e9910d46863c.tar.xz
libguestfs-429de2254176e470035eef05e0f3e9910d46863c.zip
FUSE filesystem support.
This implements FUSE filesystem support so that any libguestfs- accessible disk image can be mounted as a local filesystem. Note: file writes (ie. write(2) system call) is not yet implemented. The API needs more test coverage, particularly lesser-used system calls. The big unresolved issue is UID/GID mapping between guest filesystem IDs and the host. It's not easy to automate this because you need extra details about the guest itself in order to get to its UID->username map (eg. /etc/passwd from the guest).
Diffstat (limited to 'fuse/Makefile.am')
-rw-r--r--fuse/Makefile.am62
1 files changed, 62 insertions, 0 deletions
diff --git a/fuse/Makefile.am b/fuse/Makefile.am
new file mode 100644
index 00000000..5d5ea309
--- /dev/null
+++ b/fuse/Makefile.am
@@ -0,0 +1,62 @@
+# libguestfs
+# Copyright (C) 2009 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+EXTRA_DIST = fusexmp.c fusexmp_fh.c
+
+if HAVE_FUSE
+
+bin_PROGRAMS = guestmount
+
+guestmount_SOURCES = \
+ dircache.c \
+ dircache.h \
+ guestmount.c
+
+guestmount_CFLAGS = \
+ -I$(top_srcdir)/src -I$(top_builddir)/src \
+ -I$(srcdir)/../gnulib/lib -I../gnulib/lib \
+ -DGUESTFS_DEFAULT_PATH='"$(libdir)/guestfs"' \
+ $(FUSE_CFLAGS) \
+ $(WARN_CFLAGS) $(WERROR_CFLAGS)
+
+guestmount_LDADD = \
+ $(FUSE_LIBS) -lulockmgr \
+ $(top_builddir)/src/libguestfs.la \
+ ../gnulib/lib/libgnu.la
+
+man_MANS = guestmount.1
+
+guestmount.1: guestmount.pod
+ $(POD2MAN) \
+ --section 1 \
+ -c "Virtualization Support" \
+ --name "guestmount" \
+ --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
+ $< > $@-t; mv $@-t $@
+
+noinst_DATA = \
+ $(top_builddir)/html/guestmount.1.html
+
+$(top_builddir)/html/guestmount.1.html: guestmount.pod
+ mkdir -p $(top_builddir)/html
+ cd $(top_builddir) && pod2html \
+ --css 'pod.css' \
+ --htmldir html \
+ --outfile html/guestmount.1.html \
+ fuse/guestmount.pod
+
+endif