Date: Sunday, February 12, 2012 @ 10:37:14 Author: dreisner Revision: 150107
db-move: moved kmod from [testing] to [core] (i686) Added: kmod/repos/core-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch (from rev 150103, kmod/repos/testing-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch) kmod/repos/core-i686/PKGBUILD (from rev 150103, kmod/repos/testing-i686/PKGBUILD) kmod/repos/core-i686/depmod-search.conf (from rev 150103, kmod/repos/testing-i686/depmod-search.conf) Deleted: kmod/repos/core-i686/0001-partially-fix-parsing-of-alias-with-dots.patch kmod/repos/core-i686/0002-libkmod-module-used-shared-code-in-module-creation.patch kmod/repos/core-i686/0003-modprobe-handle-all-error-returns-from-init_module.patch kmod/repos/core-i686/0004-modprobe-remove-0-refcnt-deps.patch kmod/repos/core-i686/PKGBUILD kmod/repos/core-i686/depmod-search.conf kmod/repos/testing-i686/ -----------------------------------------------------------------+ 0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch | 28 + 0001-partially-fix-parsing-of-alias-with-dots.patch | 34 - 0002-libkmod-module-used-shared-code-in-module-creation.patch | 196 ---------- 0003-modprobe-handle-all-error-returns-from-init_module.patch | 34 - 0004-modprobe-remove-0-refcnt-deps.patch | 52 -- PKGBUILD | 126 ++---- depmod-search.conf | 10 7 files changed, 90 insertions(+), 390 deletions(-) Copied: kmod/repos/core-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch (from rev 150103, kmod/repos/testing-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch) =================================================================== --- core-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch (rev 0) +++ core-i686/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch 2012-02-12 15:37:14 UTC (rev 150107) @@ -0,0 +1,28 @@ +From 269de2e0bf5011072da2f40f4f2d4023fad696b9 Mon Sep 17 00:00:00 2001 +From: Lucas De Marchi <lucas.demar...@profusion.mobi> +Date: Tue, 7 Feb 2012 09:48:59 -0200 +Subject: [PATCH] libkmod-module: probe: Fix ignore-loaded flag not being + applied + +--- + TODO | 3 +++ + libkmod/libkmod-module.c | 3 ++- + 2 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c +index 0af3e2e..b5eb7c9 100644 +--- a/libkmod/libkmod-module.c ++++ b/libkmod/libkmod-module.c +@@ -1132,7 +1132,8 @@ KMOD_EXPORT int kmod_module_probe_insert_module(struct kmod_module *mod, + if (mod == NULL) + return -ENOENT; + +- if (module_is_inkernel(mod)) { ++ if (!(flags & KMOD_PROBE_IGNORE_LOADED) ++ && module_is_inkernel(mod)) { + if (flags & KMOD_PROBE_FAIL_ON_LOADED) + return -EEXIST; + else +-- +1.7.9 + Deleted: core-i686/0001-partially-fix-parsing-of-alias-with-dots.patch =================================================================== --- core-i686/0001-partially-fix-parsing-of-alias-with-dots.patch 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/0001-partially-fix-parsing-of-alias-with-dots.patch 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,34 +0,0 @@ -From cdaf4b2f3ef60365c6b8006a63410368a7b38f39 Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Tue, 31 Jan 2012 00:12:32 -0500 -Subject: [PATCH 1/4] partially fix parsing of alias with dots - ---- - libkmod/libkmod-util.c | 4 +--- - 1 files changed, 1 insertions(+), 3 deletions(-) - -diff --git a/libkmod/libkmod-util.c b/libkmod/libkmod-util.c -index 7c2611b..6a9f697 100644 ---- a/libkmod/libkmod-util.c -+++ b/libkmod/libkmod-util.c -@@ -134,8 +134,7 @@ inline int alias_normalize(const char *alias, char buf[PATH_MAX], size_t *len) - case ']': - return -EINVAL; - case '[': -- while (alias[s] != ']' && -- alias[s] != '.' && alias[s] != '\0') -+ while (alias[s] != ']' && alias[s] != '\0') - s++; - - if (alias[s] != ']') -@@ -144,7 +143,6 @@ inline int alias_normalize(const char *alias, char buf[PATH_MAX], size_t *len) - s++; - break; - case '\0': -- case '.': - goto finish; - default: - buf[s] = c; --- -1.7.9 - Deleted: core-i686/0002-libkmod-module-used-shared-code-in-module-creation.patch =================================================================== --- core-i686/0002-libkmod-module-used-shared-code-in-module-creation.patch 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/0002-libkmod-module-used-shared-code-in-module-creation.patch 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,196 +0,0 @@ -From 1d2f64689b2456ade81d6d489c4f5bfb5fdb92fd Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Tue, 31 Jan 2012 00:13:43 -0500 -Subject: [PATCH 2/4] libkmod-module: used shared code in module creation - ---- - libkmod/libkmod-module.c | 135 ++++++++++++++++++++++++++------------------- - 1 files changed, 78 insertions(+), 57 deletions(-) - -diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c -index 47b1709..48e4aa1 100644 ---- a/libkmod/libkmod-module.c -+++ b/libkmod/libkmod-module.c -@@ -162,6 +162,76 @@ fail: - return err; - } - -+/* -+ * Memory layout with alias: -+ * -+ * struct kmod_module { -+ * hashkey -----. -+ * alias -----. | -+ * name ----. | | -+ * } | | | -+ * name <----------' | | -+ * alias <-----------' | -+ * name\alias <--------' -+ * -+ * Memory layout without alias: -+ * -+ * struct kmod_module { -+ * hashkey ---. -+ * alias -----|----> NULL -+ * name ----. | -+ * } | | -+ * name <----------'-' -+ * -+ * @key is "name\alias" or "name" (in which case alias == NULL) -+ */ -+static int kmod_module_new(struct kmod_ctx *ctx, const char *key, -+ const char *name, size_t namelen, -+ const char *alias, size_t aliaslen, -+ struct kmod_module **mod) -+{ -+ struct kmod_module *m; -+ size_t keylen; -+ -+ m = kmod_pool_get_module(ctx, key); -+ if (m != NULL) { -+ *mod = kmod_module_ref(m); -+ return 0; -+ } -+ -+ if (alias == NULL) -+ keylen = namelen; -+ else -+ keylen = namelen + aliaslen + 1; -+ -+ m = malloc(sizeof(*m) + (alias == NULL ? 1 : 2) * (keylen + 1)); -+ if (m == NULL) { -+ free(m); -+ return -ENOMEM; -+ } -+ -+ memset(m, 0, sizeof(*m)); -+ -+ m->ctx = kmod_ref(ctx); -+ m->name = (char *)m + sizeof(*m); -+ memcpy(m->name, key, keylen + 1); -+ if (alias == NULL) { -+ m->hashkey = m->name; -+ m->alias = NULL; -+ } else { -+ m->name[namelen] = '\0'; -+ m->alias = m->name + namelen + 1; -+ m->hashkey = m->name + keylen + 1; -+ memcpy(m->hashkey, key, keylen + 1); -+ } -+ -+ m->refcount = 1; -+ kmod_pool_add_module(ctx, m, m->hashkey); -+ *mod = m; -+ -+ return 0; -+} -+ - /** - * kmod_module_new_from_name: - * @ctx: kmod library context -@@ -188,54 +258,15 @@ KMOD_EXPORT int kmod_module_new_from_name(struct kmod_ctx *ctx, - const char *name, - struct kmod_module **mod) - { -- struct kmod_module *m; - size_t namelen; - char name_norm[PATH_MAX]; -- char *namesep; - - if (ctx == NULL || name == NULL || mod == NULL) - return -ENOENT; - -- if (alias_normalize(name, name_norm, &namelen) < 0) { -- DBG(ctx, "invalid alias: %s\n", name); -- return -EINVAL; -- } -+ modname_normalize(name, name_norm, &namelen); - -- m = kmod_pool_get_module(ctx, name_norm); -- if (m != NULL) { -- *mod = kmod_module_ref(m); -- return 0; -- } -- -- namesep = strchr(name_norm, '/'); -- m = malloc(sizeof(*m) + (namesep == NULL ? 1 : 2) * namelen + 2); -- if (m == NULL) { -- free(m); -- return -ENOMEM; -- } -- -- memset(m, 0, sizeof(*m)); -- -- m->ctx = kmod_ref(ctx); -- m->name = (char *)m + sizeof(*m); -- memcpy(m->name, name_norm, namelen + 1); -- -- if (namesep) { -- size_t len = namesep - name_norm; -- -- m->name[len] = '\0'; -- m->alias = m->name + len + 1; -- m->hashkey = m->name + namelen + 1; -- memcpy(m->hashkey, name_norm, namelen + 1); -- } else { -- m->hashkey = m->name; -- } -- -- m->refcount = 1; -- kmod_pool_add_module(ctx, m, m->hashkey); -- *mod = m; -- -- return 0; -+ return kmod_module_new(ctx, name_norm, name_norm, namelen, NULL, 0, mod); - } - - int kmod_module_new_from_alias(struct kmod_ctx *ctx, const char *alias, -@@ -251,9 +282,9 @@ int kmod_module_new_from_alias(struct kmod_ctx *ctx, const char *alias, - - memcpy(key, name, namelen); - memcpy(key + namelen + 1, alias, aliaslen + 1); -- key[namelen] = '/'; -+ key[namelen] = '\\'; - -- err = kmod_module_new_from_name(ctx, key, mod); -+ err = kmod_module_new(ctx, key, name, namelen, alias, aliaslen, mod); - if (err < 0) - return err; - -@@ -323,7 +354,7 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx, - free(abspath); - else { - ERR(ctx, "kmod_module '%s' already exists with different path: new-path='%s' old-path='%s'\n", -- name, abspath, m->path); -+ name, abspath, m->path); - free(abspath); - return -EEXIST; - } -@@ -332,21 +363,11 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx, - return 0; - } - -- m = malloc(sizeof(*m) + namelen + 1); -- if (m == NULL) -- return -errno; -- -- memset(m, 0, sizeof(*m)); -+ err = kmod_module_new(ctx, name, name, namelen, NULL, 0, &m); -+ if (err < 0) -+ return err; - -- m->ctx = kmod_ref(ctx); -- m->name = (char *)m + sizeof(*m); -- memcpy(m->name, name, namelen + 1); - m->path = abspath; -- m->hashkey = m->name; -- m->refcount = 1; -- -- kmod_pool_add_module(ctx, m, m->hashkey); -- - *mod = m; - - return 0; --- -1.7.9 - Deleted: core-i686/0003-modprobe-handle-all-error-returns-from-init_module.patch =================================================================== --- core-i686/0003-modprobe-handle-all-error-returns-from-init_module.patch 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/0003-modprobe-handle-all-error-returns-from-init_module.patch 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,34 +0,0 @@ -From fdf78d80d298353c29e1fe8c00602669dd9662bb Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Mon, 30 Jan 2012 23:05:26 -0500 -Subject: [PATCH 3/4] modprobe: handle all error returns from init_module - ---- - tools/kmod-modprobe.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c -index 3e51506..c882856 100644 ---- a/tools/kmod-modprobe.c -+++ b/tools/kmod-modprobe.c -@@ -551,6 +551,8 @@ static int insmod_do_insert_module(struct kmod_module *mod, const char *opts) - - err = kmod_module_insert_module(mod, flags, opts); - switch (err) { -+ case 0: -+ break; - case -EEXIST: - /* - * We checked for EEXIST with an earlier call to -@@ -564,7 +566,7 @@ static int insmod_do_insert_module(struct kmod_module *mod, const char *opts) - ERR("Module %s already in kernel.\n", - kmod_module_get_name(mod)); - break; -- case -EPERM: -+ default: - ERR("could not insert '%s': %s\n", kmod_module_get_name(mod), - strerror(-err)); - break; --- -1.7.9 - Deleted: core-i686/0004-modprobe-remove-0-refcnt-deps.patch =================================================================== --- core-i686/0004-modprobe-remove-0-refcnt-deps.patch 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/0004-modprobe-remove-0-refcnt-deps.patch 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,52 +0,0 @@ -From 4e3dd21aff55b5bbaa08b037fc2a5625bfffc0a5 Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Mon, 30 Jan 2012 23:39:30 -0500 -Subject: [PATCH 4/4] modprobe: remove 0 refcnt deps - ---- - tools/kmod-modprobe.c | 15 +++++++++++++-- - 1 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c -index c882856..bd991a5 100644 ---- a/tools/kmod-modprobe.c -+++ b/tools/kmod-modprobe.c -@@ -381,7 +381,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) - static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies) - { - const char *modname = kmod_module_get_name(mod); -- struct kmod_list *pre = NULL, *post = NULL; -+ struct kmod_list *pre = NULL, *post = NULL, *deps, *itr; - const char *cmd = NULL; - int err; - -@@ -422,7 +422,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies) - rmmod_do_deps_list(post, false); - - if (do_dependencies && remove_dependencies) { -- struct kmod_list *deps = kmod_module_get_dependencies(mod); -+ deps = kmod_module_get_dependencies(mod); - - err = rmmod_do_deps_list(deps, true); - if (err < 0) -@@ -451,6 +451,17 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies) - - rmmod_do_deps_list(pre, false); - -+ deps = kmod_module_get_dependencies(mod); -+ if (deps != NULL) { -+ kmod_list_foreach_reverse(itr, deps) { -+ struct kmod_module *dep = kmod_module_get_module(itr); -+ if (kmod_module_get_refcnt(dep) == 0) -+ rmmod_do_remove_module(dep); -+ kmod_module_unref(dep); -+ } -+ kmod_module_unref_list(deps); -+ } -+ - error: - kmod_module_unref_list(pre); - kmod_module_unref_list(post); --- -1.7.9 - Deleted: core-i686/PKGBUILD =================================================================== --- core-i686/PKGBUILD 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/PKGBUILD 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,69 +0,0 @@ -# $Id$ -# Maintainer: Dave Reisner <dreis...@archlinux.org> - -pkgname=kmod -pkgver=4 -pkgrel=2 -pkgdesc="Linux kernel module handling" -arch=('i686' 'x86_64') -url="http://git.profusion.mobi/cgit.cgi/kmod.git" -license=('GPL2') -depends=('glibc' 'zlib') -makedepends=('docbook2x') -options=('!libtool') -provides=('module-init-tools=3.16') -conflicts=('module-init-tools') -replaces=('module-init-tools') -source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz" - 0001-partially-fix-parsing-of-alias-with-dots.patch - 0002-libkmod-module-used-shared-code-in-module-creation.patch - 0003-modprobe-handle-all-error-returns-from-init_module.patch - 0004-modprobe-remove-0-refcnt-deps.patch - "depmod-search.conf") -md5sums=('e14450a066a48accd0af1995b3c0232d' - '5f497ab3466ee1a616b6e6c97b330706' - '23a9257a152862753ce4c4ee7287761a' - '3a57671b0f37b1203b207f35a4442ae3' - '1fe88eee9302104b179124ce6bfc55d2' - '4b8cbcbc54b9029c99fd730e257d4436') - -build() { - cd "$pkgname-$pkgver" - - patch -Np1 <"$srcdir/0001-partially-fix-parsing-of-alias-with-dots.patch" - patch -Np1 <"$srcdir/0002-libkmod-module-used-shared-code-in-module-creation.patch" - patch -Np1 <"$srcdir/0003-modprobe-handle-all-error-returns-from-init_module.patch" - patch -Np1 <"$srcdir/0004-modprobe-remove-0-refcnt-deps.patch" - - ./configure \ - --sysconfdir=/etc \ - --with-rootprefix= \ - --with-zlib - - make -} - -check() { - make -C "$pkgname-$pkgver" check -} - -package() { - make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install - - # binary directories - install -dm755 "$pkgdir"/{,s}bin - - # configuration directories - install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d - - # add symlinks to kmod - ln -s /usr/bin/kmod "$pkgdir/bin/lsmod" - for tool in {ins,rm,dep}mod mod{info,probe}; do - ln -s ../usr/bin/kmod "$pkgdir/sbin/$tool" - done - - # install depmod.d file for search/ dir - install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/lib/depmod.d/search.conf" -} - -# vim: ft=sh syn=sh et Copied: kmod/repos/core-i686/PKGBUILD (from rev 150103, kmod/repos/testing-i686/PKGBUILD) =================================================================== --- core-i686/PKGBUILD (rev 0) +++ core-i686/PKGBUILD 2012-02-12 15:37:14 UTC (rev 150107) @@ -0,0 +1,57 @@ +# $Id$ +# Maintainer: Dave Reisner <dreis...@archlinux.org> + +pkgname=kmod +pkgver=5 +pkgrel=2 +pkgdesc="Linux kernel module handling" +arch=('i686' 'x86_64') +url="http://git.profusion.mobi/cgit.cgi/kmod.git" +license=('GPL2') +depends=('glibc' 'zlib') +options=('!libtool') +provides=('module-init-tools=3.16') +conflicts=('module-init-tools') +replaces=('module-init-tools') +source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz" + '0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch' + "depmod-search.conf") +md5sums=('b271c2ec54aba1c67bda63c8579d8c15' + '81545a1509b43008f85c03fb980f0e86' + '4b8cbcbc54b9029c99fd730e257d4436') + +build() { + cd "$pkgname-$pkgver" + + # fix modprobe --show-depends failures on loaded modules + patch -Np1 <"$srcdir/0001-libkmod-module-probe-Fix-ignore-loaded-flag-not-bein.patch" + + CFLAGS+=' -g -O0' ./configure \ + --sysconfdir=/etc \ + --with-rootprefix= \ + --with-zlib + + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # extra directories + install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d "$pkgdir/sbin" + + # add symlinks to kmod + ln -s ../usr/bin/kmod "$pkgdir/sbin/modprobe" + for tool in {dep,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/lib/depmod.d/search.conf" +} + +# vim: ft=sh syn=sh et Deleted: core-i686/depmod-search.conf =================================================================== --- core-i686/depmod-search.conf 2012-02-12 15:37:12 UTC (rev 150106) +++ core-i686/depmod-search.conf 2012-02-12 15:37:14 UTC (rev 150107) @@ -1,5 +0,0 @@ -# -# /etc/depmod.d/depmod.conf -# - -search updates extramodules built-in Copied: kmod/repos/core-i686/depmod-search.conf (from rev 150103, kmod/repos/testing-i686/depmod-search.conf) =================================================================== --- core-i686/depmod-search.conf (rev 0) +++ core-i686/depmod-search.conf 2012-02-12 15:37:14 UTC (rev 150107) @@ -0,0 +1,5 @@ +# +# /etc/depmod.d/depmod.conf +# + +search updates extramodules built-in