Compare commits

..

38 commits

Author SHA1 Message Date
Zamir SUN
2ce6b84eca Bump to 34.2-3 to build and run new gating
Signed-off-by: Zamir SUN <sztsian@gmail.com>
2025-08-13 15:14:36 +08:00
Zamir SUN
91014e42d6 Tests: Remove tests.yml STI entrypoint to make tmt work
Signed-off-by: Zamir SUN <sztsian@gmail.com>
2025-08-13 15:11:51 +08:00
Zamir SUN
b4bcf63353 Tests: Fix fmf files for gating
Signed-off-by: Zamir SUN <sztsian@gmail.com>
2025-08-13 15:11:26 +08:00
Ziqian SUN (Zamir)
b64bf8be07 Convert gating to restraint and tmt
Signed-off-by: Ziqian SUN (Zamir) <zsun@redhat.com>
2025-08-12 15:07:16 +08:00
Fedora Release Engineering
d1dc8b58a8 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 18:50:59 +00:00
Josh Boyer
c41da9ae87 New upstream v34.2
Resolves: rhbz#2355680
2025-03-31 07:42:58 -04:00
Josh Boyer
bd7db8fb02 New upstream v34.1
Resolves: rhbz#2350269
2025-03-08 13:05:24 -05:00
Josh Boyer
56b12983a2 Last changes for -34 2025-02-24 13:16:51 -05:00
Josh Boyer
46456317d7 Add gtk-doc BR 2025-02-24 12:26:43 -05:00
Josh Boyer
c6eaf81e4c New upstream release 2025-02-24 12:13:48 -05:00
Fedora Release Engineering
35b0189855 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 09:35:58 +00:00
Zbigniew Jędrzejewski-Szmek
26240b4bb3 Rebuilt for the bin-sbin merge (2nd attempt)
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2025-01-12 14:32:51 +01:00
Peter Robinson
0a2caa79e2 cleanup gitignore 2024-10-28 16:09:50 +00:00
Eugene Syromiatnikov
de9195aa3e New upstream v33
* .gitignore: Add /kmod-33.tar.xz,
* kmod-tip.patch: Remove.
* kmod.spec (Version): Bump to 33.
(Release): Reset to 1.
(Patch1): Remove.
(BuildRequires): Remove libxslt and docbook-style-xsl, add scdoc;
upstream switched to scdoc-based man pages in commt v33~46.
(%install): Remove symlinks installed by make install since v32~3.
(%files): kmod.pc is moved to %{_datadir} and is moved to be a part
of the main package and not kmod-devel, as it should be;  TODO file
has been removed in v33~2.
(%chanelog): Add a record.
* sources: Replace the kmod-31.tar.xz with kmod-33.tar.xz.

Resolves: rhbz#2268030
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2024-08-15 20:40:57 +02:00
Eugene Syromiatnikov
73d6e056b5 kmod.spec: fix a typo in date in changelog entry
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2024-08-12 16:11:02 +02:00
Eugene Syromiatnikov
5baad98a23 weak-modules: use a proper program for dumping symvers
Previously it was assumed that symvers is in gzip format, which
is no longer the case, so zcat was used.  Dispatch based on the symvers
file extension.

References: RHEL-39388
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2024-08-12 16:08:35 +02:00
Fedora Release Engineering
486394f8b7 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 12:29:07 +00:00
Zbigniew Jędrzejewski-Szmek
7648e1a704 Prepare for bin-sbin merge
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

Create symlinks use 'ln --relative' so that we don't get /usr/bin/foo → ../bin/bar,
but instead /usr/bin/foo → bar.

