From 03ff42cb2e088b00c15023d456058cbcdc5d3c81 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Tue, 12 May 2009 12:58:45 +0100 Subject: Remove the specfile from the tarball. Include contrib/ dir. --- Makefile.am | 12 +- configure.ac | 2 +- contrib/fedora-libguestfs.spec | 461 +++++++++++++++++++++++++++++++++++++++++ libguestfs.spec.in | 461 ----------------------------------------- 4 files changed, 471 insertions(+), 465 deletions(-) create mode 100644 contrib/fedora-libguestfs.spec delete mode 100644 libguestfs.spec.in diff --git a/Makefile.am b/Makefile.am index 80ea8756..592ed944 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,7 +45,6 @@ EXTRA_DIST = \ make-initramfs.sh update-initramfs.sh \ guestfs.pod guestfs-actions.pod guestfs-structs.pod \ guestfish.pod guestfish-actions.pod \ - libguestfs.spec \ html/pod.css \ HACKING TODO \ tests.c \ @@ -58,7 +57,13 @@ EXTRA_DIST = \ recipes/*.example \ html/recipes.css \ make-recipes.sh \ - test-cleanup.sh + test-cleanup.sh \ + contrib/README \ + contrib/centos5.3-libguestfs.spec \ + contrib/fedora-libguestfs.spec \ + contrib/febootstrap/install.title \ + contrib/febootstrap/install.html \ + contrib/febootstrap/install.sh # Build the root filesystem. # Currently this is arch-dependent, so it seems like putting it in @@ -87,7 +92,8 @@ $(INITRAMFSIMG): initramfs/fakeroot.log daemon/guestfsd make-initramfs.sh: make-initramfs.sh.in ./config.status $@ -# Tests. These are auto-generated from the test descriptions. +# Tests. These are auto-generated from the test descriptions +# in the generator. check_PROGRAMS = tests diff --git a/configure.ac b/configure.ac index 575ab83a..f04bafbf 100644 --- a/configure.ac +++ b/configure.ac @@ -437,7 +437,7 @@ AC_CONFIG_FILES([Makefile src/Makefile fish/Makefile examples/Makefile haskell/Makefile inspector/Makefile make-initramfs.sh update-initramfs.sh - libguestfs.spec libguestfs.pc + libguestfs.pc ocaml/META perl/Makefile.PL]) AC_OUTPUT diff --git a/contrib/fedora-libguestfs.spec b/contrib/fedora-libguestfs.spec new file mode 100644 index 00000000..b7d66ba3 --- /dev/null +++ b/contrib/fedora-libguestfs.spec @@ -0,0 +1,461 @@ +# libguestfs.spec. Generated from libguestfs.spec.in by configure. + +# Enable to build w/o network. +%global buildnonet 0 + +Summary: Access and modify virtual machine disk images +Name: libguestfs +Version: 1.0.23 +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 + +# 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 >= 2.0 +BuildRequires: augeas-devel >= 0.5.0 +BuildRequires: readline-devel +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: MAKEDEV, net-tools, augeas-libs, file +BuildRequires: module-init-tools, procps, strace, iputils +BuildRequires: grub, dosfstools, ntfsprogs + +# These are only required 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: 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 + + +%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. + +For Perl bindings, see 'perl-libguestfs'. + +For OCaml bindings, see 'ocaml-libguestfs-devel'. + +For Python bindings, see 'python-libguestfs'. + +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 +%{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. + + +%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 +Requires: %{name} = %{version}-%{release} + + +%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 ocaml-%{name}-devel. + + +%package -n ocaml-%{name}-devel +Summary: OCaml bindings for %{name} +Group: Development/Libraries +Requires: ocaml-%{name} = %{version}-%{release} + + +%description -n ocaml-%{name}-devel +ocaml-%{name}-devel contains development libraries +required to use the OCaml bindings for %{name}. + + +%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 -n perl-%{name} +perl-%{name} contains Perl bindings for %{name}. + + +%package -n python-%{name} +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 -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}. + + +%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 +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} \ + --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 %{?_smp_mflags} + + +%check +test -n "$QUICK_RPMBUILD" || make check + + +%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. +# 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 +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} + +# 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 + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc COPYING +%{_libdir}/guestfs/ +%{_libdir}/libguestfs.so.* + + +%files devel +%defattr(-,root,root,-) +%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 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 +%{_libdir}/ocaml/guestfs +%exclude %{_libdir}/ocaml/guestfs/*.a +%exclude %{_libdir}/ocaml/guestfs/*.cmxa +%exclude %{_libdir}/ocaml/guestfs/*.cmx +%exclude %{_libdir}/ocaml/guestfs/*.mli +%{_libdir}/ocaml/stublibs/*.so +%{_libdir}/ocaml/stublibs/*.so.owner + + +%files -n ocaml-%{name}-devel +%defattr(-,root,root,-) +%doc ocaml/ex +%{_libdir}/ocaml/guestfs/*.a +%{_libdir}/ocaml/guestfs/*.cmxa +%{_libdir}/ocaml/guestfs/*.cmx +%{_libdir}/ocaml/guestfs/*.mli + + +%files -n perl-%{name} +%defattr(-,root,root,-) +%doc perl/examples +%{perl_vendorarch}/* +%{_mandir}/man3/Sys::Guestfs.3pm* + + +%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 + + +%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 +* Fri May 8 2009 Richard Jones - 1.0.23-1 +- New upstream version 1.0.23. + +* Fri May 8 2009 Richard Jones - 1.0.21-2 +- New upstream version 1.0.21. + +* Thu May 7 2009 Richard Jones - 1.0.20-2 +- New upstream version 1.0.20. + +* Thu May 7 2009 Richard Jones - 1.0.19-1 +- New upstream version 1.0.19. + +* Tue Apr 28 2009 Richard Jones - 1.0.15-1 +- New upstream version 1.0.15. + +* Fri Apr 24 2009 Richard Jones - 1.0.12-1 +- New upstream version 1.0.12. + +* Wed Apr 22 2009 Richard Jones - 1.0.6-1 +- New upstream version 1.0.6. + +* 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. diff --git a/libguestfs.spec.in b/libguestfs.spec.in deleted file mode 100644 index 48479104..00000000 --- a/libguestfs.spec.in +++ /dev/null @@ -1,461 +0,0 @@ -# @configure_input@ - -# Enable to build w/o network. -%global buildnonet 0 - -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 - -# 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 >= 2.0 -BuildRequires: augeas-devel >= 0.5.0 -BuildRequires: readline-devel -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: MAKEDEV, net-tools, augeas-libs, file -BuildRequires: module-init-tools, procps, strace, iputils -BuildRequires: grub, dosfstools, ntfsprogs - -# These are only required 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: 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 - - -%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. - -For Perl bindings, see 'perl-libguestfs'. - -For OCaml bindings, see 'ocaml-libguestfs-devel'. - -For Python bindings, see 'python-libguestfs'. - -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 -%{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. - - -%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 -Requires: %{name} = %{version}-%{release} - - -%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 ocaml-%{name}-devel. - - -%package -n ocaml-%{name}-devel -Summary: OCaml bindings for %{name} -Group: Development/Libraries -Requires: ocaml-%{name} = %{version}-%{release} - - -%description -n ocaml-%{name}-devel -ocaml-%{name}-devel contains development libraries -required to use the OCaml bindings for %{name}. - - -%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 -n perl-%{name} -perl-%{name} contains Perl bindings for %{name}. - - -%package -n python-%{name} -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 -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}. - - -%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 -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} \ - --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 %{?_smp_mflags} - - -%check -test -n "$QUICK_RPMBUILD" || make check - - -%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. -# 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 -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} - -# 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 - - -%clean -rm -rf $RPM_BUILD_ROOT - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - - -%files -%defattr(-,root,root,-) -%doc COPYING -%{_libdir}/guestfs/ -%{_libdir}/libguestfs.so.* - - -%files devel -%defattr(-,root,root,-) -%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 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 -%{_libdir}/ocaml/guestfs -%exclude %{_libdir}/ocaml/guestfs/*.a -%exclude %{_libdir}/ocaml/guestfs/*.cmxa -%exclude %{_libdir}/ocaml/guestfs/*.cmx -%exclude %{_libdir}/ocaml/guestfs/*.mli -%{_libdir}/ocaml/stublibs/*.so -%{_libdir}/ocaml/stublibs/*.so.owner - - -%files -n ocaml-%{name}-devel -%defattr(-,root,root,-) -%doc ocaml/ex -%{_libdir}/ocaml/guestfs/*.a -%{_libdir}/ocaml/guestfs/*.cmxa -%{_libdir}/ocaml/guestfs/*.cmx -%{_libdir}/ocaml/guestfs/*.mli - - -%files -n perl-%{name} -%defattr(-,root,root,-) -%doc perl/examples -%{perl_vendorarch}/* -%{_mandir}/man3/Sys::Guestfs.3pm* - - -%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 - - -%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 -* Fri May 8 2009 Richard Jones - @VERSION@-1 -- New upstream version @VERSION@. - -* Fri May 8 2009 Richard Jones - 1.0.21-2 -- New upstream version 1.0.21. - -* Thu May 7 2009 Richard Jones - 1.0.20-2 -- New upstream version 1.0.20. - -* Thu May 7 2009 Richard Jones - 1.0.19-1 -- New upstream version 1.0.19. - -* Tue Apr 28 2009 Richard Jones - 1.0.15-1 -- New upstream version 1.0.15. - -* Fri Apr 24 2009 Richard Jones - 1.0.12-1 -- New upstream version 1.0.12. - -* Wed Apr 22 2009 Richard Jones - 1.0.6-1 -- New upstream version 1.0.6. - -* 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. -- cgit