Mostly working spec file.
authorRichard Jones <rjones@redhat.com>
Sat, 4 Apr 2009 10:27:26 +0000 (11:27 +0100)
committerRichard Jones <rjones@redhat.com>
Sat, 4 Apr 2009 10:27:26 +0000 (11:27 +0100)
.gitignore
Makefile.am
configure.ac
libguestfs.spec.in [new file with mode: 0644]
src/Makefile.am

index f3d3dce..2e02d96 100644 (file)
@@ -30,6 +30,8 @@ initramfs.timestamp
 initramfs.*.img
 install-sh
 missing
+libguestfs.spec
+libguestfs-*.tar.gz
 libtool
 ltmain.sh
 make-initramfs.sh
index d900061..8e2b49d 100644 (file)
@@ -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)" \
          > $@
 
index 0f7b4c3..dc1d81f 100644 (file)
@@ -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 (file)
index 0000000..7a33c62
--- /dev/null
@@ -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.
index 68cabba..7fa17e0 100644 (file)
 # 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 \