]>
Commit | Line | Data |
---|---|---|
08c044b9 | 1 | # TODO: golang |
bc21fabc JB |
2 | # |
3 | # Conditional build: | |
9fb82411 | 4 | %bcond_without ocaml # Ocaml bindings |
bc21fabc JB |
5 | %bcond_without ocaml_opt # native optimized binaries |
6 | ||
7 | # not yet available on x32 (ocaml 4.02.1), update when upstream will support it | |
8 | %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 | |
9 | %undefine with_ocaml_opt | |
10 | %endif | |
11 | ||
ad92033b | 12 | Summary: NBD client library in userspace |
08c044b9 | 13 | Summary(pl.UTF-8): Biblioteka klienta NBD w przestrzeni użytkownika |
ad92033b | 14 | Name: libnbd |
5557902f | 15 | Version: 1.10.0 |
a7fd0faf | 16 | Release: 3 |
ad92033b | 17 | License: LGPL v2+ |
08c044b9 | 18 | Group: Libraries |
5557902f JB |
19 | Source0: https://download.libguestfs.org/libnbd/1.10-stable/%{name}-%{version}.tar.gz |
20 | # Source0-md5: 99b949bfb9845c59a05e53aad1c01036 | |
ad92033b | 21 | URL: https://github.com/libguestfs/libnbd |
bac2f8d4 | 22 | BuildRequires: bash-completion-devel >= 2.0 |
08c044b9 JB |
23 | BuildRequires: glib2-devel >= 2.0 |
24 | BuildRequires: gnutls-devel >= 3.3.0 | |
ad92033b | 25 | BuildRequires: jq |
c0484994 | 26 | BuildRequires: libfuse3-devel >= 3 |
ad92033b | 27 | BuildRequires: libstdc++-devel |
08c044b9 | 28 | BuildRequires: libxml2-devel >= 2.0 |
9fb82411 | 29 | %if %{with ocaml} |
ad92033b AM |
30 | BuildRequires: ocaml |
31 | BuildRequires: ocaml-findlib | |
32 | BuildRequires: ocaml-ocamldoc | |
9fb82411 | 33 | %endif |
08c044b9 JB |
34 | BuildRequires: perl-tools-pod |
35 | BuildRequires: pkgconfig | |
36 | BuildRequires: python3-devel >= 1:3.2 | |
37 | BuildRequires: rpm-build >= 4.6 | |
866babf3 | 38 | BuildRequires: rpmbuild(macros) >= 1.673 |
ad92033b | 39 | BuildRequires: util-linux |
08c044b9 | 40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
ad92033b AM |
41 | |
42 | # The Python module happens to be called lib*.so. Don't scan it and | |
43 | # have a bogus "Provides: libnbdmod.*". | |
08c044b9 | 44 | %define _noautoprovfiles %{py3_sitedir}/libnbdmod.* |
ad92033b AM |
45 | |
46 | %description | |
47 | NBD - Network Block Device - is a protocol for accessing Block Devices | |
48 | (hard disks and disk-like things) over a Network. | |
49 | ||
50 | This is the NBD client library in userspace, a simple library for | |
51 | writing NBD clients. | |
52 | ||
53 | The key features are: | |
ad92033b AM |
54 | - Synchronous and asynchronous APIs, both for ease of use and for |
55 | writing non-blocking, multithreaded clients. | |
ad92033b | 56 | - High performance. |
ad92033b | 57 | - Minimal dependencies for the basic library. |
ad92033b | 58 | - Well-documented, stable API. |
ad92033b AM |
59 | - Bindings in several programming languages. |
60 | ||
08c044b9 JB |
61 | %description -l pl.UTF-8 |
62 | NBD - Network Block Device - to protokół pozwalający na dostęp do | |
63 | urządzeń blokowych (dysków twardych i rzeczy dyskopodobnych) po sieci. | |
64 | ||
65 | Ten pakiet zawiera bibliotekę klienta NBD w przestrzeni użytkownika - | |
66 | prostą bibliotekę do pisania klientów NBD. | |
67 | ||
68 | Główne cechy to: | |
69 | - API synchroniczne i asynchroniczne, zarówno w celu ułatwienia | |
70 | użycia, jak i pisania nieblokujących, wielowątkowych klientów | |
71 | - wysoka wydajność | |
72 | - minimalne zależności dla podstawowej biblioteki | |
73 | - dobrze udokumentowane, stabilne API | |
74 | - wiązania do kilku języków programowania | |
75 | ||
ad92033b | 76 | %package devel |
08c044b9 JB |
77 | Summary: Development headers for NBD library |
78 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki NBD | |
79 | License: LGPL v2+ and BSD | |
80 | Group: Development/Libraries | |
ad92033b AM |
81 | Requires: %{name} = %{version}-%{release} |
82 | ||
83 | %description devel | |
08c044b9 JB |
84 | This package contains development headers for NBD library. |
85 | ||
86 | %description devel -l pl.UTF-8 | |
87 | Ten pakiet zawiera pliki nagłówkowe biblioteki NBD. | |
ad92033b AM |
88 | |
89 | %package -n ocaml-%{name} | |
08c044b9 JB |
90 | Summary: OCaml language bindings for NBD library |
91 | Summary(pl.UTF-8): Wiązania OCamla do biblioteki NBD | |
92 | Group: Libraries | |
ad92033b AM |
93 | Requires: %{name} = %{version}-%{release} |
94 | ||
95 | %description -n ocaml-%{name} | |
08c044b9 JB |
96 | This package contains OCaml language bindings for NBD library. |
97 | ||
98 | %description -n ocaml-%{name} -l pl.UTF-8 | |
99 | Ten pakiet zawiera wiązania OCamla do biblioteki NBD. | |
ad92033b AM |
100 | |
101 | %package -n ocaml-%{name}-devel | |
08c044b9 JB |
102 | Summary: OCaml language development package for NBD library |
103 | Summary(pl.UTF-8): Pakiet programistyczny wiązań OCamla do biblioteki NBD | |
104 | Group: Development/Libraries | |
ad92033b AM |
105 | Requires: ocaml-%{name} = %{version}-%{release} |
106 | ||
107 | %description -n ocaml-%{name}-devel | |
08c044b9 JB |
108 | This package contains OCaml language development package for NBD |
109 | library. Install this if you want to compile OCaml software which uses | |
110 | NBD. | |
111 | ||
112 | %description -n ocaml-%{name}-devel -l pl.UTF-8 | |
113 | Pakiet programistyczny wiązań OCamla do biblioteki NBD. Należy go | |
114 | zainstalować, aby móc kompilować programy w OCamlu wykorzystujące NBD. | |
ad92033b AM |
115 | |
116 | %package -n python3-%{name} | |
08c044b9 JB |
117 | Summary: Python 3 bindings for NBD library |
118 | Summary(pl.UTF-8): Wiązania Pythona 3 do biblioteki NBD | |
119 | Group: Libraries/Python | |
ad92033b | 120 | Requires: %{name} = %{version}-%{release} |
ad92033b AM |
121 | |
122 | %description -n python3-%{name} | |
08c044b9 JB |
123 | This package contains Python 3 bindings for NBD library. |
124 | ||
125 | %description -n python3-%{name} -l pl.UTF-8 | |
126 | Ten pakiet zawiera wiązania Pythona do biblioteki NBD. | |
ad92033b AM |
127 | |
128 | %package -n nbdfuse | |
08c044b9 JB |
129 | Summary: FUSE support for NBD library |
130 | Summary(pl.UTF-8): Obsługa FUSE do biblioteki NBD | |
131 | License: LGPL v2+ and BSD | |
132 | Group: Applications/System | |
ad92033b AM |
133 | Requires: %{name} = %{version}-%{release} |
134 | ||
135 | %description -n nbdfuse | |
08c044b9 JB |
136 | This package contains FUSE support for NBD library. |
137 | ||
138 | %description -n nbdfuse -l pl.UTF-8 | |
139 | Ten pakiet zawiera obsługę FUSE do biblioteki NBD. | |
ad92033b | 140 | |
08c044b9 JB |
141 | %package -n bash-completion-%{name} |
142 | Summary: Bash tab-completion for NBD utilities | |
143 | Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla narzędzi NBD | |
144 | Group: Applications/Shells | |
ad92033b AM |
145 | Requires: %{name} = %{version}-%{release} |
146 | Requires: bash-completion >= 2.0 | |
08c044b9 | 147 | Obsoletes: libnbd-bash-completion < 1.6.2 |
ad92033b AM |
148 | BuildArch: noarch |
149 | ||
08c044b9 | 150 | %description -n bash-completion-%{name} |
ad92033b | 151 | Install this package if you want intelligent bash tab-completion for |
08c044b9 JB |
152 | NBD utilities (nbdcopy, nbdfuse, nbdinfo, nbdsh). |
153 | ||
154 | %description -n bash-completion-%{name} -l pl.UTF | |
155 | Ten pakiet należy zainstalować, aby uzyskać inteligentne dopełnianie | |
156 | parametrów dla narzędzi NBD (nbdcopy, nbdfuse, nbdinfo, nbdsh). | |
ad92033b AM |
157 | |
158 | %prep | |
159 | %setup -q | |
160 | ||
161 | %build | |
5557902f JB |
162 | %{__libtoolize} |
163 | %{__aclocal} -I m4 | |
164 | %{__autoconf} | |
165 | %{__autoheader} | |
166 | %{__automake} | |
ad92033b AM |
167 | %configure \ |
168 | PYTHON=%{__python3} \ | |
ad92033b | 169 | --enable-fuse \ |
08c044b9 | 170 | --disable-golang \ |
9fb82411 | 171 | %{__enable_disable ocaml} \ |
08c044b9 JB |
172 | --enable-python \ |
173 | --disable-static \ | |
174 | --with-python-installdir=%{py3_sitedir} \ | |
175 | --with-tls-priority=@LIBNBD,SYSTEM | |
ad92033b AM |
176 | |
177 | %{__make} | |
178 | ||
179 | %install | |
180 | rm -rf $RPM_BUILD_ROOT | |
181 | ||
182 | %{__make} install \ | |
183 | DESTDIR=$RPM_BUILD_ROOT | |
184 | ||
08c044b9 JB |
185 | %py3_comp $RPM_BUILD_ROOT%{py3_sitedir} |
186 | %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir} | |
187 | ||
ad92033b AM |
188 | # Delete libtool crap. |
189 | find $RPM_BUILD_ROOT -name '*.la' -delete | |
190 | ||
9f50be2f | 191 | %if %{with ocaml} |
08c044b9 | 192 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.owner |
9f50be2f | 193 | %endif |
08c044b9 | 194 | |
ad92033b | 195 | # Delete the golang man page since we're not distributing the bindings. |
08c044b9 | 196 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/libnbd-golang.3* |
ad92033b AM |
197 | |
198 | %clean | |
199 | rm -rf $RPM_BUILD_ROOT | |
200 | ||
08c044b9 JB |
201 | %post -p /sbin/ldconfig |
202 | %postun -p /sbin/ldconfig | |
203 | ||
ad92033b AM |
204 | %files |
205 | %defattr(644,root,root,755) | |
bc21fabc | 206 | %doc README SECURITY TODO |
ad92033b AM |
207 | %attr(755,root,root) %{_bindir}/nbdcopy |
208 | %attr(755,root,root) %{_bindir}/nbdinfo | |
08c044b9 JB |
209 | %attr(755,root,root) %{_libdir}/libnbd.so.*.*.* |
210 | %ghost %{_libdir}/libnbd.so.0 | |
ad92033b AM |
211 | %{_mandir}/man1/nbdcopy.1* |
212 | %{_mandir}/man1/nbdinfo.1* | |
213 | ||
214 | %files devel | |
215 | %defattr(644,root,root,755) | |
bc21fabc | 216 | %doc examples/{LICENSE-FOR-EXAMPLES,*.c} |
ad92033b | 217 | %{_libdir}/libnbd.so |
08c044b9 | 218 | %{_includedir}/libnbd.h |
ad92033b AM |
219 | %{_pkgconfigdir}/libnbd.pc |
220 | %{_mandir}/man3/libnbd.3* | |
221 | %{_mandir}/man1/libnbd-release-notes-1.*.1* | |
222 | %{_mandir}/man3/libnbd-security.3* | |
223 | %{_mandir}/man3/nbd_*.3* | |
224 | ||
9fb82411 | 225 | %if %{with ocaml} |
ad92033b AM |
226 | %files -n ocaml-%{name} |
227 | %defattr(644,root,root,755) | |
08c044b9 JB |
228 | %dir %{_libdir}/ocaml/nbd |
229 | %{_libdir}/ocaml/nbd/META | |
230 | %{_libdir}/ocaml/nbd/NBD.cmi | |
15018d3c | 231 | %{_libdir}/ocaml/nbd/mlnbd.cma |
08c044b9 | 232 | %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllmlnbd.so |
ad92033b AM |
233 | |
234 | %files -n ocaml-%{name}-devel | |
235 | %defattr(644,root,root,755) | |
bc21fabc | 236 | %doc ocaml/examples/{LICENSE-FOR-EXAMPLES,*.ml} |
08c044b9 JB |
237 | %{_libdir}/ocaml/nbd/NBD.mli |
238 | %{_libdir}/ocaml/nbd/libmlnbd.a | |
bc21fabc JB |
239 | %if %{with ocaml_opt} |
240 | %{_libdir}/ocaml/nbd/NBD.cmx | |
08c044b9 JB |
241 | %{_libdir}/ocaml/nbd/mlnbd.a |
242 | %{_libdir}/ocaml/nbd/mlnbd.cmxa | |
bc21fabc | 243 | %endif |
ad92033b AM |
244 | %{_mandir}/man3/libnbd-ocaml.3* |
245 | %{_mandir}/man3/NBD.3* | |
246 | %{_mandir}/man3/NBD.*.3* | |
9fb82411 | 247 | %endif |
ad92033b AM |
248 | |
249 | %files -n python3-%{name} | |
250 | %defattr(644,root,root,755) | |
08c044b9 JB |
251 | %attr(755,root,root) %{_bindir}/nbdsh |
252 | %attr(755,root,root) %{py3_sitedir}/libnbdmod.cpython-*.so | |
ad92033b AM |
253 | %{py3_sitedir}/nbd.py |
254 | %{py3_sitedir}/nbdsh.py | |
08c044b9 JB |
255 | %{py3_sitedir}/__pycache__/nbd.cpython-*.py[co] |
256 | %{py3_sitedir}/__pycache__/nbdsh.cpython-*.py[co] | |
ad92033b AM |
257 | %{_mandir}/man1/nbdsh.1* |
258 | ||
259 | %files -n nbdfuse | |
260 | %defattr(644,root,root,755) | |
261 | %attr(755,root,root) %{_bindir}/nbdfuse | |
262 | %{_mandir}/man1/nbdfuse.1* | |
263 | ||
08c044b9 | 264 | %files -n bash-completion-%{name} |
ad92033b | 265 | %defattr(644,root,root,755) |
ad92033b AM |
266 | %{bash_compdir}/nbdcopy |
267 | %{bash_compdir}/nbdfuse | |
268 | %{bash_compdir}/nbdinfo | |
269 | %{bash_compdir}/nbdsh |