Source0: http://et.redhat.com/~rjones/libguestfs/files/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+# Currently fails on non-x86 because of this error:
+# "qemu: linux kernel too old to load a ram disk"
+ExclusiveArch: %{ix86} x86_64
+
# Basic build requirements:
BuildRequires: /usr/bin/pod2man
BuildRequires: /usr/bin/pod2text
BuildRequires: qemu >= 0.10-7
BuildRequires: createrepo
+# This is only needed for RHEL 5 because readline-devel doesn't
+# properly depend on it, but doesn't do any harm on other platforms:
+BuildRequires: ncurses-devel
+
# Build requirements for the appliance:
# (see 'make-initramfs.sh.in' in the source)
BuildRequires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng
BuildRequires: python-devel
BuildRequires: ruby-devel
BuildRequires: rubygem-rake
+BuildRequires: java >= 1.5.0
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
+
+# For virt-inspector:
+BuildRequires: perl-Sys-Virt
# Runtime requires:
Requires: qemu >= 0.10-7
For Ruby bindings, see 'ruby-libguestfs'.
+For Java bindings, see 'libguestfs-java-devel'.
+
%package devel
Summary: Development tools and libraries for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
%description devel
scripts.
+%package -n virt-inspector
+Summary: Display OS version, kernel, drivers, etc in a virtual machine
+Group: Development/Tools
+License: GPLv2+
+Requires: %{name} = %{version}-%{release}
+Requires: guestfish
+Requires: perl-Sys-Virt
+
+
+%description -n virt-inspector
+Virt-inspector examines a virtual machine and tries to determine the
+version of the OS, the kernel version, what drivers are installed,
+whether the virtual machine is fully virtualized (FV) or
+para-virtualized (PV), what applications are installed and more.
+
+
%package -n ocaml-%{name}
Summary: OCaml bindings for %{name}
Group: Development/Libraries
ruby-%{name} contains Ruby bindings for %{name}.
+%package java
+Summary: Java bindings for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: java >= 1.5.0
+Requires: jpackage-utils
+
+%description java
+%{name}-java contains Java bindings for %{name}.
+
+If you want to develop software in Java which uses %{name}, then
+you will also need %{name}-java-devel.
+
+
+%package java-devel
+Summary: Java development package for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-java = %{version}-%{release}
+
+%description java-devel
+%{name}-java-devel contains the tools for developing Java software
+using %{name}.
+
+See also %{name}-javadoc.
+
+
+%package javadoc
+Summary: Java documentation for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-java = %{version}-%{release}
+Requires: jpackage-utils
+
+%description javadoc
+%{name}-javadoc contains the Java documentation for %{name}.
+
+
%prep
%setup -q
+mkdir -p daemon/m4
+
%build
%if %{buildnonet}
mkdir repo
-pushd repo
-cp $(find /var/cache/yum/build -name '*.rpm') .
-createrepo .
-popd
+find /var/cache/yum/build -type f -name '*.rpm' -print0 | xargs -0 cp -t repo
+createrepo repo
%define extra --with-mirror=file://$(pwd)/repo --with-repo=fedora-12
%else
%define extra %nil
%endif
-./configure --prefix=%{_prefix} --libdir=%{_libdir} %{extra}
+./configure \
+ --prefix=%{_prefix} --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --with-java-home=%{java_home} \
+ --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \
+ --enable-debug-command \
+ %{extra}
+
+# This ensures that /usr/sbin/chroot is on the path. Not needed
+# except for RHEL 5, it shouldn't do any harm on other platforms.
+export PATH=/usr/sbin:$PATH
# 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
# not the site dir.
-make INSTALLDIRS=vendor
+make INSTALLDIRS=vendor %{?_smp_mflags}
%check
install -p -m0644 ruby/lib/guestfs.rb $RPM_BUILD_ROOT%{ruby_sitelib}
install -p -m0755 ruby/ext/guestfs/_guestfs.so $RPM_BUILD_ROOT%{ruby_sitearch}
+# Remove static-linked Java bindings.
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_jni.a
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_jni.la
+
# Generator shouldn't be executable when we distribute it.
chmod -x src/generator.ml
%files devel
%defattr(-,root,root,-)
-%doc HACKING TODO README ex html/guestfs.3.html html/pod.css
+%doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css
%doc src/generator.ml
%{_libdir}/libguestfs.so
%{_mandir}/man3/guestfs.3*
%{_includedir}/guestfs.h
%{_includedir}/guestfs-actions.h
%{_includedir}/guestfs-structs.h
+%{_libdir}/pkgconfig/libguestfs.pc
%files -n guestfish
%defattr(-,root,root,-)
-%doc html/guestfish.1.html html/pod.css
+%doc html/guestfish.1.html html/pod.css recipes/
%{_bindir}/guestfish
%{_mandir}/man1/guestfish.1*
+%files -n virt-inspector
+%defattr(-,root,root,-)
+%{_bindir}/virt-inspector
+%{_mandir}/man1/virt-inspector.1*
+
+
%files -n ocaml-%{name}
%defattr(-,root,root,-)
%doc README
%{ruby_sitearch}/_guestfs.so
+%files java
+%defattr(-,root,root,-)
+%doc README
+%{_libdir}/libguestfs_jni*.so.*
+%{_datadir}/java/*.jar
+
+
+%files java-devel
+%defattr(-,root,root,-)
+%doc README
+%{_libdir}/libguestfs_jni*.so
+
+
+%files javadoc
+%defattr(-,root,root,-)
+%doc README
+%{_datadir}/javadoc/%{name}-java-%{version}
+
+
%changelog
-* Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
+* Tue Apr 28 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
- New upstream version @VERSION@.
+* Tue Apr 28 2009 Richard Jones <rjones@redhat.com> - 1.0.15-1
+- New upstream version 1.0.15.
+
+* Fri Apr 24 2009 Richard Jones <rjones@redhat.com> - 1.0.12-1
+- New upstream version 1.0.12.
+
+* Wed Apr 22 2009 Richard Jones <rjones@redhat.com> - 1.0.6-1
+- New upstream version 1.0.6.
+
* Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - 1.0.2-1
- New upstream version 1.0.2.