summaryrefslogtreecommitdiff
path: root/testing/kmod
diff options
context:
space:
mode:
Diffstat (limited to 'testing/kmod')
-rw-r--r--testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch165
-rw-r--r--testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch33
-rw-r--r--testing/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch93
-rw-r--r--testing/kmod/PKGBUILD66
-rw-r--r--testing/kmod/depmod-search.conf5
-rw-r--r--testing/kmod/kmod.install9
6 files changed, 0 insertions, 371 deletions
diff --git a/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch b/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch
deleted file mode 100644
index 8c4ecf83c..000000000
--- a/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From 88c247f7f18ac25181ddcaff97fbbecbd3a29f57 Mon Sep 17 00:00:00 2001
-From: Lucas De Marchi <lucas.de.marchi@gmail.com>
-Date: Wed, 3 Oct 2012 16:28:24 -0300
-Subject: [PATCH] depmod: fix parsing of modules.order with compressed modules
-
-We now index the modules by uncompressed-relative-path instead of
-relative-path. This is because the file modules.order, coming from
-kernel, always comes with uncompressed paths. This fixes the issue of
-not sorting the aliases correctly due to paths not matching when using
-compressed modules.
----
- tools/depmod.c | 46 +++++++++++++++++++++++++++++-----------------
- 1 file changed, 29 insertions(+), 17 deletions(-)
-
-diff --git a/tools/depmod.c b/tools/depmod.c
-index 0bf2dea..ff19d6e 100644
---- a/tools/depmod.c
-+++ b/tools/depmod.c
-@@ -39,6 +39,8 @@
- #define DEFAULT_VERBOSE LOG_WARNING
- static int verbose = DEFAULT_VERBOSE;
-
-+#define KMOD_EXT_UNC 0
-+
- static const struct kmod_ext {
- const char *ext;
- size_t len;
-@@ -1001,6 +1003,7 @@ struct mod {
- uint16_t idx; /* index in depmod->modules.array */
- uint16_t users; /* how many modules depend on this one */
- uint8_t dep_loop : 1;
-+ char *uncrelpath; /* same as relpath but ending in .ko */
- char modname[];
- };
-
-@@ -1014,7 +1017,7 @@ struct depmod {
- const struct cfg *cfg;
- struct kmod_ctx *ctx;
- struct array modules;
-- struct hash *modules_by_relpath;
-+ struct hash *modules_by_uncrelpath;
- struct hash *modules_by_name;
- struct hash *symbols;
- unsigned int dep_loops;
-@@ -1025,6 +1028,7 @@ static void mod_free(struct mod *mod)
- DBG("free %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path);
- array_free_array(&mod->deps);
- kmod_module_unref(mod->kmod);
-+ free(mod->uncrelpath);
- free(mod);
- }
-
-@@ -1066,10 +1070,10 @@ static int depmod_init(struct depmod *depmod, struct cfg *cfg,
-
- array_init(&depmod->modules, 128);
-
-- depmod->modules_by_relpath = hash_new(512, NULL);
-- if (depmod->modules_by_relpath == NULL) {
-+ depmod->modules_by_uncrelpath = hash_new(512, NULL);
-+ if (depmod->modules_by_uncrelpath == NULL) {
- err = -errno;
-- goto modules_by_relpath_failed;
-+ goto modules_by_uncrelpath_failed;
- }
-
- depmod->modules_by_name = hash_new(512, NULL);
-@@ -1089,8 +1093,8 @@ static int depmod_init(struct depmod *depmod, struct cfg *cfg,
- symbols_failed:
- hash_free(depmod->modules_by_name);
- modules_by_name_failed:
-- hash_free(depmod->modules_by_relpath);
--modules_by_relpath_failed:
-+ hash_free(depmod->modules_by_uncrelpath);
-+modules_by_uncrelpath_failed:
- return err;
- }
-
-@@ -1100,7 +1104,7 @@ static void depmod_shutdown(struct depmod *depmod)
-
- hash_free(depmod->symbols);
-
-- hash_free(depmod->modules_by_relpath);
-+ hash_free(depmod->modules_by_uncrelpath);
-
- hash_free(depmod->modules_by_name);
-
-@@ -1114,7 +1118,7 @@ static void depmod_shutdown(struct depmod *depmod)
- static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod)
- {
- const struct cfg *cfg = depmod->cfg;
-- const char *modname;
-+ const char *modname, *lastslash;
- size_t modnamelen;
- struct mod *mod;
- int err;
-@@ -1134,7 +1138,8 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod)
- array_init(&mod->deps, 4);
-
- mod->path = kmod_module_get_path(kmod);
-- mod->baselen = strrchr(mod->path, '/') - mod->path;
-+ lastslash = strrchr(mod->path, '/');
-+ mod->baselen = lastslash - mod->path;
- if (strncmp(mod->path, cfg->dirname, cfg->dirnamelen) == 0 &&
- mod->path[cfg->dirnamelen] == '/')
- mod->relpath = mod->path + cfg->dirnamelen + 1;
-@@ -1144,25 +1149,32 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod)
- err = hash_add_unique(depmod->modules_by_name, mod->modname, mod);
- if (err < 0) {
- ERR("hash_add_unique %s: %s\n", mod->modname, strerror(-err));
-- free(mod);
-- return err;
-+ goto fail;
- }
-
- if (mod->relpath != NULL) {
-- err = hash_add_unique(depmod->modules_by_relpath,
-- mod->relpath, mod);
-+ size_t uncrelpathlen = lastslash - mod->relpath + modnamelen
-+ + kmod_exts[KMOD_EXT_UNC].len;
-+ mod->uncrelpath = memdup(mod->relpath, uncrelpathlen + 1);
-+ mod->uncrelpath[uncrelpathlen] = '\0';
-+ err = hash_add_unique(depmod->modules_by_uncrelpath,
-+ mod->uncrelpath, mod);
- if (err < 0) {
- ERR("hash_add_unique %s: %s\n",
- mod->relpath, strerror(-err));
- hash_del(depmod->modules_by_name, mod->modname);
-- free(mod);
-- return err;
-+ goto fail;
- }
- }
-
- DBG("add %p kmod=%p, path=%s\n", mod, kmod, mod->path);
-
- return 0;
-+
-+fail:
-+ free(mod->uncrelpath);
-+ free(mod);
-+ return err;
- }
-
- static int depmod_module_del(struct depmod *depmod, struct mod *mod)
-@@ -1170,7 +1182,7 @@ static int depmod_module_del(struct depmod *depmod, struct mod *mod)
- DBG("del %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path);
-
- if (mod->relpath != NULL)
-- hash_del(depmod->modules_by_relpath, mod->relpath);
-+ hash_del(depmod->modules_by_uncrelpath, mod->relpath);
-
- hash_del(depmod->modules_by_name, mod->modname);
-
-@@ -1472,7 +1484,7 @@ static void depmod_modules_sort(struct depmod *depmod)
- continue;
- line[len - 1] = '\0';
-
-- mod = hash_find(depmod->modules_by_relpath, line);
-+ mod = hash_find(depmod->modules_by_uncrelpath, line);
- if (mod == NULL)
- continue;
- mod->sort_idx = idx - total;
---
-1.7.12.4
-
diff --git a/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch b/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch
deleted file mode 100644
index 4ef3d2775..000000000
--- a/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 66f3228d17d66d7e2dd484427259290fbc82b2f0 Mon Sep 17 00:00:00 2001
-From: Lucas De Marchi <lucas.demarchi@profusion.mobi>
-Date: Mon, 8 Oct 2012 19:04:16 -0300
-Subject: [PATCH] libkmod: Add support for '.' in module parameter on kcmdline
-
-Otherwise we fail to parse arguments in kernel command line like
-testmodule.testparam=1.5G
-
-Suggested-by: Selim T. Erdogan <selim@alumni.cs.utexas.edu>
----
- libkmod/libkmod-config.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
-index 70044f0..398468e 100644
---- a/libkmod/libkmod-config.c
-+++ b/libkmod/libkmod-config.c
-@@ -567,8 +567,10 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config)
- modname = p + 1;
- break;
- case '.':
-- *p = '\0';
-- param = p + 1;
-+ if (param == NULL) {
-+ *p = '\0';
-+ param = p + 1;
-+ }
- break;
- case '=':
- if (param != NULL)
---
-1.7.12.4
-
diff --git a/testing/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch b/testing/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch
deleted file mode 100644
index 8916689f7..000000000
--- a/testing/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 53e7e0e42428770578ca0d54d0a9540f498f917f Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Sat, 31 Mar 2012 12:17:39 +0200
-Subject: [PATCH 2/2] config: hardcode the path to modules to be /lib/modules
-
-This means that we can move the configuration paths from /lib
-to /usr/lib without having to touch the kernel and related
-packages.
-
-That can be dealt with separately at a later location, in which case
-all we have to do is revert this patch.
-
-Signed-off-by: Tom Gundersen <teg@jklm.no>
----
- libkmod/libkmod.c | 2 +-
- tools/depmod.c | 2 +-
- tools/modinfo.c | 4 ++--
- tools/modprobe.c | 4 ++--
- 4 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c
-index 12c1112..11edfa0 100644
---- a/libkmod/libkmod.c
-+++ b/libkmod/libkmod.c
-@@ -196,7 +196,7 @@ static int log_priority(const char *priority)
- return 0;
- }
-
--static const char *dirname_default_prefix = ROOTPREFIX "/lib/modules";
-+static const char *dirname_default_prefix = "/lib/modules";
-
- static char *get_kernel_release(const char *dirname)
- {
-diff --git a/tools/kmod-depmod.c b/tools/kmod-depmod.c
-index 7bb1c5d..454d538 100644
---- a/tools/depmod.c
-+++ b/tools/depmod.c
-@@ -2634,7 +2634,7 @@ static int do_depmod(int argc, char *argv[])
- }
-
- cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX,
-- "%s" ROOTPREFIX "/lib/modules/%s",
-+ "%s/lib/modules/%s",
- root == NULL ? "" : root, cfg.kversion);
-
- if (optind == argc)
-diff --git a/tools/kmod-modinfo.c b/tools/kmod-modinfo.c
-index aa5223f..b13cd4b 100644
---- a/tools/modinfo.c
-+++ b/tools/modinfo.c
-@@ -339,7 +339,7 @@ static void help(const char *progname)
- "\t-0, --null Use \\0 instead of \\n\n"
- "\t-F, --field=FIELD Print only provided FIELD\n"
- "\t-k, --set-version=VERSION Use VERSION instead of `uname -r`\n"
-- "\t-b, --basedir=DIR Use DIR as filesystem root for " ROOTPREFIX "/lib/modules\n"
-+ "\t-b, --basedir=DIR Use DIR as filesystem root for /lib/modules\n"
- "\t-V, --version Show version\n"
- "\t-h, --help Show this help\n",
- progname);
-@@ -439,7 +439,7 @@ static int do_modinfo(int argc, char *argv[])
- }
- kversion = u.release;
- }
-- snprintf(dirname_buf, sizeof(dirname_buf), "%s" ROOTPREFIX "/lib/modules/%s",
-+ snprintf(dirname_buf, sizeof(dirname_buf), "%s/lib/modules/%s",
- root, kversion);
- dirname = dirname_buf;
- }
-diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c
-index 4760682..ccb41d8 100644
---- a/tools/modprobe.c
-+++ b/tools/modprobe.c
-@@ -128,7 +128,7 @@ static void help(const char *progname)
- "\t-n, --show Same as --dry-run\n"
-
- "\t-C, --config=FILE Use FILE instead of default search paths\n"
-- "\t-d, --dirname=DIR Use DIR as filesystem root for " ROOTPREFIX "/lib/modules\n"
-+ "\t-d, --dirname=DIR Use DIR as filesystem root for /lib/modules\n"
- "\t-S, --set-version=VERSION Use VERSION instead of `uname -r`\n"
-
- "\t-s, --syslog print to syslog, not stderr\n"
-@@ -973,7 +973,7 @@ static int do_modprobe(int argc, char **orig_argv)
- kversion = u.release;
- }
- snprintf(dirname_buf, sizeof(dirname_buf),
-- "%s" ROOTPREFIX "/lib/modules/%s", root,
-+ "%s/lib/modules/%s", root,
- kversion);
- dirname = dirname_buf;
- }
---
-1.7.9.5
-
diff --git a/testing/kmod/PKGBUILD b/testing/kmod/PKGBUILD
deleted file mode 100644
index 457b9ad19..000000000
--- a/testing/kmod/PKGBUILD
+++ /dev/null
@@ -1,66 +0,0 @@
-# $Id: PKGBUILD 169420 2012-10-20 19:15:57Z dreisner $
-# Maintainer: Dave Reisner <dreisner@archlinux.org>
-
-pkgname=kmod
-pkgver=10
-pkgrel=2
-pkgdesc="Linux kernel module handling"
-arch=('i686' 'x86_64')
-url='http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary'
-license=('GPL2')
-depends=('glibc' 'zlib')
-makedepends=('gtk-doc')
-options=('!libtool')
-provides=('module-init-tools=3.16')
-conflicts=('module-init-tools')
-replaces=('module-init-tools')
-source=("ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.xz"
- '0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch'
- '0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch'
- "depmod-search.conf")
-md5sums=('e2a883c4df15a50f78a7a61d5b64089f'
- '47005a6e70496d429d40e3fc4fd89755'
- 'ecf5bfd4fd9ed14cf0dc1ce4025d256b'
- 'dd62cbf62bd8f212f51ef8c43bec9a77')
-
-build() {
- cd "$pkgname-$pkgver"
-
- # upstream commit 88c247f7f18ac25181ddcaff97fbbecbd3a29f57
- patch -Np1 < "$srcdir/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch"
-
- # upstream commit 66f3228d17d66d7e2dd484427259290fbc82b2f0
- patch -Np1 < "$srcdir/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch"
-
- ./configure \
- --sysconfdir=/etc \
- --enable-gtk-doc \
- --with-zlib
-
- make
-}
-
-check() {
- # testsuite is broken on 32-bit because of an unhandled EEXIST on mkdir_p
- make -C "$pkgname-$pkgver" check || :
-}
-
-package() {
- make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
-
- # extra directories
- install -dm755 "$pkgdir"/{etc,usr/lib}/{depmod,modprobe}.d "$pkgdir/sbin"
-
- # add symlinks to kmod
- ln -s ../usr/bin/kmod "$pkgdir/sbin/modprobe"
- ln -s ../usr/bin/kmod "$pkgdir/sbin/depmod"
-
- for tool in {ins,ls,rm}mod modinfo; do
- ln -s kmod "$pkgdir/usr/bin/$tool"
- done
-
- # install depmod.d file for search/ dir
- install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/usr/lib/depmod.d/search.conf"
-}
-
-# vim: ft=sh syn=sh et
diff --git a/testing/kmod/depmod-search.conf b/testing/kmod/depmod-search.conf
deleted file mode 100644
index 36f2cf7db..000000000
--- a/testing/kmod/depmod-search.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# /usr/lib/depmod.d/search.conf
-#
-
-search updates extramodules built-in
diff --git a/testing/kmod/kmod.install b/testing/kmod/kmod.install
deleted file mode 100644
index 0a2e88dc5..000000000
--- a/testing/kmod/kmod.install
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-post_upgrade() {
- if [ "$(vercmp 9-2 "$2")" -eq 1 ]; then
- echo "==> Kernel modules are now only read from /usr/lib/modules, all custom"
- echo " built kernels and modules must be moved there before rebooting."
- fi
-}
-