Create compat provides for the old file locations to satisfy Requires in other
packages.
2024-04-11 10:49:19 +02:00
Fedora Release Engineering
bac67d1d74 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 00:42:55 +00:00
Fedora Release Engineering
b335496724 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 01:06:54 +00:00
Eugene Syromiatnikov
c63e20debb kmod.spec: update the License in an attempt to comply with the new policy
* kmod.spec (Release): Bump to 3.
(License): Update to include all licenses mentioned in the sources,
add a comment that lists files for each license.
(%package libs): Remove the License tag.
(%changelog): Add "migrated to SPDX license" mention.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2023-12-01 18:30:54 +01:00
Josh Boyer
2d51006e98 Add upstream patches to enable SHA3 support
New upstream v31
Resolves: rhbz#2241394
2023-11-09 11:39:43 -05:00
Josh Boyer
15b926cdb7 New upstream v31
Resolves: rhbz#2241394
2023-11-09 09:01:37 -05:00
Fedora Release Engineering
389eca78ce Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 09:22:57 +00:00
Eugene Syromiatnikov
b215525d80 packaging: bump up version, 30-5
- Add symvers.xz support to weak-modules

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2023-05-09 09:54:35 +02:00
Eugene Syromiatnikov
2f9252cb9e weak-modules: add symvers.xz support
Check for symvers.xz support in addition to symvers.gz,
due to unnanounced unilateral change[1][2] in the kernel packaging.

[1] 2644665657
[2] https://src.fedoraproject.org/rpms/kernel/c/2db77a072a997c00ee63ddf38b79766699094f1c?branch=rawhide

* weak-modules (make_kernel_file_names): Interpret all arguments after
the second as a list of suffixes, iterate over them
(find_kernel_file): Switch print and suffix arguments, interpret all
argument after print as suffixes, pass them to make_kernel_file_names.
(find_symvers_file): Update the order of arguments in the
find_kernel_file call, add .xz suffix in addition to .gz.
(find_systemmap_file): Update the order of arguments in the
find_kernel_file call.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
References: https://bugzilla.redhat.com/show_bug.cgi?id=2192895
2023-05-09 09:11:45 +02:00
Fedora Release Engineering
351c275048 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 14:58:10 +00:00
Florian Weimer
5a0a5922f1 Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2022-12-17 18:20:55 +01:00
Fedora Release Engineering
35cb0afc6a Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 16:27:22 +00:00
Stewart Smith
73532e3bda Move zlib, xz, and zstd to bcond
This allows experiments to be run with reducing the size of the
initramfs by having fewer bulky shared libraries in it, and also makes
it easier for downstream distributions to make different configuration
choices.

We keep the defaults the same, building *with* all of these in order to
not change what is practically being built in Fedora.

Signed-off-by: Stewart Smith <trawets@amazon.com>
2022-06-27 19:38:16 -04:00
Yauheni Kaliuta
095680a70d New upstream release (v30)
- README was removed in order to keep only README.md. Update the spec.
- Resolves: rhbz#2102796

Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2022-07-04 15:53:07 +03:00
Fedora Release Engineering
22122f8f4f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 15:00:31 +00:00
Sahana Prasad
7b3a5b1282 Rebuilt with OpenSSL 3.0.0 2021-09-14 19:05:21 +02:00
Yauheni Kaliuta
43ea30869b sources: update again
Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2021-08-11 10:29:45 +03:00
Yauheni Kaliuta
d00681e454 depmod.dist.conf: commit to git
koji still complains. Commit it to git like weak-modules.

Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2021-08-11 10:25:12 +03:00
Yauheni Kaliuta
be3d947ed1 sources: updated depmod.conf.dist
Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2021-08-11 10:18:42 +03:00
Yauheni Kaliuta
2e0ab6c0a5 sources: updated kmod-29.tar.xz
koji complained, that the file is not found.

Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2021-08-11 10:07:49 +03:00
Yauheni Kaliuta
37c97fb6a8 fedpkg new-source: commit modified files
.gitignore
sources

Signed-off-by: Yauheni Kaliuta <ykaliuta@fedoraproject.org>
2021-08-11 09:53:59 +03:00
15 changed files with 235 additions and 196 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

25
.gitignore vendored
View file

