# @configure_input@
-%global mirror http://hakodate/mirrors/fedora/10/Fedora/x86_64/os/
+#%global mirror http://hakodate/mirrors/fedora/10/Fedora/x86_64/os/
Summary: Access and modify virtual machine disk images
Name: libguestfs
# Basic build requirements:
BuildRequires: /usr/bin/pod2man
BuildRequires: /usr/bin/pod2text
-BuildRequires: febootstrap
+BuildRequires: febootstrap >= 1.5
+BuildRequires: augeas-devel >= 0.5.0
+BuildRequires: qemu
# If you want to build the bindings for different languages:
BuildRequires: ocaml
+BuildRequires: ocaml-findlib-devel
BuildRequires: perl-devel
+BuildRequires: perl-Test-Simple
BuildRequires: perl-Test-Pod
BuildRequires: perl-Test-Pod-Coverage
BuildRequires: perl-ExtUtils-MakeMaker
-# BuildRequires: python-devel
+BuildRequires: python-devel
# Runtime requires:
Requires: qemu
See also the 'guestfish' package for shell scripting and command line
access.
+For Perl bindings, see 'libguestfs-perl'.
+
+For OCaml bindings, see 'libguestfs-ocaml-devel'.
+
+For Python bindings, see 'libguestfs-python'.
+
%package devel
Summary: Development tools and libraries for %{name}
%{name}-perl contains Perl bindings for %{name}.
-# %package python
-# Summary: Python bindings for %{name}
-# Group: Development/Libraries
-# Requires: %{name} = %{version}-%{release}
+%package python
+Summary: Python bindings for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-# %description python
-# %{name}-python contains Python bindings for %{name}.
+%description python
+%{name}-python contains Python bindings for %{name}.
%prep
%build
-%configure --with-mirror=%{mirror}
+#%configure --with-mirror=%{mirror}
+%configure
# 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
# not the site dir.
make INSTALLDIRS=vendor
+%check
+test -n "$QUICK_RPMBUILD" || make check
+
+
%install
rm -rf $RPM_BUILD_ROOT
rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.la
# Clean up the examples/ directory which will get installed in %doc.
-pushd examples
+# Note we can't delete the original examples/Makefile because that
+# will be needed by the check section later in the RPM build.
+cp -a examples ex
+pushd ex
make clean
rm Makefile*
rm -rf .deps .libs
popd
+# Same for ocaml/examples.
+cp -a ocaml/examples ocaml/ex
+pushd ocaml/ex
+make clean
+rm Makefile*
+popd
+
find $RPM_BUILD_ROOT -name perllocal.pod -delete
find $RPM_BUILD_ROOT -name .packlist -delete
+rm $RPM_BUILD_ROOT%{python_sitearch}/libguestfsmod.a
+rm $RPM_BUILD_ROOT%{python_sitearch}/libguestfsmod.la
+
+mkdir -p $RPM_BUILD_ROOT%{python_sitelib}
+mv $RPM_BUILD_ROOT%{python_sitearch}/guestfs.py* \
+ $RPM_BUILD_ROOT%{python_sitelib}/
+
%clean
rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root,-)
-%doc HACKING README examples
+%doc 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
%files -n guestfish
%defattr(-,root,root,-)
+%doc html/guestfish.1.html html/pod.css
%{_bindir}/guestfish
%{_mandir}/man1/guestfish.1*
%files ocaml-devel
%defattr(-,root,root,-)
+%doc ocaml/ex
%{_libdir}/ocaml/guestfs/*.a
%{_libdir}/ocaml/guestfs/*.cmxa
%{_libdir}/ocaml/guestfs/*.cmx
%{_mandir}/man3/Sys::Guestfs.3pm*
-# %files python
-# %defattr(-,root,root,-)
+%files python
+%defattr(-,root,root,-)
+%{python_sitearch}/*
+%{python_sitelib}/*.py
+%{python_sitelib}/*.pyc
+%{python_sitelib}/*.pyo
%changelog