2 # TODO: ruby and haskell bindings
5 %bcond_with static_libs # build static libraries
6 %bcond_with haskell # Haskell (GHC) binding
7 %bcond_without java # Java binding
8 %bcond_without ocaml # OCaml binding and tools
9 %bcond_without perl # Perl binding
10 %bcond_without perltools # Perl tools
11 %bcond_without php # PHP binding
12 %bcond_without python # Python binding
13 %bcond_with ruby # Ruby binding
15 %include /usr/lib/rpm/macros.perl
16 %include /usr/lib/rpm/macros.java
17 Summary: Library and tools for accessing and modifying virtual machine disk images
18 Summary(pl.UTF-8): Biblioteka i narzędzia do dostępu i modyfikacji obrazów dysków maszyn wirtualnych
24 Source0: http://libguestfs.org/download/1.12-stable/%{name}-%{version}.tar.gz
25 # Source0-md5: e8aeab7dcedda08d73828e7387cd6cc0
27 Patch1: augeas-libxml2.patch
28 URL: http://libguestfs.org/
29 BuildRequires: attr-devel
30 BuildRequires: augeas-devel
31 BuildRequires: autoconf >= 2.50
32 BuildRequires: automake
33 BuildRequires: cdrkit-mkisofs
35 BuildRequires: db-utils
36 #BuildRequires: febootstrap
37 BuildRequires: gettext-devel
38 %{?with_haskell:BuildRequires: ghc}
40 BuildRequires: hivex-devel
41 %{?with_java:BuildRequires: jdk}
42 BuildRequires: libconfig-devel
43 BuildRequires: libfuse-devel
44 BuildRequires: libmagic-devel
45 BuildRequires: libselinux-devel
46 BuildRequires: libtool
47 BuildRequires: libvirt-devel
48 BuildRequires: libxml2-devel >= 2.0
49 BuildRequires: libxml2-progs
50 BuildRequires: ncurses-devel
53 BuildRequires: ocaml-findlib
55 BuildRequires: ocaml-pcre-devel
57 BuildRequires: pcre-devel
58 BuildRequires: perl-base
59 BuildRequires: perl-tools-pod
61 BuildRequires: perl-ExtUtils-MakeMaker
62 BuildRequires: perl-Test-Simple
65 BuildRequires: perl-String-ShellQuote
66 BuildRequires: perl-Sys-Virt
67 BuildRequires: perl-hivex
68 BuildRequires: perl-libintl
69 BuildRequires: perl-modules
70 BuildRequires: perl(Data::Dumper)
71 BuildRequires: perl(Getopt::Long)
72 BuildRequires: perl(Locale::TextDomain)
73 BuildRequires: perl(Pod::Usage)
75 %{?with_php:BuildRequires: php-devel}
76 BuildRequires: pkgconfig
80 BuildRequires: python-devel
82 BuildRequires: readline-devel
83 BuildRequires: rpmbuild(macros) >= 1.219
86 BuildRequires: ruby-devel
87 BuildRequires: ruby-rake
90 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
93 libguestfs is a library and set of tools for accessing and modifying
94 virtual machine (VM) disk images. You can use this for viewing and
95 editing files inside guests, scripting changes to VMs, monitoring disk
96 used/free statistics, P2V, V2V, performing partial backups, cloning
97 VMs, and much else besides.
99 %description -l pl.UTF-8
100 libguestfs to biblioteka oraz zestaw narzędzi do dostępu oraz
101 modyfikowania obrazów dysków maszyn wirtualnych (VM). Można je
102 wykorzystywać do oglądania i edycji plików wewnątrz gości, zmian
103 skryptowych w VM-ach, monitorowania statystyk używanego/dostępnego
104 miejsca na dyskach, P2V, V2V, wykonywania częściowych kopii
105 zapasowych, klonowania VM-ów i wielu podobnych operacji.
108 Summary: Header files for libguestfs library
109 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libguestfs
110 Group: Development/Libraries
111 Requires: %{name} = %{version}-%{release}
114 Header files for libguestfs library.
116 %description devel -l pl.UTF-8
117 Pliki nagłówkowe biblioteki libguestfs.
120 Summary: Static libguestfs library
121 Summary(pl.UTF-8): Statyczna biblioteka libguestfs
122 Group: Development/Libraries
123 Requires: %{name}-devel = %{version}-%{release}
126 Static libguestfs library.
128 %description static -l pl.UTF-8
129 Statyczna biblioteka libguestfs.
132 Summary: libguestfs tools for accessing and modifying virtual machine disk images
133 Summary(pl.UTF-8): Narzędzia libguestfs do dostępu i modyfikacji obrazów dysków maszyn wirtualnych
134 Group: Applications/System
135 Requires: %{name} = %{version}-%{release}
136 %{?with_ocaml:Requires: ocaml-libguestfs = %{version}-%{release}}
137 %{?with_perltools:Requires: perl-libguestfs = %{version}-%{release}}
140 libguestfs tools for accessing and modifying virtual machine (VM) disk
141 images. You can use this for viewing and editing files inside guests,
142 scripting changes to VMs, monitoring disk used/free statistics, P2V,
143 V2V, performing partial backups, cloning VMs, and much else besides.
145 %description tools -l pl.UTF-8
146 Zestaw narzędzi libguestfs do dostępu oraz modyfikowania obrazów
147 dysków maszyn wirtualnych (VM). Można je wykorzystywać do oglądania i
148 edycji plików wewnątrz gości, zmian skryptowych w VM-ach,
149 monitorowania statystyk używanego/dostępnego miejsca na dyskach, P2V,
150 V2V, wykonywania częściowych kopii zapasowych, klonowania VM-ów i
151 wielu podobnych operacji.
153 %package -n java-libguestfs
154 Summary: Java bindings for libguestfs
155 Summary(pl.UTF-8): Wiązania Javy do libguestfs
156 Group: Libraries/Java
157 Requires: %{name} = %{version}-%{release}
159 %description -n java-libguestfs
160 Java bindings for libguestfs.
162 %description -n java-libguestfs -l pl.UTF-8
163 Wiązania Javy do libguestfs.
165 %package -n java-libguestfs-javadoc
166 Summary: Java bindings for libguestfs - documentation
167 Summary(pl.UTF-8): Wiązania Javy do libguestfs - dokumentacja
170 %description -n java-libguestfs-javadoc
171 Java bindings for libguestfs - documentation.
173 %description -n java-libguestfs-javadoc -l pl.UTF-8
174 Wiązania Javy do libguestfs - dokumentacja.
176 %package -n ocaml-libguestfs
177 Summary: OCaml bindings for libguestfs
178 Summary(pl.UTF-8): Wiązania OCamla do libguestfs
180 Requires: %{name} = %{version}-%{release}
182 %description -n ocaml-libguestfs
183 OCaml bindings for libguestfs.
185 %description -n ocaml-libguestfs -l pl.UTF-8
186 Wiązania OCamla do libguestfs.
188 %package -n ocaml-libguestfs-devel
189 Summary: Development files OCaml libguestfs bindings
190 Summary(pl.UTF-8): Pliki programistyczne wiązań OCamla do libguestfs
191 Group: Development/Libraries
192 Requires: ocaml-%{name} = %{version}-%{release}
194 %description -n ocaml-libguestfs-devel
195 Development files OCaml libguestfs bindings.
197 %description -n ocaml-libguestfs-devel -l pl.UTF-8
198 Pliki programistyczne wiązań OCamla do libguestfs.
200 %package -n perl-libguestfs
201 Summary: Perl bindings for libguestfs
202 Summary(pl.UTF-8): Wiązania Perla do libguestfs
203 Group: Development/Languages/Perl
204 Requires: %{name} = %{version}-%{release}
205 Suggests: perl-Sys-Virt
206 Suggests: perl-XML-XPath
209 %description -n perl-libguestfs
210 Perl bindings for libguestfs.
212 %description -n perl-libguestfs -l pl.UTF-8
213 Wiązania Perla do libguestfs.
215 %package -n php-guestfs
216 Summary: PHP bindings for libguestfs
217 Summary(pl.UTF-8): Wiązania PHP do libguestfs
218 Group: Development/Languages/PHP
219 Requires: %{name} = %{version}-%{release}
221 %description -n php-guestfs
222 PHP bindings for libguestfs.
224 %description -n php-guestfs -l pl.UTF-8
225 Wiązania PHP do libguestfs.
227 %package -n python-libguestfs
228 Summary: Python bindings for libguestfs
229 Summary(pl.UTF-8): Wiązania Pythona do libguestfs
230 Group: Development/Languages/Python
231 Requires: %{name} = %{version}-%{release}
233 %description -n python-libguestfs
234 Python bindings for libguestfs.
236 %description -n python-libguestfs -l pl.UTF-8
237 Wiązania Pythona do libguestfs.
239 %package -n bash-completion-libguestfs
240 Summary: bash-completion for libguestfs tools
241 Summary(pl.UTF-8): Bashowe uzupełnianie argumentów dla narzędzi libguestfs
242 Group: Applications/Shells
243 Requires: bash-completion
245 %description -n bash-completion-libguestfs
246 bash-completion for guestfish tool.
248 %description -n bash-completion-libguestfs -l pl.UTF-8
249 Bashowe uzupełnianie argumentów dla narzędzi libguestfs.
271 QEMU=%{_bindir}/qemu \
272 --with-java-home=%{?with_java:%{java_home}}%{!?with_java:no} \
274 --enable-install-daemon \
275 --disable-appliance \
276 %{!?with_haskell:--disable-haskell} \
277 %{!?with_ocaml:--disable-ocaml} \
278 %{!?with_perl:--disable-perl} \
279 %{!?with_php:--disable-php} \
280 %{!?with_python:--disable-python} \
281 %{!?with_ruby:--disable-ruby} \
282 --disable-silent-rules \
283 %{__enable_disable static_libs static}
289 rm -rf $RPM_BUILD_ROOT
293 DESTDIR=$RPM_BUILD_ROOT \
294 phpdir=%{_sysconfdir}/php/conf.d
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la \
297 $RPM_BUILD_ROOT%{py_sitedir}/*.la
299 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
300 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
306 rm -rf $RPM_BUILD_ROOT
308 %post -p /sbin/ldconfig
309 %postun -p /sbin/ldconfig
311 %files -f %{name}.lang
312 %defattr(644,root,root,755)
313 %doc AUTHORS BUGS ChangeLog README RELEASE-NOTES ROADMAP TODO
314 %attr(755,root,root) %{_libdir}/libguestfs.so.*.*.*
315 %attr(755,root,root) %ghost %{_libdir}/libguestfs.so.0
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libguestfs.so
320 %{_includedir}/guestfs.h
321 %{_pkgconfigdir}/libguestfs.pc
322 %{_mandir}/man3/guestfs-examples.3*
323 %{_mandir}/man3/guestfs.3*
324 %{_mandir}/man3/libguestfs.3*
325 %{_mandir}/ja/man3/guestfs.3*
326 %{_mandir}/uk/man3/guestfs.3*
328 %if %{with static_libs}
330 %defattr(644,root,root,755)
331 %{_libdir}/libguestfs.a
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/guestfish
337 %attr(755,root,root) %{_bindir}/guestmount
338 %attr(755,root,root) %{_bindir}/libguestfs-test-tool
339 %attr(755,root,root) %{_bindir}/virt-cat
340 %attr(755,root,root) %{_bindir}/virt-copy-in
341 %attr(755,root,root) %{_bindir}/virt-copy-out
342 %attr(755,root,root) %{_bindir}/virt-df
343 %attr(755,root,root) %{_bindir}/virt-edit
344 %attr(755,root,root) %{_bindir}/virt-filesystems
345 %attr(755,root,root) %{_bindir}/virt-inspector
346 %attr(755,root,root) %{_bindir}/virt-ls
347 %attr(755,root,root) %{_bindir}/virt-rescue
348 %attr(755,root,root) %{_bindir}/virt-tar-in
349 %attr(755,root,root) %{_bindir}/virt-tar-out
350 %attr(755,root,root) %{_sbindir}/guestfsd
351 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libguestfs-tools.conf
352 %{_mandir}/man1/guestfish.1*
353 %{_mandir}/man1/guestfs-recipes.1*
354 %{_mandir}/man1/guestmount.1*
355 %{_mandir}/man1/libguestfs-test-tool.1*
356 %{_mandir}/man1/virt-cat.1*
357 %{_mandir}/man1/virt-copy-in.1*
358 %{_mandir}/man1/virt-copy-out.1*
359 %{_mandir}/man1/virt-df.1*
360 %{_mandir}/man1/virt-edit.1*
361 %{_mandir}/man1/virt-filesystems.1*
362 %{_mandir}/man1/virt-inspector.1*
363 %{_mandir}/man1/virt-ls.1*
364 %{_mandir}/man1/virt-rescue.1*
365 %{_mandir}/man1/virt-tar-in.1*
366 %{_mandir}/man1/virt-tar-out.1*
367 %lang(ja) %{_mandir}/ja/man1/guestfish.1*
368 %lang(ja) %{_mandir}/ja/man1/guestmount.1*
369 %lang(ja) %{_mandir}/ja/man1/virt-cat.1*
370 %lang(ja) %{_mandir}/ja/man1/virt-copy-in.1*
371 %lang(ja) %{_mandir}/ja/man1/virt-copy-out.1*
372 %lang(ja) %{_mandir}/ja/man1/virt-df.1*
373 %lang(ja) %{_mandir}/ja/man1/virt-edit.1*
374 %lang(ja) %{_mandir}/ja/man1/virt-filesystems.1*
375 %lang(ja) %{_mandir}/ja/man1/virt-inspector.1*
376 %lang(ja) %{_mandir}/ja/man1/virt-ls.1*
377 %lang(ja) %{_mandir}/ja/man1/virt-rescue.1*
378 %lang(ja) %{_mandir}/ja/man1/virt-tar-in.1*
379 %lang(ja) %{_mandir}/ja/man1/virt-tar-out.1*
380 %lang(uk) %{_mandir}/uk/man1/guestfish.1*
381 %lang(uk) %{_mandir}/uk/man1/guestmount.1*
382 %lang(uk) %{_mandir}/uk/man1/virt-cat.1*
383 %lang(uk) %{_mandir}/uk/man1/virt-copy-in.1*
384 %lang(uk) %{_mandir}/uk/man1/virt-copy-out.1*
385 %lang(uk) %{_mandir}/uk/man1/virt-df.1*
386 %lang(uk) %{_mandir}/uk/man1/virt-edit.1*
387 %lang(uk) %{_mandir}/uk/man1/virt-filesystems.1*
388 %lang(uk) %{_mandir}/uk/man1/virt-inspector.1*
389 %lang(uk) %{_mandir}/uk/man1/virt-ls.1*
390 %lang(uk) %{_mandir}/uk/man1/virt-rescue.1*
391 %lang(uk) %{_mandir}/uk/man1/virt-tar-in.1*
392 %lang(uk) %{_mandir}/uk/man1/virt-tar-out.1*
394 %attr(755,root,root) %{_bindir}/virt-resize
395 %{_mandir}/man1/virt-resize.1*
396 %lang(ja) %{_mandir}/ja/man1/virt-resize.1*
397 %lang(uk) %{_mandir}/uk/man1/virt-resize.1*
399 %if %{with perltools}
400 %attr(755,root,root) %{_bindir}/virt-list-filesystems
401 %attr(755,root,root) %{_bindir}/virt-list-partitions
402 %attr(755,root,root) %{_bindir}/virt-make-fs
403 %attr(755,root,root) %{_bindir}/virt-tar
404 %attr(755,root,root) %{_bindir}/virt-win-reg
405 %{_mandir}/man1/virt-list-filesystems.1*
406 %{_mandir}/man1/virt-list-partitions.1*
407 %{_mandir}/man1/virt-make-fs.1*
408 %{_mandir}/man1/virt-tar.1*
409 %{_mandir}/man1/virt-win-reg.1*
410 %lang(ja) %{_mandir}/ja/man1/virt-list-filesystems.1*
411 %lang(ja) %{_mandir}/ja/man1/virt-list-partitions.1*
412 %lang(ja) %{_mandir}/ja/man1/virt-make-fs.1*
413 %lang(ja) %{_mandir}/ja/man1/virt-tar.1*
414 %lang(ja) %{_mandir}/ja/man1/virt-win-reg.1*
415 %lang(uk) %{_mandir}/uk/man1/virt-list-filesystems.1*
416 %lang(uk) %{_mandir}/uk/man1/virt-list-partitions.1*
417 %lang(uk) %{_mandir}/uk/man1/virt-make-fs.1*
418 %lang(uk) %{_mandir}/uk/man1/virt-tar.1*
419 %lang(uk) %{_mandir}/uk/man1/virt-win-reg.1*
423 %files -n java-libguestfs
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{_libdir}/libguestfs_jni.so.1.12.11
426 %attr(755,root,root) %{_libdir}/libguestfs_jni.so.1
427 %attr(755,root,root) %{_libdir}/libguestfs_jni.so
428 %{_javadir}/libguestfs-1.12.11.jar
429 %{_mandir}/man3/guestfs-java.3*
431 %files -n java-libguestfs-javadoc
432 %defattr(644,root,root,755)
433 %{_javadocdir}/libguestfs-java-1.12.11
437 %files -n ocaml-libguestfs
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllmlguestfs.so
440 %{_libdir}/ocaml/stublibs/dllmlguestfs.so.owner
442 %files -n ocaml-libguestfs-devel
443 %defattr(644,root,root,755)
444 %dir %{_libdir}/ocaml/guestfs
445 %{_libdir}/ocaml/guestfs/META
446 %{_libdir}/ocaml/guestfs/bindtests.cmi
447 %{_libdir}/ocaml/guestfs/bindtests.cmx
448 %{_libdir}/ocaml/guestfs/guestfs.cmi
449 %{_libdir}/ocaml/guestfs/guestfs.cmx
450 %{_libdir}/ocaml/guestfs/guestfs.mli
451 %{_libdir}/ocaml/guestfs/libmlguestfs.a
452 %{_libdir}/ocaml/guestfs/mlguestfs.a
453 %{_libdir}/ocaml/guestfs/mlguestfs.cma
454 %{_libdir}/ocaml/guestfs/mlguestfs.cmxa
455 %{_mandir}/man3/guestfs-ocaml.3*
459 %files -n perl-libguestfs
460 %defattr(644,root,root,755)
461 %{perl_vendorarch}/Sys/Guestfs.pm
462 %dir %{perl_vendorarch}/Sys/Guestfs
463 %{perl_vendorarch}/Sys/Guestfs/Lib.pm
464 %{perl_vendorarch}/Sys/bindtests.pl
465 %dir %{perl_vendorarch}/auto/Sys/Guestfs
466 %{perl_vendorarch}/auto/Sys/Guestfs/Guestfs.bs
467 %attr(755,root,root) %{perl_vendorarch}/auto/Sys/Guestfs/Guestfs.so
468 %{_mandir}/man3/guestfs-perl.3*
469 %{_mandir}/man3/Sys::Guestfs.3pm*
470 %{_mandir}/man3/Sys::Guestfs::Lib.3pm*
473 %files -n php-guestfs
474 %defattr(644,root,root,755)
475 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php/conf.d/guestfs_php.ini
476 %attr(755,root,root) %{_libdir}/php/guestfs_php.so
479 %files -n python-libguestfs
480 %defattr(644,root,root,755)
481 %attr(755,root,root) %{py_sitedir}/libguestfsmod.so
482 %{py_sitedir}/guestfs.py[co]
483 %{_mandir}/man3/guestfs-python.3*
486 %files -n bash-completion-libguestfs
487 %defattr(644,root,root,755)
488 %attr(755,root,root) /etc/bash_completion.d/guestfish-bash-completion.sh