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 python3 # CPython 3.x module
10 %bcond_without tests # perform "make check" (init_module seems to require root for mkdir)
12 Summary: Linux kernel module handling
13 Summary(pl.UTF-8): Obsługa modułów jądra Linuksa
18 Group: Applications/System
19 Source0: https://www.kernel.org/pub/linux/utils/kernel/kmod/%{name}-%{version}.tar.xz
20 # Source0-md5: 1129c243199bdd7db01b55a61aa19601
21 Source1: %{name}-blacklist
23 Patch0: %{name}-modprobe.d-kver.patch
24 Patch1: %{name}-depmod.d-kver.patch
25 URL: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
26 BuildRequires: autoconf >= 2.64
27 BuildRequires: automake >= 1:1.11
28 BuildRequires: gtk-doc >= 1.14
29 BuildRequires: kernel-module-build
30 BuildRequires: libtool >= 2:2.0
31 %{?with_openssl:BuildRequires: openssl-devel >= 1.1.0}
32 BuildRequires: pkgconfig
33 BuildRequires: python-devel >= 1:2.6
34 %{?with_python3:BuildRequires: python3-devel >= 1:3.3}
35 BuildRequires: rpm-pythonprov
36 BuildRequires: rpmbuild(macros) >= 1.219
37 BuildRequires: tar >= 1:1.22
39 BuildRequires: xz-devel >= 1:4.99
40 BuildRequires: zlib-devel
41 Requires: filesystem >= 4.0-24
42 # won't work on older kernels as these do not provide require information in /sys
43 Requires: uname(release) >= 2.6.21
44 Provides: module-init-tools = 4.0
45 Provides: virtual(module-tools)
46 Obsoletes: module-init-tools < 4.0
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 kmod is a set of tools to handle common tasks with Linux kernel
53 modules like insert, remove, list, check properties, resolve
54 dependencies and aliases.
56 These tools are designed on top of libkmod, a library that is shipped
57 with kmod. See libkmod/README for more details on this library and how
58 to use it. The aim is to be compatible with tools, configurations and
59 indexes from module-init-tools project.
61 %description -l pl.UTF-8
62 kmod to zestaw narzędzi do wykonywania typowych czynności związanych z
63 modułami jądra - ładowanie, usuwanie, listowanie, sprawdzanie
64 parametrów, rozwiązywanie zależności czy obsługa aliasów.
66 Narzędzia te zostały stworzone przy użyciu libkmod, biblioteki
67 dostarczanej wraz z kmod. Celem jest stworzenie narzędzi
68 kompatybilnych z programami, konfiguracją oraz indeksami z projektu
72 Summary: Linux kernel module handling library
73 Summary(pl.UTF-8): Biblioteka do obsługi modułów jądra Linuksa
79 libkmod was created to allow programs to easily insert, remove and
80 list modules, also checking its properties, dependencies and aliases.
82 %description libs -l pl.UTF-8
83 Biblioteka libkmod została zaprojektowana, aby pozwolić programom w
84 łatwy sposób ładować, usuwać i listować moduły, także sprawdzając ich
85 właściwości, zależności i aliasy.
88 Summary: Header files for %{name} library
89 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
91 Group: Development/Libraries
92 Requires: %{name}-libs = %{version}-%{release}
93 Obsoletes: kmod-libs-static
96 Header files for %{name} library.
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe biblioteki %{name}.
101 %package -n bash-completion-kmod
102 Summary: bash-completion for kmod utilities
103 Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla narzędzi kmod
104 Group: Applications/Shells
105 Requires: bash-completion >= 2.0
106 %if "%{_rpmversion}" >= "5"
110 %description -n bash-completion-kmod
111 bash-completion for kmod utilities.
113 %description -n bash-completion-kmod -l pl.UTF-8
114 Bashowe uzupełnianie nazw dla narzędzi kmod.
116 %package -n python-kmod
117 Summary: Python 2 binding for kmod API
118 Summary(pl.UTF-8): Wiązania Pythona 2 do API kmod
120 Group: Development/Languages/Python
121 Requires: %{name}-libs = %{version}-%{release}
123 %description -n python-kmod
124 Python 2 binding for kmod API.
126 %description -n python-kmod -l pl.UTF-8
127 Wiązania Pythona 2 do API kmod.
129 %package -n python3-kmod
130 Summary: Python 3 binding for kmod API
131 Summary(pl.UTF-8): Wiązania Pythona 3 do API kmod
133 Group: Development/Languages/Python
134 Requires: %{name}-libs = %{version}-%{release}
136 %description -n python3-kmod
137 Python 3 binding for kmod API.
139 %description -n python3-kmod -l pl.UTF-8
140 Wiązania Pythona 3 do API kmod.
157 --disable-silent-rules \
158 --disable-test-modules \
160 %{?with_openssl:--with-openssl} \
161 --with-rootlibdir=/%{_lib} \
171 PYTHON=%{__python3} \
172 --disable-silent-rules \
173 --disable-test-modules \
175 --with-rootlibdir=/%{_lib} \
183 %{__make} -C build check \
184 KDIR=%{_kernelsrcdir} \
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT{/etc,/lib}/{depmod.d,modprobe.d}
193 %{__make} -C build-py3 install \
194 DESTDIR=$RPM_BUILD_ROOT
197 %{__make} -C build install \
198 DESTDIR=$RPM_BUILD_ROOT
201 for prog in lsmod rmmod insmod modinfo modprobe depmod; do
202 ln -s kmod $RPM_BUILD_ROOT%{_bindir}/$prog
205 # obsoleted by pkg-config
206 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libkmod.la
208 # not needed in python module
209 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/kmod/*.la
212 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/kmod/*.la
215 :> $RPM_BUILD_ROOT/etc/modprobe.d/modprobe.conf
217 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/blacklist.conf
218 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/usb.conf
221 rm -rf $RPM_BUILD_ROOT
223 %post libs -p /sbin/ldconfig
224 %postun libs -p /sbin/ldconfig
227 %defattr(644,root,root,755)
228 %doc NEWS README TODO
229 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/blacklist.conf
230 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/modprobe.conf
231 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/usb.conf
237 %attr(755,root,root) %{_bindir}/kmod
238 %attr(755,root,root) %{_bindir}/lsmod
239 %attr(755,root,root) %{_bindir}/rmmod
240 %attr(755,root,root) %{_bindir}/insmod
241 %attr(755,root,root) %{_bindir}/modinfo
242 %attr(755,root,root) %{_bindir}/modprobe
243 %attr(755,root,root) %{_bindir}/depmod
245 %{_mandir}/man5/depmod.d.5*
246 %{_mandir}/man5/modprobe.d.5*
247 %{_mandir}/man5/modules.dep.5*
248 %{_mandir}/man5/modules.dep.bin.5*
249 %{_mandir}/man8/depmod.8*
250 %{_mandir}/man8/insmod.8*
251 %{_mandir}/man8/kmod.8*
252 %{_mandir}/man8/lsmod.8*
253 %{_mandir}/man8/modinfo.8*
254 %{_mandir}/man8/modprobe.8*
255 %{_mandir}/man8/rmmod.8*
258 %defattr(644,root,root,755)
259 %attr(755,root,root) /%{_lib}/libkmod.so.*.*.*
260 %attr(755,root,root) %ghost /%{_lib}/libkmod.so.2
263 %defattr(644,root,root,755)
265 %attr(755,root,root) %{_libdir}/libkmod.so
266 %{_includedir}/libkmod.h
267 %{_pkgconfigdir}/libkmod.pc
269 %files -n bash-completion-kmod
270 %defattr(644,root,root,755)
271 %{_datadir}/bash-completion/completions/kmod
273 %files -n python-kmod
274 %defattr(644,root,root,755)
275 %dir %{py_sitedir}/kmod
276 %attr(755,root,root) %{py_sitedir}/kmod/*.so
277 %{py_sitedir}/kmod/*.py[co]
280 %files -n python3-kmod
281 %defattr(644,root,root,755)
282 %dir %{py3_sitedir}/kmod
283 %attr(755,root,root) %{py3_sitedir}/kmod/*.so
284 %{py3_sitedir}/kmod/*.py
285 %{py3_sitedir}/kmod/__pycache__