diff options
Diffstat (limited to 'abs/core-testing/module-init-tools')
5 files changed, 352 insertions, 0 deletions
diff --git a/abs/core-testing/module-init-tools/PKGBUILD b/abs/core-testing/module-init-tools/PKGBUILD new file mode 100644 index 0000000..b4260d1 --- /dev/null +++ b/abs/core-testing/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-testing/module-init-tools/fix-modprobe-ignore-path.patch b/abs/core-testing/module-init-tools/fix-modprobe-ignore-path.patch new file mode 100644 index 0000000..c562b3f --- /dev/null +++ b/abs/core-testing/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-testing/module-init-tools/makefile.patch b/abs/core-testing/module-init-tools/makefile.patch new file mode 100644 index 0000000..458b062 --- /dev/null +++ b/abs/core-testing/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-testing/module-init-tools/modprobe.conf b/abs/core-testing/module-init-tools/modprobe.conf new file mode 100644 index 0000000..d2fc24b --- /dev/null +++ b/abs/core-testing/module-init-tools/modprobe.conf @@ -0,0 +1,3 @@ +# +# /etc/modprobe.conf (for v2.6 kernels) +# diff --git a/abs/core-testing/module-init-tools/modutils-gcc4.patch b/abs/core-testing/module-init-tools/modutils-gcc4.patch new file mode 100644 index 0000000..3f90a9b --- /dev/null +++ b/abs/core-testing/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; |