d02de52605818e76a4e2c27c5193f6cf412a828c
[packages/ndctl.git] / ndctl.spec
1 #
2 # Conditional build:
3 %bcond_without  static_libs     # static libraries
4 #
5 Summary:        Manage "libnvdimm" subsystem devices (Non-volatile Memory)
6 Summary(pl.UTF-8):      Zarządzanie urządzeniami podsystemu "libnvdimm" (pamięci nieulotnej)
7 Name:           ndctl
8 Version:        64.1
9 Release:        1
10 License:        LGPL v2.1+ (libraries), GPL v2+ with CC0 and MIT parts (utilities)
11 Group:          Applications/System
12 #Source0Download: https://github.com/pmem/ndctl/releases
13 Source0:        https://github.com/pmem/ndctl/archive/v%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5:  317fb81e8f5da1d0b1d030821df9efa7
15 Patch0:         %{name}-bashcompdir.patch
16 URL:            http://pmem.io/ndctl/
17 # TODO: asciidoctor
18 BuildRequires:  asciidoc
19 BuildRequires:  autoconf >= 2.60
20 BuildRequires:  automake >= 1:1.11
21 BuildRequires:  json-c-devel
22 BuildRequires:  keyutils-devel
23 BuildRequires:  kmod-devel
24 BuildRequires:  libuuid-devel
25 BuildRequires:  libtool >= 2:2
26 BuildRequires:  pkgconfig
27 BuildRequires:  rpmbuild(macros) >= 1.673
28 BuildRequires:  udev-devel
29 BuildRequires:  xmlto
30 Requires:       %{name}-libs = %{version}-%{release}
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %description
34 Utilities for managing the "libnvdimm" subsystem. The "libnvdimm"
35 subsystem defines a kernel device model and control message interface
36 for platform NVDIMM resources like those defined by the ACPI 6+ NFIT
37 (NVDIMM Firmware Interface Table).
38
39 %description -l pl.UTF-8
40 Narzędzia do zarządzania podsystemem "libnvdimm". Podsystem ten
41 definiuje model urządzeń jądra i interfejs komunikatów sterujących dla
42 specyficznych dla platformy zasobów NVDIMM, takich jak zdefiniowane w
43 ACPI 6+ NFIT (NVDIMM Firmware Interface Table).
44
45 %package -n bash-completion-ndctl
46 Summary:        Bash completion for ndctl command
47 Summary(pl.UTF-8):      Bashowe uzupełnianie parametrów polecenia ndctl
48 Group:          Applications/Shells
49 Requires:       %{name} = %{version}-%{release}
50 Requires:       bash-completion >= 2.0
51
52 %description -n bash-completion-ndctl
53 Bash completion for ndctl command.
54
55 %description -n bash-completion-ndctl -l pl.UTF-8
56 Bashowe uzupełnianie parametrów polecenia ndctl.
57
58 %package libs
59 Summary:        Management library for "libnvdimm" subsystem devices (Non-volatile Memory)
60 Summary(pl.UTF-8):      Biblioteka zarządzająca do urządzeń podsystemu "libnvdimm" (pamięci nieulotnej)
61 License:        LGPL v2.1+
62 Group:          Libraries
63 Requires:       daxctl-libs = %{version}-%{release}
64
65 %description libs
66 Management library for "libnvdimm" subsystem devices (Non-volatile
67 Memory).
68
69 %description libs -l pl.UTF-8
70 Biblioteka zarządzająca do urządzeń podsystemu "libnvdimm"
71 (Non-volatile Memory - pamięci nieulotnej).
72
73 %package devel
74 Summary:        Header files for ndctl library
75 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki ndctl
76 License:        LGPL v2.1+
77 Group:          Development/Libraries
78 Requires:       %{name}-libs = %{version}-%{release}
79 Requires:       daxctl-devel = %{version}-%{release}
80
81 %description devel
82 Header files for ndctl library.
83
84 %description devel -l pl.UTF-8
85 Pliki nagłówkowe biblioteki ndctl.
86
87 %package static
88 Summary:        Static ndctl library
89 Summary(pl.UTF-8):      Statyczna biblioteka ndctl
90 License:        LGPL v2.1+
91 Group:          Development/Libraries
92 Requires:       %{name}-devel = %{version}-%{release}
93
94 %description static
95 Static ndctl library.
96
97 %description static -l pl.UTF-8
98 Statyczna biblioteka ndctl.
99
100 %package -n daxctl
101 Summary:        Manage Device-DAX instances
102 Summary(pl.UTF-8):      Zarządzanie instancjami Device-DAX
103 License:        GPL v2+ with CC0 and MIT parts (utilities)
104 Group:          Applications/System
105 Requires:       daxctl-libs = %{version}-%{release}
106
107 %description -n daxctl
108 The daxctl utility provides enumeration and provisioning commands for
109 the Linux kernel Device-DAX facility. This facility enables DAX
110 mappings of performance/feature differentiated memory without need of
111 a filesystem.
112
113 %description -n daxctl -l pl.UTF-8
114 Narzędzie daxctl udostępnia polecenia do numerowania i zaopatrywania
115 funkcji Device-DAX jądra Linuksa. Funkcja ta włącza odwzorowanie DAX
116 pamięci o zróżnicowanej wydajności/funkcjonalności bez potrzeby
117 systemu plików.
118
119 %package -n daxctl-libs
120 Summary:        Management library for "Device DAX" devices
121 Summary(pl.UTF-8):      Biblioteka zarządzająca do urządzeń "Device DAX"
122 License:        LGPL v2.1+
123 Group:          Libraries
124
125 %description -n daxctl-libs
126 Device DAX is a facility for establishing DAX mappings of
127 performance/feature-differentiated memory. daxctl-libs provides an
128 enumeration/control API for these devices.
129
130 %description -n daxctl-libs -l pl.UTF-8
131 Device DAX to funkcja ustanawiająca odwzorowania DAX pamięci o
132 zróżnicowanej wydajności/funkcjonalności. Biblioteka daxctl-libs
133 dostarcza API do numerowania i kontroli tych urządzeń.
134
135 %package -n daxctl-devel
136 Summary:        Header fiels for daxctl library
137 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki daxctl
138 License:        LGPL v2.1+
139 Group:          Development/Libraries
140 Requires:       daxctl-libs = %{version}-%{release}
141 Requires:       libuuid-devel
142
143 %description -n daxctl-devel
144 Header fiels for daxctl library.
145
146 %description -n daxctl-devel -l pl.UTF-8
147 Pliki nagłówkowe biblioteki daxctl.
148
149 %package -n daxctl-static
150 Summary:        Static daxctl library
151 Summary(pl.UTF-8):      Statyczna biblioteka daxctl
152 License:        LGPL v2.1+
153 Group:          Development/Libraries
154 Requires:       %{name}-devel = %{version}-%{release}
155
156 %description -n daxctl-static
157 Static daxctl library.
158
159 %description -n daxctl-static -l pl.UTF-8
160 Statyczna biblioteka daxctl.
161
162 %prep
163 %setup -q
164 %patch0 -p1
165
166 echo '%{version}' >version
167
168 %build
169 ./git-version-gen
170 %{__libtoolize}
171 %{__aclocal} -I m4
172 %{__autoconf}
173 %{__autoheader}
174 %{__automake}
175 %configure \
176         --disable-asciidoctor \
177         --disable-silent-rules \
178         %{?with_static_libs:--enable-static} \
179         --with-bash=%{bash_compdir} \
180         --without-systemd
181 %{__make}
182
183 %install
184 rm -rf $RPM_BUILD_ROOT
185
186 %{__make} install \
187         DESTDIR=$RPM_BUILD_ROOT
188
189 # obsoleted by pkg-config
190 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
191
192 %clean
193 rm -rf $RPM_BUILD_ROOT
194
195 %post   libs -p /sbin/ldconfig
196 %postun libs -p /sbin/ldconfig
197
198 %post   -n daxctl-libs -p /sbin/ldconfig
199 %postun -n daxctl-libs -p /sbin/ldconfig
200
201 %files
202 %defattr(644,root,root,755)
203 %doc README.md licenses/{BSD-MIT,CC0}
204 %attr(755,root,root) %{_bindir}/ndctl
205 %dir %{_sysconfdir}/ndctl
206 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ndctl/monitor.conf
207 %dir %{_sysconfdir}/ndctl/keys
208 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/nvdimm-security.conf
209 %{_mandir}/man1/ndctl.1*
210 %{_mandir}/man1/ndctl-*.1*
211
212 %files -n bash-completion-ndctl
213 %defattr(644,root,root,755)
214 %{bash_compdir}/ndctl
215
216 %files libs
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_libdir}/libndctl.so.*.*.*
219 %attr(755,root,root) %ghost %{_libdir}/libndctl.so.6
220
221 %files devel
222 %attr(755,root,root) %{_libdir}/libndctl.so
223 %defattr(644,root,root,755)
224 %{_includedir}/ndctl
225 %{_pkgconfigdir}/libndctl.pc
226
227 %if %{with static_libs}
228 %files static
229 %defattr(644,root,root,755)
230 %{_libdir}/libndctl.a
231 %endif
232
233 %files -n daxctl
234 %defattr(644,root,root,755)
235 %doc licenses/{BSD-MIT,CC0}
236 %attr(755,root,root) %{_bindir}/daxctl
237 %{_datadir}/daxctl
238 %{_mandir}/man1/daxctl.1*
239 %{_mandir}/man1/daxctl-*.1*
240
241 %files -n daxctl-libs
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_libdir}/libdaxctl.so.*.*.*
244 %attr(755,root,root) %ghost %{_libdir}/libdaxctl.so.1
245
246 %files -n daxctl-devel
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_libdir}/libdaxctl.so
249 %{_includedir}/daxctl
250 %{_pkgconfigdir}/libdaxctl.pc
251
252 %if %{with static_libs}
253 %files -n daxctl-static
254 %defattr(644,root,root,755)
255 %{_libdir}/libdaxctl.a
256 %endif