]> git.pld-linux.org Git - packages/libguestfs.git/blob - libguestfs.spec
af8cd405c11ce51bbb9d3c94d65a68d55739c54b
[packages/libguestfs.git] / libguestfs.spec
1 #
2 # TODO: ruby and haskell bindings
3 #
4 # Conditional build:
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
14 #
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
19 Name:           libguestfs
20 Version:        1.12.11
21 Release:        5
22 License:        LGPL v2+
23 Group:          Libraries
24 Source0:        http://libguestfs.org/download/1.12-stable/%{name}-%{version}.tar.gz
25 # Source0-md5:  e8aeab7dcedda08d73828e7387cd6cc0
26 Patch0:         ncurses.patch
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
34 BuildRequires:  cpio
35 BuildRequires:  db-utils
36 #BuildRequires: febootstrap
37 BuildRequires:  gettext-devel
38 %{?with_haskell:BuildRequires:  ghc}
39 BuildRequires:  gperf
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
51 %if %{with ocaml}
52 BuildRequires:  ocaml
53 BuildRequires:  ocaml-findlib
54 #-devel
55 BuildRequires:  ocaml-pcre-devel
56 %endif
57 BuildRequires:  pcre-devel
58 BuildRequires:  perl-base
59 BuildRequires:  perl-tools-pod
60 %if %{with perl}
61 BuildRequires:  perl-ExtUtils-MakeMaker
62 BuildRequires:  perl-Test-Simple
63 %endif
64 %if %{with perltools}
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)
74 %endif
75 %{?with_php:BuildRequires:      php-devel}
76 BuildRequires:  pkgconfig
77 BuildRequires:  po4a
78 %if %{with python}
79 BuildRequires:  python
80 BuildRequires:  python-devel
81 %endif
82 BuildRequires:  readline-devel
83 BuildRequires:  rpmbuild(macros) >= 1.219
84 %if %{with ruby}
85 BuildRequires:  ruby
86 BuildRequires:  ruby-devel
87 BuildRequires:  ruby-rake
88 %endif
89 Requires:       qemu-common
90 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91
92 %description
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.
98
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.
106
107 %package devel
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}
112
113 %description devel
114 Header files for libguestfs library.
115
116 %description devel -l pl.UTF-8
117 Pliki nagłówkowe biblioteki libguestfs.
118
119 %package static
120 Summary:        Static libguestfs library
121 Summary(pl.UTF-8):      Statyczna biblioteka libguestfs
122 Group:          Development/Libraries
123 Requires:       %{name}-devel = %{version}-%{release}
124
125 %description static
126 Static libguestfs library.
127
128 %description static -l pl.UTF-8
129 Statyczna biblioteka libguestfs.
130
131 %package tools
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}}
138
139 %description tools
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.
144
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.
152
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}
158
159 %description -n java-libguestfs
160 Java bindings for libguestfs.
161
162 %description -n java-libguestfs -l pl.UTF-8
163 Wiązania Javy do libguestfs.
164
165 %package -n java-libguestfs-javadoc
166 Summary:        Java bindings for libguestfs - documentation
167 Summary(pl.UTF-8):      Wiązania Javy do libguestfs - dokumentacja
168 Group:          Documentation
169
170 %description -n java-libguestfs-javadoc
171 Java bindings for libguestfs - documentation.
172
173 %description -n java-libguestfs-javadoc -l pl.UTF-8
174 Wiązania Javy do libguestfs - dokumentacja.
175
176 %package -n ocaml-libguestfs
177 Summary:        OCaml bindings for libguestfs
178 Summary(pl.UTF-8):      Wiązania OCamla do libguestfs
179 Group:          Libraries
180 Requires:       %{name} = %{version}-%{release}
181
182 %description -n ocaml-libguestfs
183 OCaml bindings for libguestfs.
184
185 %description -n ocaml-libguestfs -l pl.UTF-8
186 Wiązania OCamla do libguestfs.
187
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}
193
194 %description -n ocaml-libguestfs-devel
195 Development files OCaml libguestfs bindings.
196
197 %description -n ocaml-libguestfs-devel -l pl.UTF-8
198 Pliki programistyczne wiązań OCamla do libguestfs.
199
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
207 Suggests:       perl-hivex
208
209 %description -n perl-libguestfs
210 Perl bindings for libguestfs.
211
212 %description -n perl-libguestfs -l pl.UTF-8
213 Wiązania Perla do libguestfs.
214
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}
220
221 %description -n php-guestfs
222 PHP bindings for libguestfs.
223
224 %description -n php-guestfs -l pl.UTF-8
225 Wiązania PHP do libguestfs.
226
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}
232
233 %description -n python-libguestfs
234 Python bindings for libguestfs.
235
236 %description -n python-libguestfs -l pl.UTF-8
237 Wiązania Pythona do libguestfs.
238
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
244
245 %description -n bash-completion-libguestfs
246 bash-completion for guestfish tool.
247
248 %description -n bash-completion-libguestfs -l pl.UTF-8
249 Bashowe uzupełnianie argumentów dla narzędzi libguestfs.
250
251 %prep
252 %setup -q
253 %patch0 -p1
254 %patch1 -p1
255
256 %build
257 %{__libtoolize}
258 %{__aclocal} -I m4
259 %{__autoconf}
260 %{__autoheader}
261 %{__automake}
262 cd daemon
263 %{__libtoolize}
264 %{__aclocal} -I m4
265 %{__autoconf}
266 %{__autoheader}
267 %{__automake}
268 cd ..
269 %configure \
270         vmchannel_test=no \
271         QEMU=%{_bindir}/qemu \
272         --with-java-home=%{?with_java:%{java_home}}%{!?with_java:no} \
273         --with-qemu=qemu \
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}
284
285 %{__make} \
286         INSTALLDIRS=vendor
287
288 %install
289 rm -rf $RPM_BUILD_ROOT
290
291 %{__make} install \
292         INSTALLDIRS=vendor \
293         DESTDIR=$RPM_BUILD_ROOT \
294         phpdir=%{_sysconfdir}/php/conf.d
295
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la \
297         $RPM_BUILD_ROOT%{py_sitedir}/*.la
298
299 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
300 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
301 %py_postclean
302
303 %find_lang %{name}
304
305 %clean
306 rm -rf $RPM_BUILD_ROOT
307
308 %post   -p /sbin/ldconfig
309 %postun -p /sbin/ldconfig
310
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
316
317 %files devel
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*
327
328 %if %{with static_libs}
329 %files static
330 %defattr(644,root,root,755)
331 %{_libdir}/libguestfs.a
332 %endif
333
334 %files tools
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*
393 %if %{with ocaml}
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*
398 %endif
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*
420 %endif
421
422 %if %{with java}
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*
430
431 %files -n java-libguestfs-javadoc
432 %defattr(644,root,root,755)
433 %{_javadocdir}/libguestfs-java-1.12.11
434 %endif
435
436 %if %{with ocaml}
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
441
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*
456 %endif
457
458 %if %{with perl}
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*
471 %endif
472
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
477
478 %if %{with python}
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*
484 %endif
485
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
This page took 0.051602 seconds and 2 git commands to generate.