aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorCarlo Lanmdeter <clandmeter@gmail>2009-03-05 14:48:30 +0000
committerCarlo Lanmdeter <clandmeter@gmail>2009-03-05 14:48:30 +0000
commitdf930dbd9fb00c1c381229a2c5ce68d82eaa53eb (patch)
treea90740e8ab2134ad00ecf6ae8b205ec9f7c4990f /core
parent87f8eb8ec3fad06f3d1ab02fc4aa36e4143c3baa (diff)
parent739bdededdec7f411de9223fe440fc8141afe80b (diff)
downloadaports-df930dbd9fb00c1c381229a2c5ce68d82eaa53eb.tar.bz2
aports-df930dbd9fb00c1c381229a2c5ce68d82eaa53eb.tar.xz
Merge commit 'ncopa/master'
Diffstat (limited to 'core')
-rw-r--r--core/alpine-baselayout/APKBUILD8
-rw-r--r--core/apk-tools/APKBUILD5
-rw-r--r--core/automake/APKBUILD6
-rw-r--r--core/busybox/APKBUILD9
-rw-r--r--core/busybox/busybox-1.13.2-depmod2.patch21
-rw-r--r--core/busybox/busybox-1.13.2-modprobe-errormsg.patch20
-rw-r--r--core/busybox/busybox-1.13.2-modprobe-speedup.patch445
-rw-r--r--core/linux-grsec-sources/APKBUILD9
-rw-r--r--core/linux-grsec/APKBUILD4
-rw-r--r--core/linux-grsec/kernelconfig51
-rw-r--r--core/uclibc++/APKBUILD6
-rw-r--r--core/uclibc++/uclibc++-gcc-4.3.patch (renamed from core/uclibc++/uclibc++.patch)42
-rw-r--r--core/uclibc/APKBUILD11
13 files changed, 568 insertions, 69 deletions
diff --git a/core/alpine-baselayout/APKBUILD b/core/alpine-baselayout/APKBUILD
index 81b6966237..1083166b04 100644
--- a/core/alpine-baselayout/APKBUILD
+++ b/core/alpine-baselayout/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-baselayout
-pkgver=2.0_alpha3
-pkgrel=1
+pkgver=2.0_alpha5
+pkgrel=0
pkgdesc="Alpine base dir structure and init scripts"
url=http://git.alpinelinux.org/cgit/alpine-baselayout
depends="uclibc"
@@ -25,7 +25,5 @@ build() {
make
make install PREFIX= DESTDIR="$pkgdir" || return 1
- install -d -m1777 "$pkgdir"/tmp
-
}
-md5sums="2ecfbc1e70c0fdffa70bc9c3339ce01b alpine-baselayout-2.0_alpha3.tar.bz2"
+md5sums="4ecfe2b52e2a3f84d5c689612a4e39cb alpine-baselayout-2.0_alpha5.tar.bz2"
diff --git a/core/apk-tools/APKBUILD b/core/apk-tools/APKBUILD
index dc790fb311..d048a3fb90 100644
--- a/core/apk-tools/APKBUILD
+++ b/core/apk-tools/APKBUILD
@@ -1,5 +1,6 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apk-tools
-pkgver=2.0_pre8
+pkgver=2.0_pre9
pkgrel=0
pkgdesc="Alpine Package Keeper - package manager for alpine"
depends="uclibc"
@@ -21,4 +22,4 @@ build() {
ln -s apk apk_version
}
-md5sums="fb6218940fba9dac3ef241c3f87d0d13 apk-tools-2.0_pre8.tar.bz2"
+md5sums="c694f45bde3f971a67dc0c0e14b9e82a apk-tools-2.0_pre9.tar.bz2"
diff --git a/core/automake/APKBUILD b/core/automake/APKBUILD
index 5ac06c46d0..3c7dca7cc2 100644
--- a/core/automake/APKBUILD
+++ b/core/automake/APKBUILD
@@ -1,12 +1,14 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=automake
pkgver=1.10.1
-pkgrel=0
+pkgrel=1
pkgdesc="A GNU tool for automatically creating Makefiles"
arch=i486
license=GPL
url="http://www.gnu.org/software/automake"
source=ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
-makedepends="autoconf perl"
+depends="perl"
+makedepends="autoconf"
subpackages="$pkgname-doc"
build() {
diff --git a/core/busybox/APKBUILD b/core/busybox/APKBUILD
index e3080b6489..523fdd8828 100644
--- a/core/busybox/APKBUILD
+++ b/core/busybox/APKBUILD
@@ -1,6 +1,7 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox
pkgver=1.13.2
-pkgrel=2
+pkgrel=5
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url=http://busybox.net
license=GPL-2
@@ -12,7 +13,10 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
busybox-1.13.2-init.patch
busybox-1.13.2-mdev.patch
busybox-1.13.2-modprobe.patch
+ busybox-1.13.2-modprobe-errormsg.patch
+ busybox-1.13.2-modprobe-speedup.patch
busybox-1.13.2-tar.patch
+ busybox-1.13.2-depmod2.patch
busyboxconfig"
build() {
@@ -40,5 +44,8 @@ f5a8ae3145aa249868c1a1abc319c228 busybox-1.12.1-vi-path.patch
7afb3a1b474742bc198b3c8450ab9a7e busybox-1.13.2-init.patch
a72d169e9545e26257032e0e367feb95 busybox-1.13.2-mdev.patch
6eeb6efcd71e57082d6654a9a6a368eb busybox-1.13.2-modprobe.patch
+a743ec04f378b8456a725c7270b0be8b busybox-1.13.2-modprobe-errormsg.patch
+2120bc7d9fb4dcbbb94664c9fefa4c8a busybox-1.13.2-modprobe-speedup.patch
90d093817855bc63ad16fbb8524f80df busybox-1.13.2-tar.patch
+3c43008545e069749d2d653532e1feb3 busybox-1.13.2-depmod2.patch
7da47c98607834ca9c47a22bf3fe4b6e busyboxconfig"
diff --git a/core/busybox/busybox-1.13.2-depmod2.patch b/core/busybox/busybox-1.13.2-depmod2.patch
new file mode 100644
index 0000000000..8261fc8890
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-depmod2.patch
@@ -0,0 +1,21 @@
+--- busybox-1.13.2/modutils/depmod.c.orig 2009-02-25 11:54:02.000000000 +0000
++++ busybox-1.13.2/modutils/depmod.c 2009-02-25 11:57:33.000000000 +0000
+@@ -36,7 +36,8 @@
+ ARG_b = (1<<2), /* base directory when modules are in staging area */
+ ARG_e = (1<<3), /* with -F, print unresolved symbols */
+ ARG_F = (1<<4), /* System.map that contains the symbols */
+- ARG_n = (1<<5) /* dry-run, print to stdout only */
++ ARG_n = (1<<5), /* dry-run, print to stdout only */
++ ARG_r = (1<<6) /* Compat dummy. Linux Makefile uses it */
+ };
+
+ static int FAST_FUNC parse_module(const char *fname, struct stat *sb,
+@@ -138,7 +139,7 @@
+ struct utsname uts;
+ int tmp;
+
+- getopt32(argv, "aAb:eF:n", &moddir_base, NULL);
++ getopt32(argv, "aAb:eF:nr", &moddir_base, NULL);
+ argv += optind;
+
+ /* goto modules location */
diff --git a/core/busybox/busybox-1.13.2-modprobe-errormsg.patch b/core/busybox/busybox-1.13.2-modprobe-errormsg.patch
new file mode 100644
index 0000000000..c2a7ee5b95
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-modprobe-errormsg.patch
@@ -0,0 +1,20 @@
+--- busybox-1.13.2/modutils/modprobe.c 2008-11-09 19:28:03.000000000 +0200
++++ busybox/modutils/modprobe.c 2009-02-25 13:19:07.000000000 +0200
+@@ -193,7 +193,7 @@
+ if (ENABLE_FEATURE_CLEAN_UP)
+ RELEASE_CONFIG_BUFFER(modname);
+ if (rc > 0 && !(option_mask32 & INSMOD_OPT_SILENT))
+- bb_error_msg("Failed to %sload module %s: %s.",
++ bb_error_msg("failed to %sload module %s: %s",
+ (option_mask32 & MODPROBE_OPT_REMOVE) ? "un" : "",
+ module, moderror(rc));
+ return rc;
+@@ -270,7 +270,7 @@
+ check_blacklist(conf, conf->probename)) {
+ rc = do_modprobe(conf, conf->probename);
+ if (rc < 0 && !(opt & INSMOD_OPT_SILENT))
+- bb_error_msg("Module %s not found.", arg);
++ bb_error_msg("module %s not found", arg);
+ }
+ } else {
+ /* Probe all aliases */
diff --git a/core/busybox/busybox-1.13.2-modprobe-speedup.patch b/core/busybox/busybox-1.13.2-modprobe-speedup.patch
new file mode 100644
index 0000000000..94a15d4965
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-modprobe-speedup.patch
@@ -0,0 +1,445 @@
+Index: modutils/modutils.c
+===================================================================
+--- a/modutils/modutils.c (revision 25448)
++++ b/modutils/modutils.c (working copy)
+@@ -71,7 +71,7 @@
+ if (modname == NULL)
+ modname = xmalloc(MODULE_NAME_LEN);
+ from = bb_get_last_path_component_nostrip(filename);
+- for (i = 0; i < MODULE_NAME_LEN && from[i] != '\0' && from[i] != '.'; i++)
++ for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
+ modname[i] = (from[i] == '-') ? '_' : from[i];
+ modname[i] = 0;
+
+Index: modutils/modutils.h
+===================================================================
+--- a/modutils/modutils.h (revision 25448)
++++ b/modutils/modutils.h (working copy)
+@@ -15,8 +15,9 @@
+ # pragma GCC visibility push(hidden)
+ #endif
+
+-/* As defined in linux/include/linux/module.h */
+-#define MODULE_NAME_LEN 64
++/* linux/include/linux/module.h has 64, but this is also used
++ * internally for the maximum alias name length, which can be quite long */
++#define MODULE_NAME_LEN 256
+
+ const char *moderror(int err) FAST_FUNC;
+ llist_t *llist_find(llist_t *first, const char *str) FAST_FUNC;
+Index: modutils/modprobe.c
+===================================================================
+--- a/modutils/modprobe.c (revision 25448)
++++ b/modutils/modprobe.c (working copy)
+@@ -13,23 +13,26 @@
+ #include <sys/utsname.h>
+ #include <fnmatch.h>
+
+-struct modprobe_option {
++#define MODULE_FLAG_LOADED 0x0001
++#define MODULE_FLAG_NEED_DEPS 0x0002
++#define MODULE_FLAG_EXISTS 0x0004
++#define MODULE_FLAG_BLACKLISTED 0x0008
++
++struct module_entry {
+ char *module;
+- char *option;
++ const char *probe;
++ unsigned int flags;
++ llist_t *aliases;
++ llist_t *options;
++ llist_t *deps;
+ };
+
+ struct modprobe_conf {
+- char probename[MODULE_NAME_LEN];
++ llist_t *db;
++ llist_t *probes;
+ llist_t *options;
+- llist_t *aliases;
+-#if ENABLE_FEATURE_MODPROBE_BLACKLIST
+-#define add_to_blacklist(conf, name) llist_add_to(&conf->blacklist, name)
+-#define check_blacklist(conf, name) (llist_find(conf->blacklist, name) == NULL)
+- llist_t *blacklist;
+-#else
+-#define add_to_blacklist(conf, name) do {} while (0)
+-#define check_blacklist(conf, name) (1)
+-#endif
++ int num_deps;
++ int num_symbols;
+ };
+
+ #define MODPROBE_OPTS "acdlnrt:VC:" USE_FEATURE_MODPROBE_BLACKLIST("b")
+@@ -46,21 +49,55 @@
+ MODPROBE_OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 9) * ENABLE_FEATURE_MODPROBE_BLACKLIST,
+ };
+
+-static llist_t *loaded;
+-
+ static int read_config(struct modprobe_conf *conf, const char *path);
+
+-static void add_option(llist_t **all_opts, const char *module, const char *opts)
++static struct module_entry *_get_module(struct modprobe_conf *conf,
++ const char *module, int create)
+ {
+- struct modprobe_option *o;
++ char modname[MODULE_NAME_LEN];
++ struct module_entry *e;
++ llist_t *l;
+
+- o = xzalloc(sizeof(struct modprobe_option));
+- if (module)
+- o->module = filename2modname(module, NULL);
+- o->option = xstrdup(opts);
+- llist_add_to(all_opts, o);
++ filename2modname(module, modname);
++ for (l = conf->db; l != NULL; l = l->link) {
++ e = (struct module_entry *) l->data;
++ if (strcmp(e->module, modname) == 0)
++ return e;
++ }
++ if (!create)
++ return NULL;
++
++ e = xzalloc(sizeof(*e));
++ e->module = xstrdup(modname);
++ llist_add_to(&conf->db, e);
++
++ return e;
+ }
+
++static struct module_entry *get_module(struct modprobe_conf *conf,
++ const char *module)
++{
++ return _get_module(conf, module, 1);
++}
++
++static struct module_entry *add_probe(struct modprobe_conf *conf,
++ const char *name)
++{
++ struct module_entry *m;
++
++ m = get_module(conf, name);
++ m->probe = name;
++ m->flags |= MODULE_FLAG_NEED_DEPS;
++ llist_add_to(&conf->probes, m);
++
++ conf->num_deps++;
++ if (ENABLE_FEATURE_MODUTILS_SYMBOLS &&
++ strncmp(m->module, "symbol:", 7) == 0)
++ conf->num_symbols++;;
++
++ return m;
++}
++
+ static int FAST_FUNC config_file_action(const char *filename,
+ struct stat *statbuf UNUSED_PARAM,
+ void *userdata,
+@@ -68,8 +105,10 @@
+ {
+ struct modprobe_conf *conf = (struct modprobe_conf *) userdata;
+ RESERVE_CONFIG_BUFFER(modname, MODULE_NAME_LEN);
+- char *tokens[3];
++ char *tokens[3], *rmod;
+ parser_t *p;
++ llist_t *l;
++ struct module_entry *m;
+ int rc = TRUE;
+
+ if (bb_basename(filename)[0] == '.')
+@@ -84,18 +123,36 @@
+ while (config_read(p, tokens, 3, 2, "# \t", PARSE_NORMAL)) {
+ if (strcmp(tokens[0], "alias") == 0) {
+ filename2modname(tokens[1], modname);
+- if (tokens[2] &&
+- fnmatch(modname, conf->probename, 0) == 0)
+- llist_add_to(&conf->aliases,
+- filename2modname(tokens[2], NULL));
++ if (tokens[2] == NULL)
++ continue;
++
++ for (l = conf->probes; l != NULL; l = l->link) {
++ m = (struct module_entry *) l->data;
++ if (fnmatch(modname, m->module, 0) != 0)
++ continue;
++ rmod = filename2modname(tokens[2], NULL);
++ llist_add_to(&m->aliases, rmod);
++
++ if (m->flags & MODULE_FLAG_NEED_DEPS) {
++ m->flags &= ~MODULE_FLAG_NEED_DEPS;
++ conf->num_deps--;
++ }
++
++ m = get_module(conf, rmod);
++ m->flags |= MODULE_FLAG_NEED_DEPS;
++ conf->num_deps++;
++ }
+ } else if (strcmp(tokens[0], "options") == 0) {
+- if (tokens[2])
+- add_option(&conf->options, tokens[1], tokens[2]);
++ if (tokens[2] == NULL)
++ continue;
++ m = get_module(conf, tokens[1]);
++ llist_add_to(&m->options, xstrdup(tokens[2]));
+ } else if (strcmp(tokens[0], "include") == 0) {
+ read_config(conf, tokens[1]);
+ } else if (ENABLE_FEATURE_MODPROBE_BLACKLIST &&
+ strcmp(tokens[0], "blacklist") == 0) {
+- add_to_blacklist(conf, xstrdup(tokens[1]));
++ get_module(conf, tokens[1])->flags
++ |= MODULE_FLAG_BLACKLISTED;
+ }
+ }
+ config_close(p);
+@@ -111,74 +168,48 @@
+ config_file_action, NULL, conf, 1);
+ }
+
+-static char *gather_options(llist_t *first, const char *module, int usecmdline)
++static char *gather_options(char *opts, llist_t *o)
+ {
+- struct modprobe_option *opt;
+- llist_t *n;
+- char *opts = xstrdup("");
+- int optlen = 0;
++ int optlen;
+
+- for (n = first; n != NULL; n = n->link) {
+- opt = (struct modprobe_option *) n->data;
++ if (opts == NULL)
++ opts = xstrdup("");
++ optlen = strlen(opts);
+
+- if (opt->module == NULL && !usecmdline)
+- continue;
+- if (opt->module != NULL && strcmp(opt->module, module) != 0)
+- continue;
+-
+- opts = xrealloc(opts, optlen + strlen(opt->option) + 2);
+- optlen += sprintf(opts + optlen, "%s ", opt->option);
++ for (; o != NULL; o = o->link) {
++ opts = xrealloc(opts, optlen + strlen(o->data) + 2);
++ optlen += sprintf(opts + optlen, "%s ", o->data);
+ }
+ return opts;
+ }
+
+-static int do_modprobe(struct modprobe_conf *conf, const char *module)
++static int do_modprobe(struct modprobe_conf *conf, struct module_entry *m)
+ {
+- RESERVE_CONFIG_BUFFER(modname, MODULE_NAME_LEN);
+- llist_t *deps = NULL;
+- char *fn, *options, *colon = NULL, *tokens[2];
+- parser_t *p;
++ struct module_entry *m2;
++ char *fn, *options;
+ int rc = -1;
+
+- p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, fopen_for_read);
+- if (p == NULL)
+- goto error;
++ if (!(m->flags & MODULE_FLAG_EXISTS))
++ return -ENOENT;
+
+- while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
+- colon = last_char_is(tokens[0], ':');
+- if (colon == NULL)
+- continue;
+-
+- filename2modname(tokens[0], modname);
+- if (strcmp(modname, module) == 0)
+- break;
+-
+- colon = NULL;
+- }
+- if (colon == NULL)
+- goto error_not_found;
+-
+- colon[0] = '\0';
+- llist_add_to(&deps, xstrdup(tokens[0]));
+- if (tokens[1])
+- string_to_llist(tokens[1], &deps, " ");
+-
+ if (!(option_mask32 & MODPROBE_OPT_REMOVE))
+- deps = llist_rev(deps);
++ m->deps = llist_rev(m->deps);
+
+ rc = 0;
+- while (deps && rc == 0) {
+- fn = llist_pop(&deps);
+- filename2modname(fn, modname);
++ while (m->deps && rc == 0) {
++ fn = llist_pop(&m->deps);
++ m2 = get_module(conf, fn);
+ if (option_mask32 & MODPROBE_OPT_REMOVE) {
+- if (bb_delete_module(modname, O_EXCL) != 0)
++ if (bb_delete_module(m->module, O_EXCL) != 0)
+ rc = errno;
+- } else if (llist_find(loaded, modname) == NULL) {
+- options = gather_options(conf->options, modname,
+- strcmp(modname, module) == 0);
++ } else if (!(m2->flags & MODULE_FLAG_LOADED)) {
++ options = gather_options(NULL, m2->options);
++ if (m == m2)
++ options = gather_options(options,
++ conf->options);
+ rc = bb_init_module(fn, options);
+ if (rc == 0)
+- llist_add_to(&loaded, xstrdup(modname));
++ m2->flags |= MODULE_FLAG_LOADED;
+ if (ENABLE_FEATURE_CLEAN_UP)
+ free(options);
+ }
+@@ -187,25 +218,51 @@
+ free(fn);
+ }
+
+-error_not_found:
+- config_close(p);
+-error:
+- if (ENABLE_FEATURE_CLEAN_UP)
+- RELEASE_CONFIG_BUFFER(modname);
+ if (rc > 0 && !(option_mask32 & INSMOD_OPT_SILENT))
+ bb_error_msg("failed to %sload module %s: %s",
+ (option_mask32 & MODPROBE_OPT_REMOVE) ? "un" : "",
+- module, moderror(rc));
++ m->probe ? m->probe : m->module, moderror(rc));
+ return rc;
+ }
+
++static void load_modules_dep(struct modprobe_conf *conf)
++{
++ struct module_entry *m;
++ char *colon, *tokens[2];
++ parser_t *p;
++
++ p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, xfopen_for_read);
++ while (conf->num_deps &&
++ config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
++ colon = last_char_is(tokens[0], ':');
++ if (colon == NULL)
++ continue;
++ *colon = 0;
++
++ m = _get_module(conf, tokens[0], 0);
++ if (m == NULL)
++ continue;
++
++ m->flags |= MODULE_FLAG_EXISTS;
++ if ((m->flags & MODULE_FLAG_NEED_DEPS) && (m->deps == NULL)) {
++ conf->num_deps--;
++ llist_add_to(&m->deps, xstrdup(tokens[0]));
++ if (tokens[1])
++ string_to_llist(tokens[1],
++ &m->deps, " ");
++ }
++ }
++ config_close(p);
++}
++
+ int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int modprobe_main(int argc UNUSED_PARAM, char **argv)
+ {
+ struct utsname uts;
+ int rc;
+ unsigned opt;
+- llist_t *options = NULL;
++ struct modprobe_conf conf;
++ struct module_entry *m, *m2;
+
+ opt_complementary = "q-v:v-q";
+ opt = getopt32(argv, INSMOD_OPTS MODPROBE_OPTS INSMOD_ARGS,
+@@ -228,11 +285,17 @@
+ }
+ return EXIT_SUCCESS;
+ }
+- if (!(opt & MODPROBE_OPT_INSERT_ALL)) {
+- /* If not -a, we have only one module name,
+- * the rest of parameters are options */
+- add_option(&options, NULL, parse_cmdline_module_options(argv));
+- argv[1] = NULL;
++
++ memset(&conf, 0, sizeof(conf));
++ if (opt & MODPROBE_OPT_INSERT_ALL) {
++ /* Each argument is a module name */
++ for (; *argv != NULL; argv++)
++ add_probe(&conf, *argv);
++ conf.probes = llist_rev(conf.probes);
++ } else {
++ /* First argument is module name, rest are parameters */
++ m = add_probe(&conf, argv[0]);
++ llist_add_to(&conf.options, parse_cmdline_module_options(argv));
+ }
+
+ /* cache modules */
+@@ -240,49 +303,42 @@
+ char *s;
+ parser_t *parser = config_open2("/proc/modules", fopen_for_read);
+ while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL & ~PARSE_GREEDY))
+- llist_add_to(&loaded, xstrdup(s));
++ get_module(&conf, s)->flags |= MODULE_FLAG_LOADED;
+ config_close(parser);
+ }
+
+- while (*argv) {
+- const char *arg = *argv;
+- struct modprobe_conf *conf;
++ read_config(&conf, "/etc/modprobe.conf");
++ read_config(&conf, "/etc/modprobe.d");
++ if (ENABLE_FEATURE_MODUTILS_SYMBOLS && conf.num_symbols)
++ read_config(&conf, "modules.symbols");
++ load_modules_dep(&conf);
++ if (ENABLE_FEATURE_MODUTILS_ALIAS && conf.num_deps) {
++ read_config(&conf, "modules.alias");
++ load_modules_dep(&conf);
++ }
+
+- conf = xzalloc(sizeof(*conf));
+- conf->options = options;
+- filename2modname(arg, conf->probename);
+- read_config(conf, "/etc/modprobe.conf");
+- read_config(conf, "/etc/modprobe.d");
+- if (ENABLE_FEATURE_MODUTILS_SYMBOLS
+- && conf->aliases == NULL
+- && strncmp(arg, "symbol:", 7) == 0
+- ) {
+- read_config(conf, "modules.symbols");
+- }
+-
+- if (ENABLE_FEATURE_MODUTILS_ALIAS && conf->aliases == NULL)
+- read_config(conf, "modules.alias");
+-
+- if (conf->aliases == NULL) {
++ while ((m = llist_pop(&conf.probes)) != NULL) {
++ if (m->aliases == NULL) {
+ /* Try if module by literal name is found; literal
+ * names are blacklist only if '-b' is given. */
+ if (!(opt & MODPROBE_OPT_BLACKLIST) ||
+- check_blacklist(conf, conf->probename)) {
+- rc = do_modprobe(conf, conf->probename);
++ !(m->flags & MODULE_FLAG_BLACKLISTED)) {
++ rc = do_modprobe(&conf, m);
+ if (rc < 0 && !(opt & INSMOD_OPT_SILENT))
+- bb_error_msg("module %s not found", arg);
++ bb_error_msg("module %s not found",
++ m->probe);
+ }
+ } else {
+ /* Probe all aliases */
+- while (conf->aliases != NULL) {
+- char *realname = llist_pop(&conf->aliases);
+- if (check_blacklist(conf, realname))
+- do_modprobe(conf, realname);
++ while (m->aliases != NULL) {
++ char *realname = llist_pop(&m->aliases);
++ m2 = get_module(&conf, realname);
++ if (!(m2->flags & MODULE_FLAG_BLACKLISTED))
++ do_modprobe(&conf, m2);
+ if (ENABLE_FEATURE_CLEAN_UP)
+ free(realname);
+ }
+ }
+- argv++;
+ }
+
+ return EXIT_SUCCESS;
diff --git a/core/linux-grsec-sources/APKBUILD b/core/linux-grsec-sources/APKBUILD
index b91bbf8e1b..7c408914ef 100644
--- a/core/linux-grsec-sources/APKBUILD
+++ b/core/linux-grsec-sources/APKBUILD
@@ -1,10 +1,11 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_suff=grsec
pkgname=linux-$_suff-sources
-pkgver=2.6.28.5
+pkgver=2.6.28.7
pkgdesc="Linux kernel sources with grsecurity patch"
_kernver=2.6.28
-_grsecver=2.1.12-$_kernver.5-200902121552
+_grsecver=2.1.13-$_kernver.7-200902232153
+
pkgrel=2
options="!strip"
license=GPL-2
@@ -33,7 +34,7 @@ build() {
}
md5sums="d351e44709c9810b85e29b877f50968a linux-2.6.28.tar.bz2
-7a062fcdec46cec78c3fedbf558e334b patch-2.6.28.5.bz2
-0ff9cf5f9c43797d30a0c90feea94e1e grsecurity-2.1.12-2.6.28.5-200902121552.patch
+346c912ebaffcf84361859014009be50 patch-2.6.28.7.bz2
+02cfd67a85d5050c3b8340c2a67b5678 grsecurity-2.1.13-2.6.28.7-200902232153.patch
7673b4521283ad41434a18ca18b16ad8 0001-linux-2.6.28.5-ipgre-strict-binding.patch
8f405c738b150c532c46eaad5390cca2 0002-linux-2.6.28.5-ipgre-optimize-hash-lookup.patch"
diff --git a/core/linux-grsec/APKBUILD b/core/linux-grsec/APKBUILD
index 678bf97364..74c41c0743 100644
--- a/core/linux-grsec/APKBUILD
+++ b/core/linux-grsec/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=linux-grsec
-pkgver=2.6.28.5
+pkgver=2.6.28.7
pkgrel=0
pkgdesc="Linux kernel with grsecurity"
url=http://grsecurity.net
@@ -31,4 +31,4 @@ dev() {
"$subpkgdir"/usr/share/$pkgname/config
}
-md5sums="ce38feed44b24776e7befb92eedbe959 kernelconfig"
+md5sums="5968f907498fd8f2b66ed6ffd7cac6ea kernelconfig"
diff --git a/core/linux-grsec/kernelconfig b/core/linux-grsec/kernelconfig
index 86590b0c2a..efbfe1dadd 100644
--- a/core/linux-grsec/kernelconfig
+++ b/core/linux-grsec/kernelconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28.5
-# Mon Feb 16 16:14:16 2009
+# Linux kernel version: 2.6.28.7
+# Tue Mar 3 05:58:24 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -65,7 +65,8 @@ CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=m
@@ -247,8 +248,8 @@ CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
@@ -256,7 +257,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_X86_PAE is not set
+CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
@@ -277,6 +278,7 @@ CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_MMU_NOTIFIER=y
+# CONFIG_HIGHPTE is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MATH_EMULATION=y
@@ -294,11 +296,13 @@ CONFIG_HZ_300=y
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
@@ -439,8 +443,9 @@ CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=m
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_FAKE=m
-# CONFIG_HOTPLUG_PCI_COMPAQ is not set
-# CONFIG_HOTPLUG_PCI_IBM is not set
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
@@ -1258,7 +1263,7 @@ CONFIG_IDE_GENERIC=m
CONFIG_BLK_DEV_PLATFORM=m
CONFIG_BLK_DEV_CMD640=m
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_IDEPNP is not set
+CONFIG_BLK_DEV_IDEPNP=m
CONFIG_BLK_DEV_IDEDMA_SFF=y
#
@@ -1303,7 +1308,7 @@ CONFIG_BLK_DEV_TC86C001=m
#
# Note: most of these also require special kernel boot parameters
#
-# CONFIG_BLK_DEV_4DRIVES is not set
+CONFIG_BLK_DEV_4DRIVES=m
CONFIG_BLK_DEV_ALI14XX=m
CONFIG_BLK_DEV_DTC2278=m
CONFIG_BLK_DEV_HT6560B=m
@@ -1351,7 +1356,7 @@ CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
-# CONFIG_SCSI_SAS_ATA is not set
+CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
CONFIG_SCSI_SRP_ATTRS=m
@@ -3430,6 +3435,7 @@ CONFIG_USB_HWA_HCD=m
#
# Enable Host or Gadget support to see Inventra options
#
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
#
# USB Device Class drivers
@@ -3552,6 +3558,28 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
# CONFIG_USB_GADGET is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -3578,7 +3606,6 @@ CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
diff --git a/core/uclibc++/APKBUILD b/core/uclibc++/APKBUILD
index b0769d37fc..98f2d11388 100644
--- a/core/uclibc++/APKBUILD
+++ b/core/uclibc++/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=uclibc++
pkgver=0.2.2
-pkgrel=2
+pkgrel=3
pkgdesc="Embedded C++ library"
url="http://cxx.uclibc.org/"
license='GPL-2'
@@ -10,7 +10,7 @@ makedepends="g++"
subpackages="$pkgname-dev"
source="http://cxx.uclibc.org/src/uClibc++-$pkgver.tar.bz2
associative_base.patch
- uclibc++.patch
+ uclibc++-gcc-4.3.patch
uclibc++config
"
@@ -43,5 +43,5 @@ dev() {
md5sums="1ceef3209cca88be8f1bd9de99735954 uClibc++-0.2.2.tar.bz2
5689baa3f3bf8488c0a5d27a690d30fa associative_base.patch
-230125c74591ac9afb30fa5ea6efffb8 uclibc++.patch
+4c7b499e4697225378acef25f6364e9b uclibc++-gcc-4.3.patch
2f573c1e2a0c7a320ea4685cc3ce9e2a uclibc++config"
diff --git a/core/uclibc++/uclibc++.patch b/core/uclibc++/uclibc++-gcc-4.3.patch
index 402f25d5b7..37d45a5d5a 100644
--- a/core/uclibc++/uclibc++.patch
+++ b/core/uclibc++/uclibc++-gcc-4.3.patch
@@ -1,14 +1,6 @@
---- a/include/associative_base Sun Jun 3 22:51:12 2007
-+++ b/include/associative_base Sun Jan 11 21:50:05 2009
-@@ -74,7 +74,7 @@
- typedef typename std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-
-- explicit __base_associative(const Compare& comp, const Allocator& A, const key_type (*v_to_k)(const value_type))
-+ explicit __base_associative(const Compare& comp, const Allocator& A, key_type (*v_to_k)(const value_type))
- : c(comp), value_to_key(v_to_k) { }
- protected:
- __base_associative(const associative_type& x)
+diff -ru uClibc++-0.2.2.orig/include/associative_base uClibc++-0.2.2/include/associative_base
+--- uClibc++-0.2.2.orig/include/associative_base 2009-03-03 14:03:40.000000000 +0000
++++ uClibc++-0.2.2/include/associative_base 2009-03-03 14:03:52.000000000 +0000
@@ -318,7 +318,7 @@
typedef std::list<ValueType> listtype;
@@ -45,26 +37,9 @@
}
typename listtype::iterator base_iterator(){
return base_iter;
-@@ -498,7 +498,7 @@
- using base::operator==;
- using base::operator!=;
-
-- explicit __single_associative(const Compare& comp, const Allocator& A, const key_type (*v_to_k)(const value_type))
-+ explicit __single_associative(const Compare& comp, const Allocator& A, key_type (*v_to_k)(const value_type))
- : base(comp, A, v_to_k) { }
-
- template <class InputIterator> __single_associative(
-@@ -506,7 +506,7 @@
- InputIterator last,
- const Compare& comp,
- const Allocator& A,
-- const key_type (*v_to_k)(const value_type)
-+ key_type (*v_to_k)(const value_type)
- ) : base(comp, A, v_to_k) {
- insert(first, last);
- }
---- a/include/string Sun Jun 3 22:51:12 2007
-+++ b/include/string Sun Jan 11 21:50:18 2009
+diff -ru uClibc++-0.2.2.orig/include/string uClibc++-0.2.2/include/string
+--- uClibc++-0.2.2.orig/include/string 2009-03-03 14:03:40.000000000 +0000
++++ uClibc++-0.2.2/include/string 2009-03-03 14:03:52.000000000 +0000
@@ -1017,11 +1017,11 @@
template <> _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
@@ -79,8 +54,9 @@
template <> _UCXXEXPORT string operator+(const string & lhs, const char* rhs);
template <> _UCXXEXPORT string operator+(const char* lhs, const string & rhs);
---- a/src/string.cpp Sun Jun 3 22:51:13 2007
-+++ b/src/string.cpp Sun Jan 11 21:50:33 2009
+diff -ru uClibc++-0.2.2.orig/src/string.cpp uClibc++-0.2.2/src/string.cpp
+--- uClibc++-0.2.2.orig/src/string.cpp 2009-03-03 14:03:41.000000000 +0000
++++ uClibc++-0.2.2/src/string.cpp 2009-03-03 14:03:52.000000000 +0000
@@ -76,11 +76,11 @@
template _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
diff --git a/core/uclibc/APKBUILD b/core/uclibc/APKBUILD
index 2e592987a9..0143dabff8 100644
--- a/core/uclibc/APKBUILD
+++ b/core/uclibc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=uclibc
pkgver=0.9.30
-pkgrel=4
+pkgrel=5
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -18,7 +18,7 @@ source="http://uclibc.org/downloads/$_mynamever.tar.bz2
_prepare() {
local i gcc_major
- cd $srcdir/$_mynamever/
+ cd "$srcdir/$_mynamever/"
# gcc-3.4.6 is buggy and need -fno-omit-framepointer for lipthreads.old
gcc_major=$(gcc --version | head -n1 | awk '{print $3}'|cut -d . -f1)
@@ -30,15 +30,16 @@ _prepare() {
}
_compile() {
- cd $srcdir/$_mynamever/
+ cd "$srcdir/$_mynamever/"
cp ../uclibcconfig .config
make silentoldconfig
make || return 1
}
_install() {
- cd $srcdir/$_mynamever/
- make install DESTDIR=$pkgdir
+ cd "$srcdir/$_mynamever/"
+ make install DESTDIR="$pkgdir"
+ install -Dm755 extra/scripts/getent "$pkgdir"/usr/bin/getent
}
build() {