summaryrefslogtreecommitdiffstats
path: root/abs/core/module-init-tools
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/module-init-tools')
-rw-r--r--abs/core/module-init-tools/PKGBUILD33
-rw-r--r--abs/core/module-init-tools/fix-modprobe-ignore-path.patch14
-rw-r--r--abs/core/module-init-tools/makefile.patch22
-rw-r--r--abs/core/module-init-tools/modprobe.conf3
-rw-r--r--abs/core/module-init-tools/modutils-gcc4.patch280
5 files changed, 352 insertions, 0 deletions
diff --git a/abs/core/module-init-tools/PKGBUILD b/abs/core/module-init-tools/PKGBUILD
new file mode 100644
index 0000000..b4260d1
--- /dev/null
+++ b/abs/core/module-init-tools/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 5982 2008-07-22 12:44:28Z thomas $
+# Maintainer: judd <jvinet@zeroflux.org>
+pkgname=module-init-tools
+pkgver=3.4
+pkgrel=10
+pkgdesc="Utilities for inserting and removing modules from the Linux kernel"
+arch=(i686 x86_64)
+url="http://www.kernel.org"
+license=('GPL')
+groups=('base')
+depends=('glibc')
+backup=('etc/modprobe.conf')
+source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2
+ ftp://sunsite.informatik.rwth-aachen.de/pub/linux/gentoo/distfiles/module-init-tools-$pkgver-manpages.tar.bz2
+ makefile.patch
+ modprobe.conf
+ fix-modprobe-ignore-path.patch)
+md5sums=('db6ac059e80e8dd4389dbe81ee61f3c6'
+ '006678277788b5a0402b171f4a235cd6'
+ '47e14fda7a46668290d11d0444d81826'
+ '6db59d41e04941a790f80c1a4432faef'
+ '335c3f8317f257ddd70b09271b4360bd')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ patch -Np1 -i ../makefile.patch
+ patch -Np0 -i ../fix-modprobe-ignore-path.patch || return 1
+ sed -i 's|/usr/bin/install|/bin/install|g' install-with-care
+ ./configure --prefix=/usr --exec-prefix=/
+ make || return 1
+ INSTALL=/bin/install make DESTDIR=$startdir/pkg install || return 1
+ install -D -m644 ../modprobe.conf $startdir/pkg/etc/modprobe.conf
+}
diff --git a/abs/core/module-init-tools/fix-modprobe-ignore-path.patch b/abs/core/module-init-tools/fix-modprobe-ignore-path.patch
new file mode 100644
index 0000000..c562b3f
--- /dev/null
+++ b/abs/core/module-init-tools/fix-modprobe-ignore-path.patch
@@ -0,0 +1,14 @@
+--- modprobe.c~ 2005-12-02 00:42:09.000000000 +0100
++++ modprobe.c 2008-03-12 09:39:14.000000000 +0100
+@@ -1236,9 +1236,8 @@
+
+ /* Try defaults. */
+ for (i = 0; i < ARRAY_SIZE(default_configs); i++) {
+- if (read_config(default_configs[i], name, dump_only, removing,
+- options, commands, aliases, blacklist))
+- return;
++ read_config(default_configs[i], name, dump_only, removing,
++ options, commands, aliases, blacklist);
+ }
+ }
+
diff --git a/abs/core/module-init-tools/makefile.patch b/abs/core/module-init-tools/makefile.patch
new file mode 100644
index 0000000..458b062
--- /dev/null
+++ b/abs/core/module-init-tools/makefile.patch
@@ -0,0 +1,22 @@
+diff -Naur module-init-tools-3.1-orig/Makefile.in module-init-tools-3.1/Makefile.in
+--- module-init-tools-3.1-orig/Makefile.in 2004-11-14 16:59:48.000000000 -0800
++++ module-init-tools-3.1/Makefile.in 2004-11-19 11:09:36.000000000 -0800
+@@ -704,18 +704,8 @@
+
+ # docbook2man writes file itself, doesn't do stdout.
+ %.8: doc/%.sgml
+- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
+- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
+- else \
+- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
+- fi
+
+ %.5: doc/%.sgml
+- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
+- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
+- else \
+- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
+- fi
+
+ # docbook2man creates extra crap files which need cleaning.
+ distclean: killbuildmanpages
diff --git a/abs/core/module-init-tools/modprobe.conf b/abs/core/module-init-tools/modprobe.conf
new file mode 100644
index 0000000..d2fc24b
--- /dev/null
+++ b/abs/core/module-init-tools/modprobe.conf
@@ -0,0 +1,3 @@
+#
+# /etc/modprobe.conf (for v2.6 kernels)
+#
diff --git a/abs/core/module-init-tools/modutils-gcc4.patch b/abs/core/module-init-tools/modutils-gcc4.patch
new file mode 100644
index 0000000..3f90a9b
--- /dev/null
+++ b/abs/core/module-init-tools/modutils-gcc4.patch
@@ -0,0 +1,280 @@
+Fix building with newer gcc versions.
+
+Most changes taken from Debian.
+
+--- obj/obj_ia64.c
++++ obj/obj_ia64.c
+@@ -127,6 +127,7 @@
+ return (*(bundle + 1) >> 23) & 0x1ffffffffff;
+
+ default:
++ ;
+ }
+ return (-1);
+ }
+--- depmod/depmod.c
++++ depmod/depmod.c
+@@ -1133,7 +1133,7 @@
+
+ for (ksym = ksyms; so_far < nksyms; ++so_far, ksym++) {
+ if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0)
+- ((char *)ksym->name) += 8;
++ ksym->name = ((char *)ksym->name) + 8;
+ assert(n_syms < MAX_MAP_SYM);
+ symtab[n_syms++] = addsym((char *)ksym->name, mod, SYM_DEFINED, 0);
+ }
+@@ -1265,7 +1265,7 @@
+ * error. Use the error() routine but do not count
+ * any errors. Remove in 2.5.
+ */
+- int save_errors = errors;
++ int save_errors = error_count;
+ if (!quiet && nberr == 0)
+ error("*** Unresolved symbols in %s",
+ ptmod->name);
+@@ -1274,7 +1274,7 @@
+ nberr++;
+ if (flag_unresolved_error)
+ ret = 1;
+- errors = save_errors;
++ error_count = save_errors;
+ }
+ }
+ verbose("%s\n", ptmod->name + skipchars);
+@@ -1675,6 +1675,6 @@
+ #else
+ int main(int argc, char **argv)
+ {
+- return depmod_main(argc, argv) || errors;
++ return depmod_main(argc, argv) || error_count;
+ }
+ #endif /* defined(COMMON_3264) && defined(ONLY_32) */
+--- genksyms/genksyms.c
++++ genksyms/genksyms.c
+@@ -45,7 +45,7 @@
+ int flag_debug, flag_dump_defs, flag_warnings;
+ int checksum_version = 1, kernel_version = version(2,0,0);
+
+-static int errors;
++static int num_errors;
+ static int nsyms;
+
+ static struct symbol *expansion_trail;
+@@ -458,7 +458,7 @@
+ va_end(args);
+ putc('\n', stderr);
+
+- errors++;
++ num_errors++;
+ }
+ }
+
+@@ -476,7 +476,7 @@
+ va_end(args);
+ putc('\n', stderr);
+
+- errors++;
++ num_errors++;
+ }
+ }
+
+@@ -597,5 +597,5 @@
+ nsyms, HASH_BUCKETS, (double)nsyms / (double)HASH_BUCKETS);
+ }
+
+- return errors != 0;
++ return num_errors != 0;
+ }
+--- include/util.h
++++ include/util.h
+@@ -39,8 +39,8 @@
+ extern int xftw(const char *directory, xftw_func_t);
+
+ /* Error logging */
+-extern int log;
+-extern int errors;
++extern int logging;
++extern int error_count;
+ extern const char *error_file;
+
+ extern int flag_verbose;
+--- insmod/insmod.c
++++ insmod/insmod.c
+@@ -275,7 +275,7 @@
+ if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
+ gplonly_seen = 1;
+ if (gpl)
+- ((char *)s->name) += 8;
++ s->name = ((char *)s->name) + 8;
+ else
+ continue;
+ }
+@@ -1679,7 +1679,7 @@
+ error_file = "insmod";
+
+ /* To handle repeated calls from combined modprobe */
+- errors = optind = 0;
++ error_count = optind = 0;
+
+ /* Process the command line. */
+ while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYNe:o:O:P:R:",
+@@ -2064,7 +2064,7 @@
+ goto out;
+ /**** No symbols or sections to be changed after kallsyms above ***/
+
+- if (errors)
++ if (error_count)
+ goto out;
+
+ /* If we were just checking, we made it. */
+@@ -2123,10 +2123,10 @@
+ test_read.m.read_start = m_addr + sizeof(struct module);
+ test_read.m.read_end = test_read.m.read_start + sizeof(test_read.data);
+ if (sys_init_module(m_name, (struct module *) &test_read)) {
+- int old_errors = errors;
++ int old_errors = error_count;
+ error("has persistent data but the kernel is too old to support it."
+ " Expect errors during rmmod as well");
+- errors = old_errors;
++ error_count = old_errors;
+ }
+ }
+
+@@ -2152,7 +2152,7 @@
+ #else
+ init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
+ #endif
+- if (errors) {
++ if (error_count) {
+ if (!noload)
+ delete_module(m_name);
+ goto out;
+--- insmod/kallsyms.c
++++ insmod/kallsyms.c
+@@ -80,7 +80,7 @@
+ error_file = "kallsyms";
+
+ /* To handle repeated calls from combined modprobe */
+- errors = optind = 0;
++ error_count = optind = 0;
+
+ /* Process the command line. */
+ while ((c = getopt_long(argc, argv, "Vh",
+--- insmod/modprobe.c
++++ insmod/modprobe.c
+@@ -1023,7 +1023,7 @@
+ if (quiet)
+ my_argv[my_argc++] = "-q";
+
+- if (log)
++ if (logging)
+ my_argv[my_argc++] = "-s";
+
+ if (insmod_opt) {
+--- insmod/rmmod.c
++++ insmod/rmmod.c
+@@ -261,9 +261,9 @@
+ read_parm.m.read_start = mp->sym->value;
+ read_parm.m.read_end = read_parm.m.read_start + datasize;
+ if (sys_init_module(module, (struct module *) &read_parm)) {
+- int old_errors = errors;
++ int old_errors = error_count;
+ error("has persistent data but the kernel is too old to support it.");
+- errors = old_errors;
++ error_count = old_errors;
+ return(0);
+ }
+
+--- util/logger.c
++++ util/logger.c
+@@ -31,10 +31,10 @@
+
+ /*======================================================================*/
+
+-int log;
++int logging;
+ static int silent;
+
+-int errors;
++int error_count;
+ const char *error_file;
+ const char *program_name;
+
+@@ -75,7 +75,7 @@
+
+ if (silent)
+ ;
+- else if (log) {
++ else if (logging) {
+ char buf[2*PATH_MAX];
+ int n;
+
+@@ -100,7 +100,7 @@
+ putc('\n', stderr);
+ }
+
+- errors++;
++ error_count++;
+ }
+
+ void lprintf(const char *fmt,...)
+@@ -108,7 +108,7 @@
+ va_list args;
+
+ if (silent);
+- else if (log) {
++ else if (logging) {
+ char buf[2*PATH_MAX];
+ va_start(args, fmt);
+ vsnprintf(buf, sizeof(buf), fmt, args);
+@@ -132,5 +132,5 @@
+ #ifdef STOREMSG
+ atexit(dumpmsg);
+ #endif
+- log = 1;
++ logging = 1;
+ }
+--- obj/obj_kallsyms.c
++++ obj/obj_kallsyms.c
+@@ -200,8 +200,8 @@
+
+ /* Initial contents, header + one entry per input section. No strings. */
+ osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
+- a_hdr = (struct kallsyms_header *) osec->contents =
+- xmalloc(osec->header.sh_size);
++ osec->contents = xmalloc(osec->header.sh_size);
++ a_hdr = (struct kallsyms_header *) osec->contents;
+ memset(osec->contents, 0, osec->header.sh_size);
+ a_hdr->size = sizeof(*a_hdr);
+ a_hdr->sections = loaded;
+@@ -275,8 +275,8 @@
+ a_hdr->symbol_off +
+ a_hdr->symbols*a_hdr->symbol_size +
+ strings_size - strings_left;
+- a_hdr = (struct kallsyms_header *) osec->contents =
+- xrealloc(a_hdr, a_hdr->total_size);
++ osec->contents = xrealloc(a_hdr, a_hdr->total_size);
++ a_hdr = (struct kallsyms_header *) osec->contents;
+ p = (char *)a_hdr + a_hdr->symbol_off;
+ memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
+ free(symbols);
+--- obj/obj_ppc.c
++++ obj/obj_ppc.c
+@@ -25,6 +25,7 @@
+ #include <obj.h>
+ #include <util.h>
+ #include <assert.h>
++#include <stdlib.h>
+
+
+ /*======================================================================*/
+@@ -255,7 +256,8 @@
+ archdata_sec->header.sh_size = 0;
+ sec = obj_find_section(f, "__ftr_fixup");
+ if (sec) {
+- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
++ archdata_sec->contents = xmalloc(sizeof(*ad));
++ ad = (struct archdata *) (archdata_sec->contents);
+ memset(ad, 0, sizeof(*ad));
+ archdata_sec->header.sh_size = sizeof(*ad);
+ ad->__start___ftr_fixup = sec->header.sh_addr;