@ -1,24 +1 @@
/kmod-7.tar.xz
/kmod-8.tar.xz
/kmod-9.tar.xz
/kmod-10.tar.xz
/kmod-11.tar.xz
/kmod-12.tar.xz
/kmod-13.tar.xz
/kmod-14.tar.xz
/kmod-15.tar.xz
/kmod-16.tar.xz
/kmod-17.tar.xz
/kmod-18.tar.xz
/kmod-19.tar.xz
/kmod-20.tar.xz
/kmod-21.tar.xz
/kmod-22.tar.xz
/kmod-23.tar.xz
/kmod-24.tar.xz
/kmod-25.tar.xz
/kmod-26.tar.xz
/kmod-27.tar.xz
/kmod-28.tar.xz
/kmod-29.tar.gz
/kmod-29.tar.xz
/kmod-*.tar.xz

6
depmod.conf.dist Normal file
View file

@ -0,0 +1,6 @@
#
# depmod.conf
#
# override default search ordering for kmod packaging
search updates extra built-in weak-updates

176
kmod.spec
View file

@ -10,13 +10,59 @@
%bcond_with dist_conf
%endif
%bcond_without zlib
%bcond_without xz
%bcond_without zstd
Name: kmod
Version: 29
Release: 5%{?dist}
Version: 34.2
Release: 3%{?dist}
Summary: Linux kernel module management utilities
License: GPLv2+
# https://docs.fedoraproject.org/en-US/legal/license-field/#_no_effective_license_analysis
# GPL-2.0-or-later:
# build-aux/compile
# build-aux/depcomp
# build-aux/ltmain.sh
# build-aux/ltmain.sh
# build-aux/missing
# build-aux/py-compile
# build-aux/test-driver
# m4/attributes.m4
# m4/features.m4
# tools
# GPL-3.0-or-later:
# build-aux/config.guess
# build-aux/config.sub
# build-aux/git-version-gen
# libkmod/docs/gtk-doc.make
# m4/gtk-doc.m4
# FSFUL:
# configure
# FSFULLRWD:
# aclocal.m4
# libkmod/docs/Makefile.in
# m4/libtool.m4
# m4/lt~obsolete.m4
# m4/ltoptions.m4
# m4/ltsugar.m4
# m4/ltversion.m4
# Makefile.in
# LGPL-2.1-only:
# libkmod/python/kmod/error.py
# libkmod/python/kmod/__init__.py
# libkmod/python/kmod/version.py
# libkmod/python/kmod/version.py.in
# LGPL-2.1-or-later:
# config.h.in (no explicit license, the one in COPYING is assumed)
# libkmod
# man (no explicit license, the one in COPYING is assumed)
# shared
# shell-completion/bash/kmod
# testsuite
# X11:
# build-aux/install-sh
License: GPL-2.0-or-later AND GPL-3.0-or-later AND FSFUL AND FSFULLRWD AND LGPL-2.1-only AND LGPL-2.1-or-later AND X11
URL: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
Source0: https://www.kernel.org/pub/linux/utils/kernel/kmod/%{name}-%{version}.tar.xz
Source1: weak-modules
@ -25,17 +71,35 @@ Exclusiveos: Linux
BuildRequires: gcc
BuildRequires: chrpath
%if %{with zlib}
BuildRequires: zlib-devel
%endif
%if %{with xz}
BuildRequires: xz-devel
BuildRequires: libxslt
%endif
BuildRequires: scdoc gtk-doc
BuildRequires: openssl-devel
BuildRequires: make
BuildRequires: make automake libtool
%if %{with zstd}
BuildRequires: libzstd-devel
%endif
Provides: module-init-tools = 4.0-1
Obsoletes: module-init-tools < 4.0-1
Provides: /sbin/modprobe
%if "%{_sbindir}" == "%{_bindir}"
# Compat symlinks for Requires in other packages.
# We rely on filesystem to create the symlinks for us.
Requires: filesystem(unmerged-sbin-symlinks)
Provides: /usr/sbin/modprobe
Provides: /usr/sbin/modinfo
Provides: /usr/sbin/insmod
Provides: /usr/sbin/rmmod
Provides: /usr/sbin/lsmod
Provides: /usr/sbin/depmod
%endif
%description
The kmod package provides various programs needed for automatic
loading and unloading of modules under 2.6, 3.x, and later kernels, as well
@ -44,7 +108,6 @@ examples of loaded and unloaded modules.
%package libs
Summary: Libraries to handle kernel module loading and unloading
License: LGPLv2+
%description libs
The kmod-libs package provides runtime libraries for any application that
@ -62,11 +125,18 @@ applications that wish to load or unload Linux kernel modules.
%autosetup -p1
%build
autoreconf --install
%configure \
--with-openssl \
%if %{with zlib}
--with-zlib \
%endif
%if %{with xz}
--with-xz \
%endif
%if %{with zstd}
--with-zstd \
%endif
--enable-debug
%{make_build} V=1
@ -80,14 +150,6 @@ popd
find %{buildroot} -type f -name "*.la" -delete
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/modprobe
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/modinfo
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/insmod
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/rmmod
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/depmod
ln -sf ../bin/kmod $RPM_BUILD_ROOT%{_sbindir}/lsmod
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/modprobe.d
@ -115,12 +177,17 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/dist.conf
%{_sbindir}/weak-modules
%endif
%{_datadir}/bash-completion/
%{_datadir}/fish/vendor_functions.d/*
%{_datadir}/zsh/site-functions/*
%if %{with dist_conf}
%{_sysconfdir}/depmod.d/dist.conf
%endif
%attr(0644,root,root) %{_mandir}/man5/*.5*
%{_datadir}/pkgconfig/kmod.pc
%attr(0644,root,root) %{_mandir}/man5/mod*.d*.5*
%attr(0644,root,root) %{_mandir}/man5/depmod.d.5*
%{_mandir}/man5/modprobe.conf.5*
%attr(0644,root,root) %{_mandir}/man8/*.8*
%doc NEWS README TODO
%doc NEWS README.md
%files libs
%license COPYING
@ -132,6 +199,83 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/dist.conf
%{_libdir}/libkmod.so
%changelog
* Wed Aug 13 2025 Zamir SUN <zsun@fedoraproject.org> - 34.2-3
- Rebuild to switch gating to TMT.
- Resolves: rhbz#2382934
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 34.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Mar 31 2025 Josh Boyer <jwboyer@fedoraproject.org> - 34.2-1
- New upstream v34.2
- Resolves: rhbz#2355680
* Sat Mar 08 2025 Josh Boyer <jwboyer@fedoraproject.org> - 34.1-1
- New upstream v34.1
- Resolves: rhbz#2350269
* Mon Feb 24 2025 Josh Boyer <jwboyer@fedoraproject.org>
- New upstream v34
- Resolves: rhbz#2347049
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 33-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 33-2
- Rebuilt for the bin-sbin merge (2nd attempt)
* Thu Aug 15 2024 Eugene Syromiatnikov <esyr@redhat.com> - 33-1
- New upstream v33
- Resolves: rhbz#2268030
* Mon Aug 12 2024 Eugene Syromiatnikov <esyr@redhat.com> - 31-8
- weak-modules: use either zcat or xzcat based on symvers file extension
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 31-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Apr 11 2024 Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl> - 31-6
- Prepare for %%_bindir==%%_sbindir
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 31-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 31-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 01 2023 Eugene Syromiatnikov <esyr@redhat.com> - 31-3
- migrated to SPDX license
* Thu Nov 09 2023 Josh Boyer <jwboyer@fedoraproject.org> - 31-2
- Add upstream patches to enable SHA3 support
- New upstream v31
- Resolves: rhbz#2241394
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 30-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 09 2023 Eugene Syromiatnikov <esyr@redhat.com> - 30-5
- Add symvers.xz support to weak-modules
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 30-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 17 2022 Florian Weimer <fweimer@redhat.com> - 30-3
- Port configure script to C99
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 30-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jul 4 2022 Yauheni Kaliuta <ykaliuta@redhat.com> - 30-1
- New upstream v30
- Resolves: rhbz#2102796
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 29-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 29-6
- Rebuilt with OpenSSL 3.0.0
* Tue Aug 10 2021 Yauheni Kaliuta <ykaliuta@redhat.com> - 29-5
- kmod.spec: enable debug
- weak-modules: compare_initramfs_modules: exit on pushd/popd failures

View file

@ -1 +1 @@
SHA512 (kmod-29.tar.xz) = 557cdcaec75e5a1ceea2d10862c944e9a65ef54f6ee9da6dc98ce4582418fdc9958aab2e14a84807db61daf36ec4fcdc23a36376c39d5dc31d1823ca7cd47998
SHA512 (kmod-34.2.tar.xz) = 0e095c45ad61a6c61ce1ad61b9aa10cf5040e688b749f9a933b0e7d12de493c58027a5068b459cbbce05576fc564a22b83a3dbef1e6511b2a3e27034c88afd33

View file

@ -1,46 +0,0 @@
# SPDX-License-Identifier: LGPL-2.1+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/libkmod
# Description: Test if libkmod working ok
# Author: Susant Sahani<susant@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/libkmod
export TESTVERSION=1.0
OBJS = test-libkmod.c
CFLAG = -Wall -g3
CC = gcc
LIBS = -lkmod -lcmocka
test-libkmod:${OBJ}
${CC} ${CFLAGS} ${INCLUDES} -o $@ ${OBJS} ${LIBS}
run: test-libkmod
./runtest.sh
clean:
-rm -f test-libkmod
.c.o:
${CC} ${CFLAGS} ${INCLUDES} -c $<
CC = gcc
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Susant Sahani<susant@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test libkmod works ok" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: libkmod" >> $(METADATA)
@echo "Requires: libkmod libkmod-devel" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -Fedora 29" >> $(METADATA)
rhts-lint $(METADATA)

View file

@ -0,0 +1,3 @@
test: bash ./runtest.sh
framework: beakerlib
duration: 15m

14
tests/libkmod/metadata Normal file
View file

@ -0,0 +1,14 @@
[General]
name=libkmod gating test
owner=Susant Sahani <susant@redhat.com>
description=libkmod gating test
license=GPLv2
confidential=no
destructive=no
[restraint]
entry_point=./runtest.sh
max_time=15m
use_pty=false
dependencies=gcc,make,libcmocka-devel,kmod-devel

View file

@ -18,6 +18,7 @@ rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlAssertExists "$IPIP"
rlRun "gcc -o test-libkmod test-libkmod.c -lkmod -lcmocka"
rlRun "cp test-libkmod /usr/bin/"
rlPhaseEnd

10
tests/plan.fmf Normal file
View file

@ -0,0 +1,10 @@
prepare:
how: install
package:
- libcmocka-devel
- make
- gcc
discover:
how: fmf
execute:
how: tmt

View file

@ -1,79 +0,0 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of general/kmod/sanity
# Description: kmod test
#
# 2016-07-31
# Author: Chunyu Hu <chuhu@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TENV=_env
ifeq ($(PKG_TOP_DIR),)
export PKG_TOP_DIR := $(shell p=$$PWD; while :; do \
[ -e $$p/env.mk -o -z "$$p" ] && { echo $$p; break; }; p=$${p%/*}; done)
export _TOP_DIR := $(shell p=$$PWD; while :; do \
[ -d $$p/.git -o -z "$$p" ] && { echo $$p; break; }; p=$${p%/*}; done)
-include $(PKG_TOP_DIR)/env.mk
endif
include $(TENV)
ifeq ($(_TOP_DIR),)
_TOP_DIR=/mnt/tests/$(TOPLEVEL_NAMESPACE)
endif
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(TENV) $(METADATA) _env runtest.sh Makefile PURPOSE lib.sh
.PHONY: all install download clean
run: $(FILES) build
( set +o posix; . /usr/bin/rhts_environment.sh; \
. /usr/share/beakerlib/beakerlib.sh; \
. runtest.sh )
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -fr *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Chunyu Hu <chuhu@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: kmod kernel module check from kernel modules tools">> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 1h" >> $(METADATA)
@echo "RunFor: kernel" >> $(METADATA)
@echo "Requires: kernel" >> $(METADATA)
@echo "Requires: sysstat perf trace-cmd" >> $(METADATA)
@echo "Requires: $(PACKAGE_NAME) python rpm wget" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

12
tests/sanity/metadata Normal file
View file

@ -0,0 +1,12 @@
[General]
name=kmod gating test
owner=Ziqian SUN <zsun@redhat.com>
description=kmod gating test
license=GPLv2
confidential=no
destructive=no
[restraint]
entry_point=./runtest.sh
max_time=15m
use_pty=false

3
tests/sanity/sanity.fmf Normal file
View file

@ -0,0 +1,3 @@
test: bash ./runtest.sh
framework: beakerlib
duration: 15m

View file

@ -1,18 +0,0 @@
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-beakerlib
tests:
- sanity
- libkmod
required_packages:
- kernel
- perf
- sysstat
- trace-cmd
- kmod
- kmod-devel
- gcc
- libcmocka
- libcmocka-devel

View file

@ -520,26 +520,31 @@ finish_sandbox() {
# Auxiliary functions to find symvers file
make_kernel_file_names() {
local krel="$1"
local file="$2"
local suffix="$3"
shift
local file="$1"
shift
echo "${BASEDIR}/boot/${file}-${krel}${suffix}"
echo "${BASEDIR}/lib/modules/${krel}/${file}${suffix}"
for suffix in "$@"; do
echo "${BASEDIR}/boot/${file}-${krel}${suffix}"
echo "${BASEDIR}/lib/modules/${krel}/${file}${suffix}"
done
}
find_kernel_file() {
local krel="$1"
local file="$2"
local suffix="$3"
local print="$4"
shift
local file="$1"
shift
local print="$1"
shift
local i
if [[ "$print" != "" ]]; then
make_kernel_file_names "$krel" "$file" "$suffix"
make_kernel_file_names "$krel" "$file" "$@"
return 0
fi
for i in $(make_kernel_file_names "$krel" "$file" "$suffix"); do
for i in $(make_kernel_file_names "$krel" "$file" "$@"); do
if [[ -r "$i" ]]; then
echo "$i"
return 0
@ -563,7 +568,7 @@ find_symvers_file() {
local krel="$1"
local print="$2"
find_kernel_file "$krel" symvers .gz "$print"
find_kernel_file "$krel" symvers "$print" .xz .gz
}
# find_systemmap_file:
@ -573,7 +578,7 @@ find_systemmap_file() {
local print="$2"
local no_suffix=""
find_kernel_file "$krel" System.map "$no_suffix" "$print"
find_kernel_file "$krel" System.map "$print" "$no_suffix"
}
#### Main logic
@ -753,6 +758,7 @@ validate_weak_links() {
# to return to caller that original proposal is not valid
# here 0 is true, 1 is false, since it will be the return code
local is_configuration_valid=0
local cat_prog
tmp=$(mktemp -p $tmpdir)
compatible_modules=()
@ -761,7 +767,12 @@ validate_weak_links() {
local symvers_path=$(find_symvers_file "$krel")
[[ -n "$symvers_path" ]] || return
zcat "$symvers_path" > $tmpdir/symvers-$krel
cat_prog="cat"
case "$symvers" in
*.gz) cat_prog="zcat" ;;
*.xz) cat_prog="xzcat" ;;
esac
"$cat_prog" "$symvers_path" > $tmpdir/symvers-$krel
fi
while ((is_updates_changed)); do