From: Lucas De Marchi Date: Sun, 31 May 2015 18:38:47 +0000 (-0300) Subject: build: cache modules from playground X-Git-Tag: v21~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=23603f1f837caeff45c6960722c2cad690db801d;p=thirdparty%2Fkmod.git build: cache modules from playground 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. --- diff --git a/Makefile.am b/Makefile.am index 94576553..b9919363 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 be597b47..6e675846 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 5cd3034f..6767e0e6 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 5ba9ed22..a5f142f9 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 00000000..f61409ac Binary files /dev/null and b/testsuite/module-playground/cache/mod-fake-cciss.ko 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 00000000..3d33ba76 Binary files /dev/null and b/testsuite/module-playground/cache/mod-fake-hpsa.ko 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 00000000..c0eb9741 Binary files /dev/null and b/testsuite/module-playground/cache/mod-fake-scsi-mod.ko 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 00000000..f2d406e1 Binary files /dev/null and b/testsuite/module-playground/cache/mod-foo-a.ko 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 00000000..53bf3a91 Binary files /dev/null and b/testsuite/module-playground/cache/mod-foo-b.ko 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 00000000..083e801a Binary files /dev/null and b/testsuite/module-playground/cache/mod-foo-c.ko differ diff --git a/testsuite/module-playground/cache/mod-foo.ko b/testsuite/module-playground/cache/mod-foo.ko new file mode 100644 index 00000000..09614782 Binary files /dev/null and b/testsuite/module-playground/cache/mod-foo.ko 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 00000000..51533d83 Binary files /dev/null and b/testsuite/module-playground/cache/mod-loop-a.ko 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 00000000..5e203489 Binary files /dev/null and b/testsuite/module-playground/cache/mod-loop-b.ko 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 00000000..6a02b04f Binary files /dev/null and b/testsuite/module-playground/cache/mod-loop-c.ko 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 00000000..3ab33480 Binary files /dev/null and b/testsuite/module-playground/cache/mod-loop-d.ko 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 00000000..efe93ff0 Binary files /dev/null and b/testsuite/module-playground/cache/mod-loop-e.ko differ diff --git a/testsuite/module-playground/cache/mod-simple.ko b/testsuite/module-playground/cache/mod-simple.ko new file mode 100644 index 00000000..2c5ffcfa Binary files /dev/null and b/testsuite/module-playground/cache/mod-simple.ko differ