summaryrefslogtreecommitdiff
path: root/nbdkit.spec
blob: 75f6f16e75bcb2764751b770abb6985178cc38d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
#
# Conditional build:
%bcond_without	ocaml		# OCaml plugin (requires ocaml_opt support)
%bcond_without	perl		# Perl plugin
%bcond_without	python		# Python plugin
%bcond_with	vddk		# VMware VDDK plugin [needs proprietary VDDK]
#
%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
# no ocaml_opt support
%undefine	with_ocaml
%endif
Summary:	Toolkit for creating NBD servers
Summary(pl.UTF-8):	Narzędzia do tworzenia serwerów NBD
Name:		nbdkit
Version:	1.1.11
Release:	8
License:	BSD
Group:		Applications/System
Source0:	http://libguestfs.org/download/nbdkit/%{name}-%{version}.tar.gz
# Source0-md5:	c03d66a7ad5f7f08a171d6845dc28c48
URL:		http://libguestfs.org/
BuildRequires:	autoconf >= 2.50
BuildRequires:	automake
BuildRequires:	curl-devel
BuildRequires:	libguestfs-devel
BuildRequires:	libtool >= 2:2
BuildRequires:	libvirt-devel
%{?with_ocaml:BuildRequires:	ocaml >= 4.02.2}
%{?with_perl:BuildRequires:	perl-devel}
BuildRequires:	perl-tools-pod
BuildRequires:	pkgconfig
%{?with_python:BuildRequires:	python-devel >= 2}
BuildRequires:	xz-devel
BuildRequires:	zlib-devel
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

# depends on symbols from nbdkit binary and ocaml ABI
%define		skip_post_check_so	libnbdkitocaml.so.*

%description
NBD is a protocol for accessing Block Devices (hard disks and
disk-like things) over a Network.

'nbdkit' is a toolkit for creating NBD servers.

%description -l pl.UTF-8
NBD (Network Block Device) to protokół sieciowego dostępu do urządzeń
blokowych (dysków twardych i podobnego osprzętu).

nbdkit to zestaw narzędzi do tworzenia serwerów NBD.

%package plugin-curl
Summary:	curl plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka curl dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-curl
curl plugin for nbdkit.

%description plugin-curl -l pl.UTF-8
Wtyczka curl dla nbdkitu.

%package plugin-guestfs
Summary:	guestfs plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka guestfs dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-guestfs
guestfs plugin for nbdkit.

%description plugin-guestfs -l pl.UTF-8
Wtyczka guestfs dla nbdkitu.

%package plugin-libvirt
Summary:	libvirt plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka libvirt dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-libvirt
libvirt plugin for nbdkit.

%description plugin-libvirt -l pl.UTF-8
Wtyczka libvirt dla nbdkitu.

%package plugin-ocaml
Summary:	OCaml embed plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka wbudowanego OCamla dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	ocaml-runtime

%description plugin-ocaml
OCaml embed plugin for nbdkit.

%description plugin-ocaml -l pl.UTF-8
Wtyczka wbudowanego OCamla dla nbdkitu.

%package plugin-perl
Summary:	Perl embed plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka wbudowanego Perla dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-perl
Perl embed plugin for nbdkit.

%description plugin-perl -l pl.UTF-8
Wtyczka wbudowanego Perla dla nbdkitu.

%package plugin-python
Summary:	Python embed plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka wbudowanego Pythona dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-python
Python embed plugin for nbdkit.

%description plugin-python -l pl.UTF-8
Wtyczka wbudowanego Pythona dla nbdkitu.

%package plugin-vddk
Summary:	VMware VDDK plugin for nbdkit
Summary(pl.UTF-8):	Wtyczka VMware VDDK dla nbdkitu
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description plugin-vddk
VMware VDDK plugin for nbdkit.

%description plugin-vddk -l pl.UTF-8
Wtyczka VMware VDDK dla nbdkitu.

%package devel
Summary:	Header file for nbdkit plugins
Summary(pl.UTF-8):	Plik nagłówkowy dla wtyczek nbdkit
Group:		Development/Libraries
# doesn't require base

%description devel
Header file for nbdkit plugins.

%description devel -l pl.UTF-8
Plik nagłówkowy dla wtyczek nbdkit.

%prep
%setup -q

%build
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
	GUESTFISH=no \
	%{!?with_ocaml:--disable-ocaml} \
	%{!?with_perl:--disable-perl} \
	%{!?with_python:--disable-python} \
	--disable-static \
	%{?with_vddk:--with-vddk}

%{__make} \
	INSTALLDIRS=vendor

%install
rm -rf $RPM_BUILD_ROOT

%{__make} install \
	DESTDIR=$RPM_BUILD_ROOT

%{__rm} $RPM_BUILD_ROOT%{_libdir}/nbdkit/plugins/*.la
%if %{with ocaml}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libnbdkitocaml.la
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post	plugin-ocaml -p /sbin/ldconfig
%postun	plugin-ocaml -p /sbin/ldconfig

%files
%defattr(644,root,root,755)
%doc LICENSE README TODO
%attr(755,root,root) %{_sbindir}/nbdkit
%dir %{_libdir}/nbdkit
%dir %{_libdir}/nbdkit/plugins
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example1-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example2-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-example3-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-file-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-gzip-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-streaming-plugin.so
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-xz-plugin.so
%{_mandir}/man1/nbdkit.1*
%{_mandir}/man1/nbdkit-example1-plugin.1*
%{_mandir}/man1/nbdkit-example2-plugin.1*
%{_mandir}/man1/nbdkit-example3-plugin.1*
%{_mandir}/man1/nbdkit-file-plugin.1*
%{_mandir}/man1/nbdkit-gzip-plugin.1*
%{_mandir}/man1/nbdkit-streaming-plugin.1*
%{_mandir}/man1/nbdkit-xz-plugin.1*

%files plugin-curl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-curl-plugin.so
%{_mandir}/man1/nbdkit-curl-plugin.1*

%files plugin-guestfs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-guestfs-plugin.so
%{_mandir}/man1/nbdkit-guestfs-plugin.1*

%files plugin-libvirt
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-libvirt-plugin.so
%{_mandir}/man1/nbdkit-libvirt-plugin.1*

%if %{with ocaml}
%files plugin-ocaml
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libnbdkitocaml.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libnbdkitocaml.so.0
%attr(755,root,root) %{_libdir}/libnbdkitocaml.so
%{_libdir}/ocaml/NBDKit.cm[ix]
%{_libdir}/ocaml/NBDKit.mli
%{_libdir}/ocaml/NBDKit.o
%{_mandir}/man3/nbdkit-ocaml-plugin.3*
%endif

%if %{with perl}
%files plugin-perl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-perl-plugin.so
%{_mandir}/man3/nbdkit-perl-plugin.3*
%endif

%if %{with python}
%files plugin-python
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-python-plugin.so
%{_mandir}/man3/nbdkit-python-plugin.3*
%endif

%if %{with vddk}
%files plugin-vddk
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nbdkit/plugins/nbdkit-vddk-plugin.so
%{_mandir}/man1/nbdkit-vddk-plugin.1*
%endif

%files devel
%defattr(644,root,root,755)
%{_includedir}/nbdkit-plugin.h
%{_mandir}/man3/nbdkit-plugin.3*