Use standard names for the OCaml/Perl/Python/Ruby subpackages.
[libguestfs.git] / libguestfs.spec.in
index 3a79276..fb95c18 100644 (file)
@@ -1,5 +1,8 @@
 # @configure_input@
 
+# Enable to build w/o network.
+%global buildnonet 0
+
 Summary:     Access and modify virtual machine disk images
 Name:        libguestfs
 Version:     @VERSION@
@@ -66,13 +69,13 @@ programs.
 See also the 'guestfish' package for shell scripting and command line
 access.
 
-For Perl bindings, see 'libguestfs-perl'.
+For Perl bindings, see 'perl-libguestfs'.
 
-For OCaml bindings, see 'libguestfs-ocaml-devel'.
+For OCaml bindings, see 'ocaml-libguestfs-devel'.
 
-For Python bindings, see 'libguestfs-python'.
+For Python bindings, see 'python-libguestfs'.
 
-For Ruby bindings, see 'libguestfs-ruby'.
+For Ruby bindings, see 'ruby-libguestfs'.
 
 
 %package devel
@@ -100,42 +103,42 @@ modifying virtual machine disk images from the command line and shell
 scripts.
 
 
-%package ocaml
+%package -n ocaml-%{name}
 Summary:     OCaml bindings for %{name}
 Group:       Development/Libraries
 Requires:    %{name} = %{version}-%{release}
 
 
-%description ocaml
-%{name}-ocaml contains OCaml bindings for %{name}.
+%description -n ocaml-%{name}
+ocaml-%{name} contains OCaml bindings for %{name}.
 
 This is for toplevel and scripting access only.  To compile OCaml
-programs which use %{name} you will also need %{name}-ocaml-devel.
+programs which use %{name} you will also need ocaml-%{name}-devel.
 
 
-%package ocaml-devel
+%package -n ocaml-%{name}-devel
 Summary:     OCaml bindings for %{name}
 Group:       Development/Libraries
-Requires:    %{name}-ocaml = %{version}-%{release}
+Requires:    ocaml-%{name} = %{version}-%{release}
 
 
-%description ocaml-devel
-%{name}-ocaml-devel contains development libraries
+%description -n ocaml-%{name}-devel
+ocaml-%{name}-devel contains development libraries
 required to use the OCaml bindings for %{name}.
 
 
-%package perl
+%package -n perl-%{name}
 Summary:     Perl bindings for %{name}
 Group:       Development/Libraries
 Requires:    %{name} = %{version}-%{release}
 Requires:    perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 
 
-%description perl
-%{name}-perl contains Perl bindings for %{name}.
+%description -n perl-%{name}
+perl-%{name} contains Perl bindings for %{name}.
 
 
-%package python
+%package -n python-%{name}
 Summary:     Python bindings for %{name}
 Group:       Development/Libraries
 Requires:    %{name} = %{version}-%{release}
@@ -143,11 +146,11 @@ 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 -n python-%{name}
+python-%{name} contains Python bindings for %{name}.
 
 
-%package ruby
+%package -n ruby-%{name}
 Summary:     Ruby bindings for %{name}
 Group:       Development/Libraries
 Requires:    %{name} = %{version}-%{release}
@@ -157,8 +160,8 @@ Provides:    ruby(guestfs) = %{version}
 %{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")}
 %{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")}
 
-%description ruby
-%{name}-ruby contains Ruby bindings for %{name}.
+%description -n ruby-%{name}
+ruby-%{name} contains Ruby bindings for %{name}.
 
 
 %prep
@@ -166,7 +169,18 @@ Provides:    ruby(guestfs) = %{version}
 
 
 %build
-%configure
+%if %{buildnonet}
+mkdir repo
+pushd repo
+cp $(find /var/cache/yum/build -name '*.rpm') .
+createrepo .
+popd
+%define extra --with-mirror=file://$(pwd)/repo --with-repo=fedora-12
+%else
+%define extra %nil
+%endif
+
+./configure --prefix=%{_prefix} --libdir=%{_libdir} %{extra}
 
 # 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
 # not the site dir.
@@ -204,6 +218,7 @@ popd
 
 find $RPM_BUILD_ROOT -name perllocal.pod -delete
 find $RPM_BUILD_ROOT -name .packlist -delete
+find $RPM_BUILD_ROOT -name '*.bs' -delete
 
 rm $RPM_BUILD_ROOT%{python_sitearch}/libguestfsmod.a
 rm $RPM_BUILD_ROOT%{python_sitearch}/libguestfsmod.la
@@ -220,6 +235,9 @@ mkdir -p $RPM_BUILD_ROOT%{ruby_sitearch}
 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}
 
+# Generator shouldn't be executable when we distribute it.
+chmod -x src/generator.ml
+
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -255,8 +273,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/guestfish.1*
 
 
-%files ocaml
+%files -n ocaml-%{name}
 %defattr(-,root,root,-)
+%doc README
 %{_libdir}/ocaml/guestfs
 %exclude %{_libdir}/ocaml/guestfs/*.a
 %exclude %{_libdir}/ocaml/guestfs/*.cmxa
@@ -266,7 +285,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/ocaml/stublibs/*.so.owner
 
 
-%files ocaml-devel
+%files -n ocaml-%{name}-devel
 %defattr(-,root,root,-)
 %doc ocaml/ex
 %{_libdir}/ocaml/guestfs/*.a
@@ -275,31 +294,36 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/ocaml/guestfs/*.mli
 
 
-%files perl
+%files -n perl-%{name}
 %defattr(-,root,root,-)
 %doc perl/examples
 %{perl_vendorarch}/*
 %{_mandir}/man3/Sys::Guestfs.3pm*
 
 
-%files python
+%files -n python-%{name}
 %defattr(-,root,root,-)
+%doc README
 %{python_sitearch}/*
 %{python_sitelib}/*.py
 %{python_sitelib}/*.pyc
 %{python_sitelib}/*.pyo
 
 
-%files ruby
+%files -n ruby-%{name}
 %defattr(-,root,root,-)
+%doc README
 %{ruby_sitelib}/guestfs.rb
 %{ruby_sitearch}/_guestfs.so
 
 
 %changelog
-* Thu Apr 16 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
+* Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
 - New upstream version @VERSION@.
 
+* Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - 1.0.2-1
+- New upstream version 1.0.2.
+
 * Thu Apr 16 2009 Richard Jones <rjones@redhat.com> - 0.9.9-12
 - Multiple fixes to get it to scratch build in Koji.