2 # - alias from /etc/modprobe.d/3.4.32.longterm-1/geninitrd.conf does not work for geninitrd
3 # - kmod no longer links with library dynamically since kmod-15:
4 # kmod binary statically links to libkmod - if distro is only interested in
5 # the kmod tool (for example in an initrd) it can refrain from installing the library
8 %bcond_without openssl # OpenSSL support for PKCS7 signatures in modinfo
9 %bcond_without python2 # CPython 2.x module
10 %bcond_without python3 # CPython 3.x module
11 %bcond_with docs # Docs
12 %bcond_without tests # perform "make check" (init_module seems to require root for mkdir)
14 Summary: Linux kernel module handling
15 Summary(pl.UTF-8): Obsługa modułów jądra Linuksa
20 Group: Applications/System
21 Source0: https://www.kernel.org/pub/linux/utils/kernel/kmod/%{name}-%{version}.tar.xz
22 # Source0-md5: 0a2b887b1b3dfb8c0b3f41f598203e56
23 Source1: %{name}-blacklist
25 Patch0: %{name}-modprobe.d-kver.patch
26 Patch1: %{name}-depmod.d-kver.patch
27 URL: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
28 BuildRequires: autoconf >= 2.64
29 BuildRequires: automake >= 1:1.11
30 %{?with_docs:BuildRequires: gtk-doc >= 1.14}
32 BuildRequires: kernel-module-build
34 BuildRequires: libtool >= 2:2.0
35 %{?with_openssl:BuildRequires: openssl-devel >= 1.1.0}
36 BuildRequires: pkgconfig
37 %{?with_python2:BuildRequires: python-devel >= 1:2.6}
38 %{?with_python3:BuildRequires: python3-devel >= 1:3.3}
39 %if %{with python2} || %{with python3}
40 BuildRequires: rpm-pythonprov
42 BuildRequires: rpmbuild(macros) >= 1.752
43 BuildRequires: tar >= 1:1.22
45 BuildRequires: xz-devel >= 1:4.99
46 BuildRequires: zlib-devel
47 BuildRequires: zstd-devel >= 1.4.4
48 Requires: filesystem >= 4.0-24
49 # won't work on older kernels as these do not provide require information in /sys
50 Requires: uname(release) >= 2.6.21
51 Requires: zstd >= 1.4.4
52 Provides: module-init-tools = 4.0
53 Provides: virtual(module-tools)
54 Obsoletes: module-init-tools < 4.0
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 kmod is a set of tools to handle common tasks with Linux kernel
61 modules like insert, remove, list, check properties, resolve
62 dependencies and aliases.
64 These tools are designed on top of libkmod, a library that is shipped
65 with kmod. See libkmod/README for more details on this library and how
66 to use it. The aim is to be compatible with tools, configurations and
67 indexes from module-init-tools project.
69 %description -l pl.UTF-8
70 kmod to zestaw narzędzi do wykonywania typowych czynności związanych z
71 modułami jądra - ładowanie, usuwanie, listowanie, sprawdzanie
72 parametrów, rozwiązywanie zależności czy obsługa aliasów.
74 Narzędzia te zostały stworzone przy użyciu libkmod, biblioteki
75 dostarczanej wraz z kmod. Celem jest stworzenie narzędzi
76 kompatybilnych z programami, konfiguracją oraz indeksami z projektu
80 Summary: Linux kernel module handling library
81 Summary(pl.UTF-8): Biblioteka do obsługi modułów jądra Linuksa
84 Requires: zstd >= 1.4.4
88 libkmod was created to allow programs to easily insert, remove and
89 list modules, also checking its properties, dependencies and aliases.
91 %description libs -l pl.UTF-8
92 Biblioteka libkmod została zaprojektowana, aby pozwolić programom w
93 łatwy sposób ładować, usuwać i listować moduły, także sprawdzając ich
94 właściwości, zależności i aliasy.
97 Summary: Header files for %{name} library
98 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
100 Group: Development/Libraries
101 Requires: %{name}-libs = %{version}-%{release}
102 Obsoletes: kmod-libs-static
105 Header files for %{name} library.
107 %description devel -l pl.UTF-8
108 Pliki nagłówkowe biblioteki %{name}.
110 %package -n bash-completion-kmod
111 Summary: bash-completion for kmod utilities
112 Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla narzędzi kmod
113 Group: Applications/Shells
114 Requires: bash-completion >= 2.0
117 %description -n bash-completion-kmod
118 bash-completion for kmod utilities.
120 %description -n bash-completion-kmod -l pl.UTF-8
121 Bashowe uzupełnianie nazw dla narzędzi kmod.
123 %package -n python-kmod
124 Summary: Python 2 binding for kmod API
125 Summary(pl.UTF-8): Wiązania Pythona 2 do API kmod
127 Group: Development/Languages/Python
128 Requires: %{name}-libs = %{version}-%{release}
130 %description -n python-kmod
131 Python 2 binding for kmod API.
133 %description -n python-kmod -l pl.UTF-8
134 Wiązania Pythona 2 do API kmod.
136 %package -n python3-kmod
137 Summary: Python 3 binding for kmod API
138 Summary(pl.UTF-8): Wiązania Pythona 3 do API kmod
140 Group: Development/Languages/Python
141 Requires: %{name}-libs = %{version}-%{release}
143 %description -n python3-kmod
144 Python 3 binding for kmod API.
146 %description -n python3-kmod -l pl.UTF-8
147 Wiązania Pythona 3 do API kmod.
164 --disable-silent-rules \
165 --disable-test-modules \
166 %{?with_docs:--enable-gtk-doc} \
167 %{?with_python2:--enable-python} \
168 %{?with_openssl:--with-openssl} \
169 --with-rootlibdir=/%{_lib} \
180 PYTHON=%{__python3} \
181 --disable-silent-rules \
182 --disable-test-modules \
184 --with-rootlibdir=/%{_lib} \
193 %{__make} -C build check \
194 KDIR=%{_kernelsrcdir} \
199 rm -rf $RPM_BUILD_ROOT
200 install -d $RPM_BUILD_ROOT{/etc,/lib}/{depmod.d,modprobe.d}
203 %{__make} -C build-py3 install \
204 DESTDIR=$RPM_BUILD_ROOT
207 %{__make} -C build install \
208 DESTDIR=$RPM_BUILD_ROOT
211 for prog in lsmod rmmod insmod modinfo modprobe depmod; do
212 ln -s kmod $RPM_BUILD_ROOT%{_bindir}/$prog
215 # obsoleted by pkg-config
216 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libkmod.la
219 # not needed in python module
220 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/kmod/*.la
224 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/kmod/*.la
227 :> $RPM_BUILD_ROOT/etc/modprobe.d/modprobe.conf
229 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/blacklist.conf
230 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/usb.conf
233 rm -rf $RPM_BUILD_ROOT
235 %post libs -p /sbin/ldconfig
236 %postun libs -p /sbin/ldconfig
239 %defattr(644,root,root,755)
240 %doc NEWS README TODO
241 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/blacklist.conf
242 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/modprobe.conf
243 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/usb.conf
249 %attr(755,root,root) %{_bindir}/kmod
250 %attr(755,root,root) %{_bindir}/lsmod
251 %attr(755,root,root) %{_bindir}/rmmod
252 %attr(755,root,root) %{_bindir}/insmod
253 %attr(755,root,root) %{_bindir}/modinfo
254 %attr(755,root,root) %{_bindir}/modprobe
255 %attr(755,root,root) %{_bindir}/depmod
257 %{_mandir}/man5/depmod.d.5*
258 %{_mandir}/man5/modprobe.d.5*
259 %{_mandir}/man5/modules.dep.5*
260 %{_mandir}/man5/modules.dep.bin.5*
261 %{_mandir}/man8/depmod.8*
262 %{_mandir}/man8/insmod.8*
263 %{_mandir}/man8/kmod.8*
264 %{_mandir}/man8/lsmod.8*
265 %{_mandir}/man8/modinfo.8*
266 %{_mandir}/man8/modprobe.8*
267 %{_mandir}/man8/rmmod.8*
270 %defattr(644,root,root,755)
271 %attr(755,root,root) /%{_lib}/libkmod.so.*.*.*
272 %attr(755,root,root) %ghost /%{_lib}/libkmod.so.2
275 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_libdir}/libkmod.so
278 %{_includedir}/libkmod.h
279 %{_pkgconfigdir}/libkmod.pc
281 %files -n bash-completion-kmod
282 %defattr(644,root,root,755)
283 %{_datadir}/bash-completion/completions/kmod
286 %files -n python-kmod
287 %defattr(644,root,root,755)
288 %dir %{py_sitedir}/kmod
289 %attr(755,root,root) %{py_sitedir}/kmod/*.so
290 %{py_sitedir}/kmod/*.py[co]
294 %files -n python3-kmod
295 %defattr(644,root,root,755)
296 %dir %{py3_sitedir}/kmod
297 %attr(755,root,root) %{py3_sitedir}/kmod/*.so
298 %{py3_sitedir}/kmod/*.py
299 %{py3_sitedir}/kmod/__pycache__