X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=libguestfs.spec.in;h=ef07ea8929800e7f81495b9bfbcb58d1c888dba9;hb=936108f54cbf8e81132a0a0a8c093a4056f0e11c;hp=ed982a4d1cf3a2a46fe300b739a09dd549b04c85;hpb=ec89b939882564b0f7a481298e06111b7578d60d;p=libguestfs.git diff --git a/libguestfs.spec.in b/libguestfs.spec.in index ed982a4..ef07ea8 100644 --- a/libguestfs.spec.in +++ b/libguestfs.spec.in @@ -1,6 +1,7 @@ # @configure_input@ -#%global mirror http://hakodate/mirrors/fedora/10/Fedora/x86_64/os/ +# Enable to build w/o network. +%global buildnonet 0 Summary: Access and modify virtual machine disk images Name: libguestfs @@ -12,14 +13,27 @@ 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 +# 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: febootstrap >= 1.5 BuildRequires: augeas-devel >= 0.5.0 -BuildRequires: qemu - -# If you want to build the bindings for different languages: +BuildRequires: readline-devel +BuildRequires: qemu >= 0.10-7 +BuildRequires: createrepo + +# Build requirements for the appliance: +# (see 'make-initramfs.sh.in' in the source) +BuildRequires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng +BuildRequires: MAKEDEV, net-tools, augeas-libs, file +BuildRequires: module-init-tools, procps, strace, iputils + +# These are only required if you want to build the bindings for +# different languages: BuildRequires: ocaml BuildRequires: ocaml-findlib-devel BuildRequires: perl-devel @@ -28,9 +42,11 @@ BuildRequires: perl-Test-Pod BuildRequires: perl-Test-Pod-Coverage BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: python-devel +BuildRequires: ruby-devel +BuildRequires: rubygem-rake # Runtime requires: -Requires: qemu +Requires: qemu >= 0.10-7 %description @@ -57,11 +73,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 'ocaml-libguestfs-devel'. -For OCaml bindings, see 'libguestfs-ocaml-devel'. +For Python bindings, see 'python-libguestfs'. -For Python bindings, see 'libguestfs-python'. +For Ruby bindings, see 'ruby-libguestfs'. %package devel @@ -89,42 +107,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} @@ -132,8 +150,22 @@ 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 -n ruby-%{name} +Summary: Ruby bindings for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: ruby(abi) = 1.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 -n ruby-%{name} +ruby-%{name} contains Ruby bindings for %{name}. %prep @@ -141,8 +173,18 @@ Requires: %{name} = %{version}-%{release} %build -#%configure --with-mirror=%{mirror} -%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. @@ -150,7 +192,7 @@ make INSTALLDIRS=vendor %check -make check +test -n "$QUICK_RPMBUILD" || make check %install @@ -180,6 +222,25 @@ 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 + +if [ "$RPM_BUILD_ROOT%{python_sitearch}" != "$RPM_BUILD_ROOT%{python_sitelib}" ]; then + mkdir -p $RPM_BUILD_ROOT%{python_sitelib} + mv $RPM_BUILD_ROOT%{python_sitearch}/guestfs.py* \ + $RPM_BUILD_ROOT%{python_sitelib}/ +fi + +# Install ruby bindings by hand. +mkdir -p $RPM_BUILD_ROOT%{ruby_sitelib} +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 @@ -216,8 +277,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 @@ -227,7 +289,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 @@ -236,17 +298,38 @@ 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 -n ruby-%{name} %defattr(-,root,root,-) +%doc README +%{ruby_sitelib}/guestfs.rb +%{ruby_sitearch}/_guestfs.so %changelog -* Sat Apr 4 2009 Richard Jones - @VERSION@-1 +* Mon Apr 20 2009 Richard Jones - @VERSION@-1 +- New upstream version @VERSION@. + +* Mon Apr 20 2009 Richard Jones - 1.0.2-1 +- New upstream version 1.0.2. + +* Thu Apr 16 2009 Richard Jones - 0.9.9-12 +- Multiple fixes to get it to scratch build in Koji. + +* Sat Apr 4 2009 Richard Jones - 0.9.9-1 - Initial build.