summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac5
-rw-r--r--libguestfs.spec.in121
-rw-r--r--src/Makefile.am9
5 files changed, 137 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index f3d3dced..2e02d96c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,8 @@ initramfs.timestamp
initramfs.*.img
install-sh
missing
+libguestfs.spec
+libguestfs-*.tar.gz
libtool
ltmain.sh
make-initramfs.sh
diff --git a/Makefile.am b/Makefile.am
index d9000610..8e2b49d6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,9 @@ SUBDIRS = src daemon fish examples
EXTRA_DIST = \
make-initramfs.sh update-initramfs.sh \
- guestfs.pod guestfs-actions.pod
+ guestfs.pod guestfs-actions.pod \
+ libguestfs.spec \
+ HACKING
# Build the root filesystem.
# Currently this is arch-dependent, so it seems like putting it in
@@ -65,6 +67,7 @@ guestfs.3: guestfs.pod guestfs-actions.pod
$(POD2MAN) \
--section 3 \
-c "Virtualization Support" \
+ --name "guestfs" \
--release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
> $@
diff --git a/configure.ac b/configure.ac
index 0f7b4c39..dc1d81f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-AC_INIT([libguestfs],[0.2])
+AC_INIT([libguestfs],[0.3])
AM_INIT_AUTOMAKE
AC_CONFIG_MACRO_DIR([m4])
@@ -100,7 +100,8 @@ AC_CONFIG_SUBDIRS([daemon])
dnl Produce output files.
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile fish/Makefile examples/Makefile
- make-initramfs.sh update-initramfs.sh])
+ make-initramfs.sh update-initramfs.sh
+ libguestfs.spec])
AC_OUTPUT
dnl WTF?
diff --git a/libguestfs.spec.in b/libguestfs.spec.in
new file mode 100644
index 00000000..7a33c628
--- /dev/null
+++ b/libguestfs.spec.in
@@ -0,0 +1,121 @@
+# @configure_input@
+
+%global mirror http://hakodate/mirrors/fedora/10/Fedora/x86_64/os/
+
+Summary: Access and modify virtual machine disk images
+Name: libguestfs
+Version: @VERSION@
+Release: 1%{?dist}
+License: LGPLv2+
+Group: Development/Libraries
+URL: http://et.redhat.com/~rjones/libguestfs/
+Source0: http://et.redhat.com/~rjones/libguestfs/files/%{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildRequires: /usr/bin/pod2man
+BuildRequires: /usr/bin/pod2text
+BuildRequires: febootstrap
+
+Requires: qemu
+
+
+%description
+Libguestfs is a library for accessing and modifying guest disk images.
+Amongst the things this is good for: making batch configuration
+changes to guests, getting disk used/free statistics (see also:
+virt-df), migrating between virtualization systems (see also:
+virt-p2v), performing partial backups, performing partial guest
+clones, cloning guests and changing registry/UUID/hostname info, and
+much else besides.
+
+Libguestfs uses Linux kernel and qemu code, and can access any type of
+guest filesystem that Linux and qemu can, including but not limited
+to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
+schemes, qcow, qcow2, vmdk.
+
+Libguestfs provides ways to enumerate guest storage (eg. partitions,
+LVs, what filesystem is in each LV, etc.). It can also run commands
+in the context of the guest. Also you can access filesystems over FTP.
+
+Libguestfs is a library that can be linked with C and C++ management
+programs.
+
+See also the 'guestfish' package for shell scripting and command line
+access.
+
+
+%package devel
+Summary: Development tools and libraries for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+
+%description devel
+%{name}-devel contains development tools and libraries
+for %{name}.
+
+
+%package -n guestfish
+Summary: Shell for accessing and modifying virtual machine disk images
+Group: Development/Tools
+License: GPLv2+
+Requires: %{name} = %{version}-%{release}
+Requires: /usr/bin/pod2text
+
+
+%description -n guestfish
+Guestfish is the Filesystem Interactive SHell, for accessing and
+modifying virtual machine disk images from the command line and shell
+scripts.
+
+
+%prep
+%setup -q
+
+
+%build
+%configure --with-mirror=%{mirror}
+make
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install
+
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.a
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.la
+
+# Clean up the examples/ directory which will get installed in %doc.
+pushd examples
+make clean
+rm Makefile*
+rm -rf .deps .libs
+popd
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING
+%{_libdir}/guestfs/
+%{_libdir}/libguestfs.so.*
+
+
+%files devel
+%defattr(-,root,root,-)
+%doc HACKING README examples
+%{_libdir}/libguestfs.so
+%{_mandir}/man3/guestfs.3*
+
+
+%files -n guestfish
+%defattr(-,root,root,-)
+%{_bindir}/guestfish
+
+
+%changelog
+* Sat Apr 4 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
+- Initial build.
diff --git a/src/Makefile.am b/src/Makefile.am
index 68cabba7..7fa17e08 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,12 +15,17 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-lib_LTLIBRARIES = libguestfs.la
-
# NB. guestfs-actions.c is #include'd into guestfs.c, so it should not
# be listed as a source file.
EXTRA_DIST = guestfs-actions.c
+EXTRA_DIST += guestfs_protocol.x \
+ guestfs_protocol.c \
+ guestfs_protocol.h
+
+lib_LTLIBRARIES = libguestfs.la
+
+libguestfs_la_LDFLAGS = -version-info 0:0:0
libguestfs_la_SOURCES = \
guestfs.c \
guestfs.h \