tools: Use test/kmod instead of kmod-nolib

The reason to have a kmod-nolib binary is that we need to call kmod on
test cases (or a symlink to it) and for testing things in tree. Since
we are using libtool if we are dinamically linking to libkmod what we
end up having is a shell script that (depending on the version *)
changes argv[0] to contain an "lt-" prefix. Since this screws with our
compat stuff, we had a kmod-nolib that links statically.

This all workaround works fine iff we are using one of the compat
commands, i.e. we are using the symlinks insmod, rmmod, modprobe, etc.
However if we are actually trying the kmod binary, this doesn't work
because we can't create a kmod symlink since there's already a kmod
binary.

So, completely give up on libtool fixing their mess. Now we create a
tool/test/ directory and the symlinks and kmod is put there.

* http://lists.gnu.org/archive/html/bug-libtool/2011-12/msg00023.html
This commit is contained in:
Lucas De Marchi 2013-07-02 21:03:20 -03:00
parent a5cbde4bce
commit 9de9e07da6
5 changed files with 16 additions and 16 deletions

View File

@ -104,8 +104,8 @@ uninstall-hook:
if BUILD_TOOLS
bin_PROGRAMS = tools/kmod
noinst_SCRIPTS = tools/insmod tools/rmmod tools/lsmod \
tools/modprobe tools/modinfo tools/depmod
noinst_SCRIPTS = tools/test/insmod tools/test/rmmod tools/test/lsmod \
tools/test/modprobe tools/test/modinfo tools/test/depmod
tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/lsmod.c \
tools/rmmod.c tools/insmod.c \
@ -115,12 +115,12 @@ tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/lsmod.c \
tools_kmod_LDADD = libkmod/libkmod-util.la \
libkmod/libkmod.la
noinst_PROGRAMS = tools/kmod-nolib
tools_kmod_nolib_SOURCES = $(tools_kmod_SOURCES)
tools_kmod_nolib_LDADD = libkmod/libkmod-util.la \
noinst_PROGRAMS = tools/test/kmod
tools_test_kmod_SOURCES = $(tools_kmod_SOURCES)
tools_test_kmod_LDADD = libkmod/libkmod-util.la \
libkmod/libkmod-private.la
${noinst_SCRIPTS}: tools/kmod-nolib
${noinst_SCRIPTS}: tools/test/kmod
$(AM_V_GEN) ($(RM) $@; \
$(LN_S) $(notdir $<) $@)
endif

View File

@ -31,7 +31,7 @@
#define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS "/lib/modules/" MODULES_ORDER_UNAME
static __noreturn int depmod_modules_order_for_compressed(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/depmod";
const char *const args[] = {
progname,
NULL,

View File

@ -28,7 +28,7 @@
static __noreturn int modinfo_jonsmodules(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modinfo";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modinfo";
const char *const args[] = {
progname,
"/ext4-i686.ko", "/ext4-ppc64.ko", "/ext4-s390x.ko",

View File

@ -28,7 +28,7 @@
static __noreturn int modprobe_show_depends(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"--show-depends", "btusb",
@ -50,7 +50,7 @@ static DEFINE_TEST(modprobe_show_depends,
static __noreturn int modprobe_show_depends2(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"--show-depends", "psmouse",
@ -73,7 +73,7 @@ static DEFINE_TEST(modprobe_show_depends2,
static __noreturn int modprobe_show_alias_to_none(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"--show-depends", "--ignore-install", "--quiet", "psmouse",
@ -96,7 +96,7 @@ static DEFINE_TEST(modprobe_show_alias_to_none,
static __noreturn int modprobe_builtin(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"unix",
@ -115,7 +115,7 @@ static DEFINE_TEST(modprobe_builtin,
static __noreturn int modprobe_softdep_loop(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"bluetooth",
@ -135,7 +135,7 @@ static DEFINE_TEST(modprobe_softdep_loop,
static __noreturn int modprobe_install_cmd_loop(const struct test *t)
{
const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe";
const char *progname = ABS_TOP_BUILDDIR "/tools/test/modprobe";
const char *const args[] = {
progname,
"snd-pcm",
@ -153,7 +153,7 @@ static DEFINE_TEST(modprobe_install_cmd_loop,
[TC_INIT_MODULE_RETCODES] = "",
},
.env_vars = (const struct keyval[]) {
{ "MODPROBE", ABS_TOP_BUILDDIR "/tools/modprobe" },
{ "MODPROBE", ABS_TOP_BUILDDIR "/tools/test/modprobe" },
{ }
},
);

2
tools/.gitignore vendored
View File

@ -7,9 +7,9 @@
/kmod-lsmod
/kmod-modinfo
/kmod-modprobe
/kmod-nolib
/kmod-rmmod
/lsmod
/modinfo
/modprobe
/rmmod
/test