summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2015-05-31 15:38:47 -0300
committerLucas De Marchi <lucas.demarchi@intel.com>2015-05-31 15:38:47 -0300
commit23603f1f837caeff45c6960722c2cad690db801d (patch)
tree313f1b145e53cad2555fffb00139477ded99783d
parent7266ec43371fff8304e730b24729b2c6a95d75c4 (diff)
downloadkmod-cached-modules.tar.gz
build: cache modules from playgroundcached-modules
Now that we are able to build our own test modules, also allow to use cached modules so a) kernel headers are not required and b) distro maintainers are happy. It's still need a "--disable-test-modules" in the configure since the default is enabled. There's no license problems anymore since all modules come from our own repository, we ship the sources and the modules can be easily rebuilt.
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac6
-rw-r--r--testsuite/module-playground/.gitignore1
-rw-r--r--testsuite/module-playground/Makefile9
-rw-r--r--testsuite/module-playground/cache/mod-fake-cciss.kobin0 -> 5504 bytes
-rw-r--r--testsuite/module-playground/cache/mod-fake-hpsa.kobin0 -> 5264 bytes
-rw-r--r--testsuite/module-playground/cache/mod-fake-scsi-mod.kobin0 -> 4328 bytes
-rw-r--r--testsuite/module-playground/cache/mod-foo-a.kobin0 -> 4392 bytes
-rw-r--r--testsuite/module-playground/cache/mod-foo-b.kobin0 -> 4392 bytes
-rw-r--r--testsuite/module-playground/cache/mod-foo-c.kobin0 -> 4392 bytes
-rw-r--r--testsuite/module-playground/cache/mod-foo.kobin0 -> 3296 bytes
-rw-r--r--testsuite/module-playground/cache/mod-loop-a.kobin0 -> 4672 bytes
-rw-r--r--testsuite/module-playground/cache/mod-loop-b.kobin0 -> 4672 bytes
-rw-r--r--testsuite/module-playground/cache/mod-loop-c.kobin0 -> 4672 bytes
-rw-r--r--testsuite/module-playground/cache/mod-loop-d.kobin0 -> 4672 bytes
-rw-r--r--testsuite/module-playground/cache/mod-loop-e.kobin0 -> 4672 bytes
-rw-r--r--testsuite/module-playground/cache/mod-simple.kobin0 -> 3472 bytes
17 files changed, 21 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 9457655..b991936 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -230,7 +230,12 @@ build-module-playground:
cp -r $(top_srcdir)/$(MODULE_PLAYGROUND) $(top_builddir)/$(MODULE_PLAYGROUND) && \
find $(top_builddir)/$(MODULE_PLAYGROUND) -type d -exec chmod +w {} \; ; \
fi
+if BUILD_MODULES
$(MAKE) -C $(MODULE_PLAYGROUND)
+else
+ $(MAKE) -C $(MODULE_PLAYGROUND) FAKE_BUILD=1
+endif
+
rootfs: build-module-playground
$(CREATE_ROOTFS)
diff --git a/configure.ac b/configure.ac
index be597b4..6e67584 100644
--- a/configure.ac
+++ b/configure.ac
@@ -127,6 +127,11 @@ AC_ARG_ENABLE([manpages],
[], enable_manpages=yes)
AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" = "xyes"])
+AC_ARG_ENABLE([test-modules],
+ AS_HELP_STRING([--disable-test-modules], [disable building test modules during make check: cached modules will be used @<:@default=enabled@:>@]),
+ [], enable_test_modules=yes)
+AM_CONDITIONAL([BUILD_MODULES], [test "x$enable_test_modules" = "xyes"])
+
AC_ARG_ENABLE([logging],
AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
[], enable_logging=yes)
@@ -282,4 +287,5 @@ AC_MSG_RESULT([
coverage: ${enable_coverage}
doc: ${enable_gtk_doc}
man: ${enable_manpages}
+ test-modules: ${enable_test_modules}
])
diff --git a/testsuite/module-playground/.gitignore b/testsuite/module-playground/.gitignore
index 5cd3034..6767e0e 100644
--- a/testsuite/module-playground/.gitignore
+++ b/testsuite/module-playground/.gitignore
@@ -1,6 +1,7 @@
*o.cmd
*.ko
!mod-simple-*.ko
+!cache/*.ko
*.mod.c
.tmp_versions
modules.order
diff --git a/testsuite/module-playground/Makefile b/testsuite/module-playground/Makefile
index 5ba9ed2..a5f142f 100644
--- a/testsuite/module-playground/Makefile
+++ b/testsuite/module-playground/Makefile
@@ -38,6 +38,9 @@ else
# normal makefile
KDIR ?= /lib/modules/`uname -r`/build
KVER ?= `uname -r`
+ifeq ($(FAKE_BUILD),)
+ FAKE_BUILD=0
+endif
ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko
MY_MODULES := $(filter-out $(ARCH_SPECIFIC_MODULES),$(wildcard *.ko))
@@ -48,8 +51,14 @@ mod-simple-%.ko: mod-simple-%.c Makefile.arch
$(eval arch=$(patsubst mod-simple-%.ko,%,$@))
$(MAKE) KDIR=$(KDIR_$(arch)) ARCH=$(arch) CROSS_COMPILE=$(CROSS_COMPILE_$(arch)) -f Makefile.arch
+ifeq ($(FAKE_BUILD),0)
modules:
$(MAKE) -C $(KDIR) M=$$PWD
+else
+modules:
+ @echo " CP cache/*.ko"
+ @cp cache/*.ko .
+endif
arch-modules: $(ARCH_SPECIFIC_MODULES)
diff --git a/testsuite/module-playground/cache/mod-fake-cciss.ko b/testsuite/module-playground/cache/mod-fake-cciss.ko
new file mode 100644
index 0000000..f61409a
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-fake-cciss.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-fake-hpsa.ko b/testsuite/module-playground/cache/mod-fake-hpsa.ko
new file mode 100644
index 0000000..3d33ba7
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-fake-hpsa.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-fake-scsi-mod.ko b/testsuite/module-playground/cache/mod-fake-scsi-mod.ko
new file mode 100644
index 0000000..c0eb974
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-fake-scsi-mod.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-foo-a.ko b/testsuite/module-playground/cache/mod-foo-a.ko
new file mode 100644
index 0000000..f2d406e
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-foo-a.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-foo-b.ko b/testsuite/module-playground/cache/mod-foo-b.ko
new file mode 100644
index 0000000..53bf3a9
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-foo-b.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-foo-c.ko b/testsuite/module-playground/cache/mod-foo-c.ko
new file mode 100644
index 0000000..083e801
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-foo-c.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-foo.ko b/testsuite/module-playground/cache/mod-foo.ko
new file mode 100644
index 0000000..0961478
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-foo.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-loop-a.ko b/testsuite/module-playground/cache/mod-loop-a.ko
new file mode 100644
index 0000000..51533d8
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-loop-a.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-loop-b.ko b/testsuite/module-playground/cache/mod-loop-b.ko
new file mode 100644
index 0000000..5e20348
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-loop-b.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-loop-c.ko b/testsuite/module-playground/cache/mod-loop-c.ko
new file mode 100644
index 0000000..6a02b04
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-loop-c.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-loop-d.ko b/testsuite/module-playground/cache/mod-loop-d.ko
new file mode 100644
index 0000000..3ab3348
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-loop-d.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-loop-e.ko b/testsuite/module-playground/cache/mod-loop-e.ko
new file mode 100644
index 0000000..efe93ff
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-loop-e.ko
Binary files differ
diff --git a/testsuite/module-playground/cache/mod-simple.ko b/testsuite/module-playground/cache/mod-simple.ko
new file mode 100644
index 0000000..2c5ffcf
--- /dev/null
+++ b/testsuite/module-playground/cache/mod-simple.ko
Binary files differ