Jan Engelhardt 2017-07-06 10:22:24 +00:00 committed by Git OBS Bridge
parent 17237728d7
commit b7d8663d3e
11 changed files with 58 additions and 366 deletions

View File

@ -1,167 +0,0 @@
From 965886b55ab2f80fc242c1bc7e92423c87424718 Mon Sep 17 00:00:00 2001
From: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
Date: Tue, 8 Nov 2016 17:45:49 +0100
Subject: [PATCH 1/2] testsuite: depmod: add module dependency outside cyclic
chain
Check that depmod do not report modules outside cyclic chain
Two modules f and g are added which do not have any dependency.
modules a and b are made dependent on f and g.
Here is the output of loop dependency check test after adding this
patch:
TESTSUITE: ERR: wrong:
depmod: ERROR: Found 7 modules in dependency cycles!
depmod: ERROR: Cycle detected: mod_loop_d -> mod_loop_e -> mod_loop_d
depmod: ERROR: Cycle detected: mod_loop_b -> mod_loop_c -> mod_loop_a -> mod_loop_b
depmod: ERROR: Cycle detected: mod_loop_b -> mod_loop_c -> mod_loop_a -> mod_loop_g
depmod: ERROR: Cycle detected: mod_loop_b -> mod_loop_c -> mod_loop_a -> mod_loop_f
Buffer overflow occurs in the loop when last two lines are printed.
43 bytes buffer is allocated and 53 bytes are used.
Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
---
testsuite/module-playground/Makefile | 6 +++++-
testsuite/module-playground/mod-loop-a.c | 2 ++
testsuite/module-playground/mod-loop-b.c | 2 ++
testsuite/module-playground/mod-loop-f.c | 24 ++++++++++++++++++++++++
testsuite/module-playground/mod-loop-g.c | 24 ++++++++++++++++++++++++
testsuite/module-playground/mod-loop.h | 2 ++
testsuite/populate-modules.sh | 2 ++
7 files changed, 61 insertions(+), 1 deletion(-)
create mode 100644 testsuite/module-playground/mod-loop-f.c
create mode 100644 testsuite/module-playground/mod-loop-g.c
Index: kmod-23/testsuite/module-playground/Makefile
===================================================================
--- kmod-23.orig/testsuite/module-playground/Makefile
+++ kmod-23/testsuite/module-playground/Makefile
@@ -12,13 +12,17 @@ obj-m += mod-foo-c.o
obj-m += mod-foo.o
# mod-loop: create loops in dependencies:
-# 1) mod-loop-a -> mod-loop-b -> mod-loop-c -> mod-loop-a
+# 1) mod-loop-a -> mod-loop-b -> mod-loop-c -> mod-loop-a
+# |-> mod-loop-f |-> mod-loop-f
+# \-> mod-loop-g \-> mod-loop-g
# 2) mod-loop-d -> mod-loop-e -> mod-loop-d
obj-m += mod-loop-a.o
obj-m += mod-loop-b.o
obj-m += mod-loop-c.o
obj-m += mod-loop-d.o
obj-m += mod-loop-e.o
+obj-m += mod-loop-f.o
+obj-m += mod-loop-g.o
# mod-fake-*: fake the respective modules in kernel with these aliases. Aliases
# list was taken from 3.5.4
Index: kmod-23/testsuite/module-playground/mod-loop-a.c
===================================================================
--- kmod-23.orig/testsuite/module-playground/mod-loop-a.c
+++ kmod-23/testsuite/module-playground/mod-loop-a.c
@@ -10,6 +10,8 @@ static int __init test_module_init(void)
{
printA();
printB();
+ printF();
+ printG();
return 0;
}
Index: kmod-23/testsuite/module-playground/mod-loop-b.c
===================================================================
--- kmod-23.orig/testsuite/module-playground/mod-loop-b.c
+++ kmod-23/testsuite/module-playground/mod-loop-b.c
@@ -10,6 +10,8 @@ static int __init test_module_init(void)
{
printB();
printC();
+ printF();
+ printG();
return 0;
}
Index: kmod-23/testsuite/module-playground/mod-loop-f.c
===================================================================
--- /dev/null
+++ kmod-23/testsuite/module-playground/mod-loop-f.c
@@ -0,0 +1,24 @@
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/printk.h>
+
+#include "mod-loop.h"
+
+static int __init test_module_init(void)
+{
+ printF();
+
+ return 0;
+}
+module_init(test_module_init);
+
+void printF(void)
+{
+ pr_warn("Hello, world F\n");
+}
+EXPORT_SYMBOL(printF);
+
+MODULE_AUTHOR("Lucas De Marchi <lucas.demarchi@intel.com>");
+MODULE_LICENSE("LGPL");
Index: kmod-23/testsuite/module-playground/mod-loop-g.c
===================================================================
--- /dev/null
+++ kmod-23/testsuite/module-playground/mod-loop-g.c
@@ -0,0 +1,24 @@
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/printk.h>
+
+#include "mod-loop.h"
+
+static int __init test_module_init(void)
+{
+ printG();
+
+ return 0;
+}
+module_init(test_module_init);
+
+void printG(void)
+{
+ pr_warn("Hello, world G\n");
+}
+EXPORT_SYMBOL(printG);
+
+MODULE_AUTHOR("Lucas De Marchi <lucas.demarchi@intel.com>");
+MODULE_LICENSE("LGPL");
Index: kmod-23/testsuite/module-playground/mod-loop.h
===================================================================
--- kmod-23.orig/testsuite/module-playground/mod-loop.h
+++ kmod-23/testsuite/module-playground/mod-loop.h
@@ -5,3 +5,5 @@ void printB(void);
void printC(void);
void printD(void);
void printE(void);
+void printF(void);
+void printG(void);
Index: kmod-23/testsuite/populate-modules.sh
===================================================================
--- kmod-23.orig/testsuite/populate-modules.sh
+++ kmod-23/testsuite/populate-modules.sh
@@ -16,6 +16,8 @@ map=(
["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-c.ko"]="mod-loop-c.ko"
["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-d.ko"]="mod-loop-d.ko"
["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-e.ko"]="mod-loop-e.ko"
+ ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-f.ko"]="mod-loop-f.ko"
+ ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-g.ko"]="mod-loop-g.ko"
["test-dependencies/lib/modules/4.0.20-kmod/kernel/fs/foo/"]="mod-foo-b.ko"
["test-dependencies/lib/modules/4.0.20-kmod/kernel/"]="mod-foo-c.ko"
["test-dependencies/lib/modules/4.0.20-kmod/kernel/lib/"]="mod-foo-a.ko"

View File

@ -1,42 +0,0 @@
From 813357548c7f9063996783e2ac8382501e32a4ed Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner@suse.de>
Date: Fri, 6 Mar 2015 08:57:10 +0100
Subject: [PATCH] use correct sort method in test-array
Status: mailed to upstream
the pointers we get are char ** not char *
---
testsuite/test-array.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/testsuite/test-array.c b/testsuite/test-array.c
index 3c72a8a..8e1b2ba 100644
--- a/testsuite/test-array.c
+++ b/testsuite/test-array.c
@@ -90,6 +90,14 @@ static int test_array_append_unique(const struct test *t)
DEFINE_TEST(test_array_append_unique,
.description = "test array append unique");
+static int array_strcmp(void *a, void *b)
+{
+ char *pa = *(char **)a;
+ char *pb = *(char **)b;
+
+ return strcmp(pa, pb);
+}
+
static int test_array_sort(const struct test *t)
{
struct array array;
@@ -104,7 +112,7 @@ static int test_array_sort(const struct test *t)
array_append(&array, c2);
array_append(&array, c3);
array_append(&array, c1);
- array_sort(&array, (int (*)(const void *a, const void *b)) strcmp);
+ array_sort(&array, (int (*)(const void *a, const void *b)) array_strcmp);
assert_return(array.count == 6, EXIT_FAILURE);
assert_return(array.array[0] == c1, EXIT_FAILURE);
assert_return(array.array[1] == c1, EXIT_FAILURE);
--
2.1.4

View File

@ -1,82 +0,0 @@
From 6b77f188969d72254f6bda291f4f2d9fd42f5ecc Mon Sep 17 00:00:00 2001
From: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
Date: Tue, 8 Nov 2016 17:45:50 +0100
Subject: [PATCH 2/2] depmod: ignore related modules in depmod_report_cycles
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Only print actual cyclic dependencies. Print count of all the modules
in cyclic dependency at the end of the function so that dependent
modules which are not in cyclic chain can be ignored.
Printing dependent modules which are not in cyclic chain causes buffer
overflow as m->modnamesz is not included in buffer size calculations
(loop == m is never true). This buffer overflow causes kmod to crash.
Update depmod test to reflect the change as well.
Reported-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
---
.../rootfs-pristine/test-depmod/detect-loop/correct.txt | 2 +-
tools/depmod.c | 13 ++++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
Index: kmod-23/testsuite/rootfs-pristine/test-depmod/detect-loop/correct.txt
===================================================================
--- kmod-23.orig/testsuite/rootfs-pristine/test-depmod/detect-loop/correct.txt
+++ kmod-23/testsuite/rootfs-pristine/test-depmod/detect-loop/correct.txt
@@ -1,3 +1,3 @@
-depmod: ERROR: Found 5 modules in dependency cycles!
depmod: ERROR: Cycle detected: mod_loop_d -> mod_loop_e -> mod_loop_d
depmod: ERROR: Cycle detected: mod_loop_b -> mod_loop_c -> mod_loop_a -> mod_loop_b
+depmod: ERROR: Found 5 modules in dependency cycles!
Index: kmod-23/tools/depmod.c
===================================================================
--- kmod-23.orig/tools/depmod.c
+++ kmod-23/tools/depmod.c
@@ -1455,7 +1455,7 @@ static void depmod_report_cycles(struct
{
const char sep[] = " -> ";
int ir = 0;
- ERR("Found %u modules in dependency cycles!\n", n_roots);
+ int num_cyclic = 0;
while (n_roots > 0) {
int is, ie;
@@ -1490,6 +1490,7 @@ static void depmod_report_cycles(struct
if (m->visited) {
int i, n = 0, sz = 0;
char *buf;
+ bool is_cyclic = false;
for (i = ie - 1; i >= 0; i--) {
struct mod *loop = depmod->modules.array[edges[i]];
@@ -1497,9 +1498,17 @@ static void depmod_report_cycles(struct
n++;
if (loop == m) {
sz += loop->modnamesz - 1;
+ is_cyclic = true;
break;
}
}
+ /* Current module not found in dependency list.
+ * Must be a related module. Ignore it.
+ */
+ if (!is_cyclic)
+ continue;
+
+ num_cyclic += n;
buf = malloc(sz + n * strlen(sep) + 1);
sz = 0;
@@ -1537,6 +1546,8 @@ static void depmod_report_cycles(struct
}
}
}
+
+ ERR("Found %d modules in dependency cycles!\n", num_cyclic);
}
static int depmod_calculate_dependencies(struct depmod *depmod)

View File

@ -12,11 +12,11 @@ Patch-mainline: never
libkmod/libkmod-module.c | 31 +++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index 79bfb9b..9f47cfd 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -668,8 +668,16 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
Index: kmod-24/libkmod/libkmod-config.c
===================================================================
--- kmod-24.orig/libkmod/libkmod-config.c
+++ kmod-24/libkmod/libkmod-config.c
@@ -651,8 +651,16 @@ static int kmod_config_parse(struct kmod
ERR(ctx, "%s: command %s is deprecated and not parsed anymore\n",
filename, cmd);
} else if (streq(cmd, "allow_unsupported_modules")) {
@ -35,10 +35,10 @@ index 79bfb9b..9f47cfd 100644
} else {
syntax_error:
ERR(ctx, "%s line %u: ignoring bad line starting with '%s'\n",
diff --git a/libkmod/libkmod-internal.h b/libkmod/libkmod-internal.h
index 93a00c1..3a46b6b 100644
--- a/libkmod/libkmod-internal.h
+++ b/libkmod/libkmod-internal.h
Index: kmod-24/libkmod/libkmod-internal.h
===================================================================
--- kmod-24.orig/libkmod/libkmod-internal.h
+++ kmod-24/libkmod/libkmod-internal.h
@@ -119,6 +119,7 @@ struct kmod_config {
struct kmod_list *softdeps;
@ -47,11 +47,11 @@ index 93a00c1..3a46b6b 100644
};
int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **config, const char * const *config_paths) __attribute__((nonnull(1, 2,3)));
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
index e3cc5a7..3a9ce7c 100644
--- a/libkmod/libkmod-module.c
+++ b/libkmod/libkmod-module.c
@@ -782,6 +782,24 @@ KMOD_EXPORT int kmod_module_remove_module(struct kmod_module *mod,
Index: kmod-24/libkmod/libkmod-module.c
===================================================================
--- kmod-24.orig/libkmod/libkmod-module.c
+++ kmod-24/libkmod/libkmod-module.c
@@ -798,6 +798,24 @@ KMOD_EXPORT int kmod_module_remove_modul
extern long init_module(const void *mem, unsigned long len, const char *args);
@ -76,7 +76,7 @@ index e3cc5a7..3a9ce7c 100644
/**
* kmod_module_insert_module:
* @mod: kmod module
@@ -807,6 +825,7 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
@@ -823,6 +841,7 @@ KMOD_EXPORT int kmod_module_insert_modul
struct kmod_elf *elf;
const char *path;
const char *args = options ? options : "";
@ -84,8 +84,8 @@ index e3cc5a7..3a9ce7c 100644
if (mod == NULL)
return -ENOENT;
@@ -823,6 +842,18 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
return err;
@@ -841,6 +860,18 @@ KMOD_EXPORT int kmod_module_insert_modul
}
}
+ if (config->block_unsupported) {
@ -103,6 +103,3 @@ index e3cc5a7..3a9ce7c 100644
if (kmod_file_get_direct(mod->file)) {
unsigned int kernel_flags = 0;
--
1.8.4.5

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXjwCUAAoJEJuipaYwy+pTgAoQAKLpfyFbLpUqcxpjWPgFD+Ei
1/Ls0SQIlnhgtX+mpXuFMS2eV5hdrozbc3EJ57x3mbPFi6KbVP9UQBnLF2e1glam
QZrjq4O7ae3OApCFCu/+q8XLz8M1n82etKANBez/tbZjmqvg5+gFnlXWDC4bhQeI
3i32RJtkHw94kThNR0+L4w+whG2xU9VOgh/OMbAf9m29uoJzBsNXZTO3+YuzvbtT
JYmPokaOjIBGMG/lPmKEVq5a5kkeSJ4UvTPYV+NlB87UAahzSSPZP4h9MXQaoQy6
wP6ivqM8vW7EyXeTuyfOh/7+DV58xjP1Amjm2dTi412cQfSUjUC0fuOkbDTib/Ul
Ro6YtQoRS/ILES1YhwWzM19GIcZjEeMF58WHZVEnrTXq0xq2wCmt2MeBl24xX5EJ
wcocat3FcqHFaGmaLjMItqDwHhJrhbxnKJC3lpKmIvmdvyD1DyXeylxBX0RACn07
kyV01JTFH+JefbUyS3vo5OnciTH6THJ9qHNL/ApjOf5htWUKthgW5SzqV073zXYp
Pc81EEFH2v7IMt4gCHPdbZ6AwAqcJVB+pLinttnNN6gQfmhfFpdBmC0u1SI9NBRF
EOHFsIQmdbfHuSXmSZzjjjBtsSl868u+aIyJE+tqLKMEc1zoMYh6nIm4nZaIkZgP
z14K+bbua25I+M8TW6BF
=PTLr
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d303d5519faec9d69e1132f6b37db2579db17a7fb5c1517da0115d03ba168155
size 450376

16
kmod-24.tar.sign Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJYr+ITAAoJEJuipaYwy+pTiTEQAJpnw1how50xfJoExE2EKHYP
q65cVBT7hL5BgGJz3mLx/MctxX1lZe8/3xh15IQ2E6g9PF8RwEC0zmsxeS5mMqys
QbtcfjF3qimnHCMUR90W0pfTd/Jj5tRbMPgv9aNInBFxefSv3TkvXPCJ4H3/1TjV
kfuE0CsCoCSbIDlnEUf4WzyhKjbtVBq99D51RtpykOGVCE3JiVP2qUgqt0wnkmyT
2XZWT7gLWsNcDlZc0DrazXb+fZmZzkAXY1Y9kwfoMVz6y0naihy8etEGDYFdvyXg
1usoR8NKfSKfNR9s2X6CqOvj5awBFeD2uu0IQi8R6pLqZq5vYhI5wYFqZZDe5NSC
Xb6psibRnodtPyeuHwispEh7uoPPVQQY84INQL2p5ZUnXH7tvbw0qcyDMdpQXXQ2
jLNsuicD6Sf9tknY3TkyPjj916uSJKdaYYqKkBsazob2ChpIewmZMfCqhxLCATFi
STm4YOfZnGS6VJcWt/ujvCFqVqh75X/9Vo3b1e7C7gFoz9RJ5JiuxcYvRizQaMPE
1/EH5Fp9GPyAgfr9bTnCdVFE1swa/6yrMjNd9HjxWdW+/fgRboteErwk7+Kr4qV0
UBCGEwlWWCSa1l2Xi4PganiYStjr65eNOR7M5yg9+2t0pUFj8HSp+kcZqN2FklIB
Bq2XMuoABG2TqOl3+VyS
=zuNi
-----END PGP SIGNATURE-----

3
kmod-24.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:610b8d1df172acc39a4fdf1eaa47a57b04873c82f32152e7a62e29b6ff9cb397
size 536864

View File

@ -1,7 +1,7 @@
#
# spec file for package kmod-testsuite
#
# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,7 +18,7 @@
Name: kmod-testsuite
%define lname libkmod2
Version: 23
Version: 24
Release: 0
Summary: Testsuite of the kmod package
License: LGPL-2.1+ and GPL-2.0+
@ -28,16 +28,13 @@ Url: http://www.jonmasters.org/blog/2011/12/20/libkmod-replaces-modul
#Git-Web: http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary
#Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod
Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz
Source2: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign
Source: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz
Source2: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign
Patch1: 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch
Patch2: 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch
Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
Patch7: 0001-use-correct-sort-method-in-test-array.patch
Patch8: 0001-testsuite-depmod-add-module-dependency-outside-cycli.patch
Patch9: 0002-depmod-ignore-related-modules-in-depmod_report_cycle.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
@ -46,13 +43,8 @@ BuildRequires: kernel-default-devel
BuildRequires: libtool
BuildRequires: pkgconfig >= 0.21
BuildRequires: xz
%if 0%{?sles_version} == 11
BuildRequires: xz-devel >= 4.99
BuildRequires: zlib-devel
%else
BuildRequires: pkgconfig(liblzma) >= 4.99
BuildRequires: pkgconfig(zlib)
%endif
Requires: suse-module-tools
%define kdir /usr/src/linux-obj/%_target_cpu/default
@ -63,7 +55,7 @@ buildloop with the kernel.
%prep
%setup -q -n kmod-%version
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 7 -P 8 -P 9 -p1
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
%build
autoreconf -fi
@ -71,9 +63,6 @@ export LDFLAGS="-Wl,-z,relro,-z,now"
# The extra --includedir gives us the possibility to detect dependent
# packages which fail to properly use pkgconfig.
%configure \
%if 0%{?sles_version} == 11
zlib_CFLAGS=" " zlib_LIBS="-lz" \
%endif
--with-xz \
--with-zlib \
--includedir="%_includedir/kmod" \

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Jul 6 08:07:50 UTC 2017 - jengelh@inai.de
- Update to new upstream release 24
- Drop 0001-use-correct-sort-method-in-test-array.patch,
0002-depmod-ignore-related-modules-in-depmod_report_cycle.patch,
0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
(applied upstream)
-------------------------------------------------------------------
Tue Nov 22 09:10:54 UTC 2016 - yousaf.kaukab@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package kmod
#
# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,7 +18,7 @@
Name: kmod
%define lname libkmod2
Version: 23
Version: 24
Release: 0
Summary: Utilities to load modules into the kernel
License: LGPL-2.1+ and GPL-2.0+
@ -27,16 +27,13 @@ Url: https://www.kernel.org/pub/linux/utils/kernel/kmod/
#Git-Web: http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary
#Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod
Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz
Source2: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign
Source: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz
Source2: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign
Patch1: 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch
Patch2: 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch
Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
Patch7: 0001-use-correct-sort-method-in-test-array.patch
Patch8: 0001-testsuite-depmod-add-module-dependency-outside-cycli.patch
Patch9: 0002-depmod-ignore-related-modules-in-depmod_report_cycle.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
@ -44,13 +41,8 @@ BuildRequires: libtool
BuildRequires: pkgconfig >= 0.21
BuildRequires: suse-module-tools
BuildRequires: xz
%if 0%{?sles_version} == 11
BuildRequires: xz-devel >= 4.99
BuildRequires: zlib-devel
%else
BuildRequires: pkgconfig(liblzma) >= 4.99
BuildRequires: pkgconfig(zlib)
%endif
Requires: suse-module-tools
%description
@ -102,7 +94,7 @@ in %lname.
%prep
%setup -q -n kmod-%version
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 7 -P 8 -P 9 -p1
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
%build
autoreconf -fi
@ -110,9 +102,6 @@ export LDFLAGS="-Wl,-z,relro,-z,now"
# The extra --includedir gives us the possibility to detect dependent
# packages which fail to properly use pkgconfig.
%configure \
%if 0%{?sles_version} == 11
zlib_CFLAGS=" " zlib_LIBS="-lz" \
%endif
--with-xz \
--with-zlib \
--includedir="%_includedir/kmod" \