aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-08-04 11:06:46 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-08-04 11:06:46 +0200
commit32d6c84b9fea8841df83c16caff20042c273209f (patch)
tree6c68426188678ee39a865f5e18925ac73877e15f /patches
parentBump util-linux to v2.36 (diff)
downloadgenkernel-32d6c84b9fea8841df83c16caff20042c273209f.tar.gz
genkernel-32d6c84b9fea8841df83c16caff20042c273209f.tar.bz2
genkernel-32d6c84b9fea8841df83c16caff20042c273209f.zip
Bump busybox to v1.32.0
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'patches')
-rw-r--r--patches/busybox/1.31.1/README11
-rw-r--r--patches/busybox/1.31.1/busybox-1.18.1-openvt.diff19
-rw-r--r--patches/busybox/1.31.1/busybox-1.20.2-modprobe.patch26
-rw-r--r--patches/busybox/1.31.1/busybox-1.31.1-glibc-2.31.patch61
-rw-r--r--patches/busybox/1.31.1/busybox-1.7.4-signal-hack.patch28
-rw-r--r--patches/busybox/1.32.0/busybox-1.20.2-modprobe.patch46
-rw-r--r--patches/busybox/1.32.0/busybox-1.30.1-allow-for-genkernel-cross-compile.patch (renamed from patches/busybox/1.31.1/busybox-1.30.1-allow-for-genkernel-cross-compile.patch)0
7 files changed, 46 insertions, 145 deletions
diff --git a/patches/busybox/1.31.1/README b/patches/busybox/1.31.1/README
deleted file mode 100644
index 654c1725..00000000
--- a/patches/busybox/1.31.1/README
+++ /dev/null
@@ -1,11 +0,0 @@
-1.18.1-mdstart.diff:
-This adds a 'mdstart' command to busybox, which is used for the activation of
-individual mdraid arrays. It originated with 1.1.3+gentoo or earlier.
-Patch ported from 1.7.4 to 1.18.1 by Denis Kaganovich.
-
-1.18.1-openvt.diff:
-It is unknown what problem this patch fixes. It may no longer be needed.
-Patch ported from 1.7.4 to 1.18.1 by Denis Kaganovich.
-
-busybox-1.7.4-signal-hack.patch:
-It is unknown what this patch does. It may no longer be needed.
diff --git a/patches/busybox/1.31.1/busybox-1.18.1-openvt.diff b/patches/busybox/1.31.1/busybox-1.18.1-openvt.diff
deleted file mode 100644
index b8a9f8ac..00000000
--- a/patches/busybox/1.31.1/busybox-1.18.1-openvt.diff
+++ /dev/null
@@ -1,19 +0,0 @@
-Based on:
-
-> Allow a slightly wider range of valid vt numbers. Forward-ported from Gentoo
-> Busybox 1.1.3.
-
-> The previous spin of this patch on 1.1.3 had a 'wait(NULL);' right before
-> return EXIT_SUCCESS. I don't think it's needed anymore, so I left it out.
-
---- a/console-tools/openvt.c 2010-11-22 22:24:58.000000000 +0200
-+++ b/console-tools/openvt.c 2010-11-29 15:32:18.000000000 +0200
-@@ -124,7 +124,7 @@ int openvt_main(int argc UNUSED_PARAM, c
-
- if (flags & OPT_c) {
- /* Check for illegal vt number: < 1 or > 63 */
-- vtno = xatou_range(str_c, 1, 63);
-+ vtno = xatou_range(str_c, 0, 63);
- } else {
- vtno = find_free_vtno();
- }
diff --git a/patches/busybox/1.31.1/busybox-1.20.2-modprobe.patch b/patches/busybox/1.31.1/busybox-1.20.2-modprobe.patch
deleted file mode 100644
index 491eb056..00000000
--- a/patches/busybox/1.31.1/busybox-1.20.2-modprobe.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/modutils/modprobe.c b/modutils/modprobe.c
-index fb6c659..11fa521 100644
---- a/modutils/modprobe.c
-+++ b/modutils/modprobe.c
-@@ -413,7 +413,7 @@ static int do_modprobe(struct module_entry *m)
- rc = 0;
- while (m->deps) {
- struct module_entry *m2;
-- char *fn, *options;
-+ char *fn, *options, *path;
-
- rc = 0;
- fn = llist_pop(&m->deps); /* we leak it */
-@@ -460,7 +460,11 @@ static int do_modprobe(struct module_entry *m)
- continue;
- }
-
-- rc = bb_init_module(fn, options);
-+ path = xmalloc(strlen(fn) + strlen(CONFIG_DEFAULT_MODULES_DIR) + strlen(G.uts.release) + 3);
-+ sprintf(path, "%s/%s/%s", CONFIG_DEFAULT_MODULES_DIR, G.uts.release, fn);
-+
-+ rc = bb_init_module(path, options);
-+ free(path);
- DBG("loaded %s '%s', rc:%d", fn, options, rc);
- if (rc == EEXIST)
- rc = 0;
diff --git a/patches/busybox/1.31.1/busybox-1.31.1-glibc-2.31.patch b/patches/busybox/1.31.1/busybox-1.31.1-glibc-2.31.patch
deleted file mode 100644
index 48fb46cd..00000000
--- a/patches/busybox/1.31.1/busybox-1.31.1-glibc-2.31.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-https://git.busybox.net/busybox/commit/?id=d3539be8f27b8cbfdfee460fe08299158f08bcd9
-
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- time(&ts.tv_sec);
- #endif
- }
-+#if !ENABLE_FEATURE_DATE_NANO
-+ ts.tv_nsec = 0;
-+#endif
- localtime_r(&ts.tv_sec, &tm_time);
-
- /* If date string is given, update tm_time, and maybe set date */
-@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- if (date_str[0] != '@')
- tm_time.tm_isdst = -1;
- ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+ ts.tv_nsec = 0;
-
- /* if setting time, set it */
-- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- bb_perror_msg("can't set date");
- }
- }
---- a/libbb/missing_syscalls.c
-+++ b/libbb/missing_syscalls.c
-@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
- return syscall(__NR_getsid, pid);
- }
-
--int stime(const time_t *t)
--{
-- struct timeval tv;
-- tv.tv_sec = *t;
-- tv.tv_usec = 0;
-- return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- return syscall(__NR_sethostname, name, len);
---- a/util-linux/rdate.c
-+++ b/util-linux/rdate.c
-@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
- if (!(flags & 2)) { /* no -p (-s may be present) */
- if (time(NULL) == remote_time)
- bb_error_msg("current time matches remote time");
-- else
-- if (stime(&remote_time) < 0)
-+ else {
-+ struct timespec ts;
-+ ts.tv_sec = remote_time;
-+ ts.tv_nsec = 0;
-+ if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- bb_perror_msg_and_die("can't set time of day");
-+ }
- }
-
- if (flags != 1) /* not lone -s */
diff --git a/patches/busybox/1.31.1/busybox-1.7.4-signal-hack.patch b/patches/busybox/1.31.1/busybox-1.7.4-signal-hack.patch
deleted file mode 100644
index ba118305..00000000
--- a/patches/busybox/1.31.1/busybox-1.7.4-signal-hack.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-workaround while we get it fixed upstream
-
-http://bugs.gentoo.org/201114
-
---- libbb/u_signal_names.c
-+++ libbb/u_signal_names.c
-@@ -66,7 +66,7 @@
- #ifdef SIGTERM
- [SIGTERM ] = "TERM",
- #endif
--#ifdef SIGSTKFLT
-+#if defined(SIGSTKFLT) && SIGSTKFLT < 32
- [SIGSTKFLT] = "STKFLT",
- #endif
- #ifdef SIGCHLD
-@@ -90,10 +90,10 @
- #ifdef SIGURG
- [SIGURG ] = "URG",
- #endif
--#ifdef SIGXCPU
-+#if defined(SIGXCPU) && SIGXCPU < 32
- [SIGXCPU ] = "XCPU",
- #endif
--#ifdef SIGXFSZ
-+#if defined(SIGXFSZ) && SIGXFSZ < 32
- [SIGXFSZ ] = "XFSZ",
- #endif
- #ifdef SIGVTALRM
diff --git a/patches/busybox/1.32.0/busybox-1.20.2-modprobe.patch b/patches/busybox/1.32.0/busybox-1.20.2-modprobe.patch
new file mode 100644
index 00000000..9021a0f6
--- /dev/null
+++ b/patches/busybox/1.32.0/busybox-1.20.2-modprobe.patch
@@ -0,0 +1,46 @@
+Load modules by absolute path in busybox modprobe
+
+Our switch to busybox modprobe broke ZFS module loading where busybox
+modprobe would load two modules and then fail. Limited developer time
+resulted in a hack being put into place to repeat modprobe until ZFS
+appeared. However, this was never a real long term solution.
+
+Recent analysis with strace suggests that loading two modules corrupts
+busybox's current working directory inside the kernel. Consequently,
+subsequent tests where absolute paths were used instead of relative ones
+made the problem disappear.
+
+Modifying busybox to use full paths when loading modules makes module
+loading work on all affected kernels. While the long term plan is to fix
+the kernel, this workaround will be needed indefinitely for affected
+kernels, even after mainline Linux is fixed.
+
+Signed-off-by: Richard Yao <ryao@gentoo.org>
+
+Added via commit 006a5d6d56e622b5ef82e5a066ca7af7b8c2aeed.
+
+--- a/modutils/modprobe.c
++++ b/modutils/modprobe.c
+@@ -413,7 +413,7 @@ static int do_modprobe(struct module_entry *m)
+ rc = 0;
+ while (m->deps) {
+ struct module_entry *m2;
+- char *fn, *options;
++ char *fn, *options, *path;
+
+ rc = 0;
+ fn = llist_pop(&m->deps); /* we leak it */
+@@ -460,7 +460,11 @@ static int do_modprobe(struct module_entry *m)
+ continue;
+ }
+
+- rc = bb_init_module(fn, options);
++ path = xmalloc(strlen(fn) + strlen(CONFIG_DEFAULT_MODULES_DIR) + strlen(G.uts.release) + 3);
++ sprintf(path, "%s/%s/%s", CONFIG_DEFAULT_MODULES_DIR, G.uts.release, fn);
++
++ rc = bb_init_module(path, options);
++ free(path);
+ DBG("loaded %s '%s', rc:%d", fn, options, rc);
+ if (rc == EEXIST)
+ rc = 0;
+
diff --git a/patches/busybox/1.31.1/busybox-1.30.1-allow-for-genkernel-cross-compile.patch b/patches/busybox/1.32.0/busybox-1.30.1-allow-for-genkernel-cross-compile.patch
index 0694e09d..0694e09d 100644
--- a/patches/busybox/1.31.1/busybox-1.30.1-allow-for-genkernel-cross-compile.patch
+++ b/patches/busybox/1.32.0/busybox-1.30.1-allow-for-genkernel-cross-compile.patch