[OpenWrt-Devel] [PATCH v2] busybox: update to version 1.24.1
Magnus Kroken
mkroken at gmail.com
Mon Oct 26 16:02:03 EDT 2015
Patches applied upstream and dropped:
280-fix_find_regression.patch
300-ip-addr-improvements.patch
Fixed upstream:
290-ash-fix-a-regression-in-handling-local-variables.patch (see thread: http://lists.busybox.net/pipermail/busybox/2015-April/082783.html)
Signed-off-by: Magnus Kroken <mkroken at gmail.com>
---
v2: Drop 290-ash-fix-a-regression-in-handling-local-variables.patch as well. Thanks, Bastian.
package/utils/busybox/Makefile | 6 +-
.../patches/120-remove_uclibc_rpc_check.patch | 2 +-
.../busybox/patches/200-udhcpc_reduce_msgs.patch | 4 +-
.../patches/201-udhcpc_changed_ifindex.patch | 2 +-
.../patches/203-udhcpc_renew_no_deconfig.patch | 2 +-
.../busybox/patches/204-udhcpc_src_ip_rebind.patch | 10 +--
.../busybox/patches/210-add_netmsg_util.patch | 2 +-
.../busybox/patches/230-ntpd_delayed_resolve.patch | 6 +-
.../patches/270-libbb_make_unicode_printable.patch | 4 +-
.../busybox/patches/280-fix_find_regression.patch | 31 ---------
...-a-regression-in-handling-local-variables.patch | 75 ----------------------
.../busybox/patches/300-ip-addr-improvements.patch | 73 ---------------------
12 files changed, 19 insertions(+), 198 deletions(-)
delete mode 100644 package/utils/busybox/patches/280-fix_find_regression.patch
delete mode 100644 package/utils/busybox/patches/290-ash-fix-a-regression-in-handling-local-variables.patch
delete mode 100644 package/utils/busybox/patches/300-ip-addr-improvements.patch
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index fb24703..5ca4363 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
-PKG_VERSION:=1.23.2
-PKG_RELEASE:=3
+PKG_VERSION:=1.24.1
+PKG_RELEASE:=1
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=7925683d7dd105aabe9b6b618d48cc73
+PKG_MD5SUM:=be98a40cadf84ce2d6b05fa41a275c6a
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam
PKG_BUILD_PARALLEL:=1
diff --git a/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch b/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch
index a18b7dc..5499efd 100644
--- a/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch
+++ b/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch
@@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
-@@ -138,9 +138,6 @@
+@@ -236,9 +236,6 @@
#if ENABLE_FEATURE_MOUNT_NFS
/* This is just a warning of a common mistake. Possibly this should be a
* uclibc faq entry rather than in busybox... */
diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
index c3de978..1083675 100644
--- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -685,6 +685,7 @@ static int bcast_or_ucast(struct dhcp_pa
+@@ -695,6 +695,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{
struct dhcp_packet packet;
@@ -8,7 +8,7 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below),
-@@ -702,6 +703,7 @@ static NOINLINE int send_discover(uint32
+@@ -712,6 +713,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);
diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
index e7e2fce..f32cea2 100644
--- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -1410,6 +1410,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -1418,6 +1418,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;
diff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
index 471f12f..f38b128 100644
--- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
+++ b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -1093,7 +1093,6 @@ static void perform_renew(void)
+@@ -1101,7 +1101,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
diff --git a/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch b/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
index b6d8b6f..21fec51 100644
--- a/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
+++ b/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -663,10 +663,10 @@ static void add_client_options(struct dh
+@@ -673,10 +673,10 @@ static void add_client_options(struct dh
* client reverts to using the IP broadcast address.
*/
@@ -13,7 +13,7 @@
/*dst*/ INADDR_BROADCAST, SERVER_PORT, MAC_BCAST_ADDR,
client_config.ifindex);
}
-@@ -677,7 +677,7 @@ static int bcast_or_ucast(struct dhcp_pa
+@@ -687,7 +687,7 @@ static int bcast_or_ucast(struct dhcp_pa
return udhcp_send_kernel_packet(packet,
ciaddr, CLIENT_PORT,
server, SERVER_PORT);
@@ -22,7 +22,7 @@
}
/* Broadcast a DHCP discover packet to the network, with an optionally requested IP */
-@@ -705,7 +705,7 @@ static NOINLINE int send_discover(uint32
+@@ -715,7 +715,7 @@ static NOINLINE int send_discover(uint32
if (msgs++ < 3)
bb_info_msg("Sending discover...");
@@ -31,7 +31,7 @@
}
/* Broadcast a DHCP request message */
-@@ -749,7 +749,7 @@ static NOINLINE int send_select(uint32_t
+@@ -759,7 +759,7 @@ static NOINLINE int send_select(uint32_t
addr.s_addr = requested;
bb_info_msg("Sending select for %s...", inet_ntoa(addr));
@@ -40,7 +40,7 @@
}
/* Unicast or broadcast a DHCP renew message */
-@@ -817,7 +817,7 @@ static NOINLINE int send_decline(/*uint3
+@@ -827,7 +827,7 @@ static NOINLINE int send_decline(/*uint3
udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server);
bb_info_msg("Sending decline...");
diff --git a/package/utils/busybox/patches/210-add_netmsg_util.patch b/package/utils/busybox/patches/210-add_netmsg_util.patch
index 4da6144..8162e3b 100644
--- a/package/utils/busybox/patches/210-add_netmsg_util.patch
+++ b/package/utils/busybox/patches/210-add_netmsg_util.patch
@@ -10,7 +10,7 @@
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
--- a/networking/Config.src
+++ b/networking/Config.src
-@@ -619,6 +619,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
+@@ -626,6 +626,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
help
Support long options for the ipcalc applet.
diff --git a/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch b/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
index 1543e53..b0af08e 100644
--- a/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
+++ b/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
@@ -1,6 +1,6 @@
--- a/networking/ntpd.c
+++ b/networking/ntpd.c
-@@ -251,6 +251,7 @@ typedef struct {
+@@ -265,6 +265,7 @@ typedef struct {
typedef struct {
len_and_sockaddr *p_lsa;
char *p_dotted;
@@ -8,7 +8,7 @@
int p_fd;
int datapoint_idx;
uint32_t lastpkt_refid;
-@@ -756,8 +757,9 @@ add_peers(const char *s)
+@@ -766,8 +767,9 @@ add_peers(const char *s)
peer_t *p;
p = xzalloc(sizeof(*p));
@@ -20,7 +20,7 @@
p->p_fd = -1;
p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
p->next_action_time = G.cur_time; /* = set_next(p, 0); */
-@@ -806,6 +808,25 @@ send_query_to_peer(peer_t *p)
+@@ -816,6 +818,25 @@ send_query_to_peer(peer_t *p)
*
* Uncomment this and use strace to see it in action:
*/
diff --git a/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch b/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
index 3bfd48a..0ae8340 100644
--- a/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
+++ b/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
@@ -1,6 +1,6 @@
--- a/libbb/printable_string.c
+++ b/libbb/printable_string.c
-@@ -31,8 +31,6 @@ const char* FAST_FUNC printable_string(u
+@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string(u
}
if (c < ' ')
break;
@@ -9,7 +9,7 @@
s++;
}
-@@ -45,7 +43,7 @@ const char* FAST_FUNC printable_string(u
+@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string(u
unsigned char c = *d;
if (c == '\0')
break;
diff --git a/package/utils/busybox/patches/280-fix_find_regression.patch b/package/utils/busybox/patches/280-fix_find_regression.patch
deleted file mode 100644
index 5021750..0000000
--- a/package/utils/busybox/patches/280-fix_find_regression.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-find: fix regression in status processing for path arguments
-
-Regression added in commit 14158b4127dba30466c50147b868a6a89702960b
-"find: add optional support for '-exec ... {} +'"
-
-This commit causes find to exit on the first path argument that was not
-found, which breaks existing scripts and is incompatible to other
-implementations.
-
-Instead of exiting on the first failure, return EXIT_FAILURE at the end
-if any error occurred.
-
-Signed-off-by: Felix Fietkau <nbd at openwrt.org>
-
---- a/findutils/find.c
-+++ b/findutils/find.c
-@@ -1460,12 +1460,10 @@ int find_main(int argc UNUSED_PARAM, cha
- NULL, /* user data */
- 0) /* depth */
- ) {
-- status = EXIT_FAILURE;
-- goto out;
-+ status |= EXIT_FAILURE;
- }
- }
-
-- IF_FEATURE_FIND_EXEC_PLUS(status = flush_exec_plus();)
--out:
-+ IF_FEATURE_FIND_EXEC_PLUS(status |= flush_exec_plus();)
- return status;
- }
diff --git a/package/utils/busybox/patches/290-ash-fix-a-regression-in-handling-local-variables.patch b/package/utils/busybox/patches/290-ash-fix-a-regression-in-handling-local-variables.patch
deleted file mode 100644
index 0ac1925..0000000
--- a/package/utils/busybox/patches/290-ash-fix-a-regression-in-handling-local-variables.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Felix Fietkau <nbd at openwrt.org>
-Date: Fri, 17 Apr 2015 01:54:51 +0200
-Subject: [PATCH] ash: fix a regression in handling local variables
-
-commit 109ee5d33694a03cda3424b4846584250832ba8e
-"ash: make "locak VAR" unset VAR (bash does that)"
-
-This commit introduced a regression where calling local on an already
-local variable unsets it. This does not match bash behavior.
-
-Update test case to check for this behavior
-
-Signed-off-by: Felix Fietkau <nbd at openwrt.org>
----
-
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -8961,6 +8961,21 @@ parse_command_args(char **argv, const ch
- }
- #endif
-
-+static bool
-+findlocal(struct var *vp)
-+{
-+ struct localvar *lvp = localvars;
-+
-+ while (lvp) {
-+ if (lvp->vp == vp)
-+ return true;
-+
-+ lvp = lvp->next;
-+ }
-+
-+ return false;
-+}
-+
- /*
- * Make a variable a local variable. When a variable is made local, it's
- * value and flags are saved in a localvar structure. The saved values
-@@ -9000,7 +9015,7 @@ mklocal(char *name)
- vp->flags |= VSTRFIXED|VTEXTFIXED;
- if (eq)
- setvareq(name, 0);
-- else
-+ else if (!findlocal(vp))
- /* "local VAR" unsets VAR: */
- setvar(name, NULL, 0);
- }
---- a/shell/ash_test/ash-misc/local1.right
-+++ b/shell/ash_test/ash-misc/local1.right
-@@ -1,4 +1,5 @@
- A1:'A'
- A2:''
--A3:''
--A4:'A'
-+A3:'B'
-+A4:''
-+A5:'A'
---- a/shell/ash_test/ash-misc/local1.tests
-+++ b/shell/ash_test/ash-misc/local1.tests
-@@ -3,9 +3,12 @@ f() {
- local a
- # the above line unsets $a
- echo "A2:'$a'"
-- unset a
-+ a=B
-+ local a
- echo "A3:'$a'"
-+ unset a
-+ echo "A4:'$a'"
- }
- echo "A1:'$a'"
- f
--echo "A4:'$a'"
-+echo "A5:'$a'"
diff --git a/package/utils/busybox/patches/300-ip-addr-improvements.patch b/package/utils/busybox/patches/300-ip-addr-improvements.patch
deleted file mode 100644
index ba1bcd1..0000000
--- a/package/utils/busybox/patches/300-ip-addr-improvements.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 6a7cd3d4aba493c0b0d00155b1e09a867db437cf Mon Sep 17 00:00:00 2001
-From: Michael Tokarev <mjt at tls.msk.ru>
-Date: Wed, 20 May 2015 16:27:44 +0300
-Subject: [PATCH] ip addr: support change and replace commands
-
-Signed-off-by: Michael Tokarev <mjt at tls.msk.ru>
-Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
----
- networking/ip.c | 2 +-
- networking/libiproute/ipaddress.c | 20 ++++++++++++--------
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
---- a/networking/ip.c
-+++ b/networking/ip.c
-@@ -33,7 +33,7 @@
- //usage: "{ {add|del} IFADDR dev STRING | {show|flush}\n"
- //usage: " [dev STRING] [to PREFIX] }"
- //usage:#define ipaddr_full_usage "\n\n"
--//usage: "ipaddr {add|delete} IFADDR dev STRING\n"
-+//usage: "ipaddr {add|change|replace|delete} IFADDR dev STRING\n"
- //usage: "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n"
- //usage: " [to PREFIX] [label PATTERN]\n"
- //usage: " IFADDR := PREFIX | ADDR peer PREFIX\n"
---- a/networking/libiproute/ipaddress.c
-+++ b/networking/libiproute/ipaddress.c
-@@ -598,7 +598,7 @@ static int default_scope(inet_prefix *lc
- }
-
- /* Return value becomes exitcode. It's okay to not return at all */
--static int ipaddr_modify(int cmd, char **argv)
-+static int ipaddr_modify(int cmd, int flags, char **argv)
- {
- static const char option[] ALIGN1 =
- "peer\0""remote\0""broadcast\0""brd\0"
-@@ -622,7 +622,7 @@ static int ipaddr_modify(int cmd, char *
- memset(&req, 0, sizeof(req));
-
- req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
-- req.n.nlmsg_flags = NLM_F_REQUEST;
-+ req.n.nlmsg_flags = NLM_F_REQUEST | flags;
- req.n.nlmsg_type = cmd;
- req.ifa.ifa_family = preferred_family;
-
-@@ -749,16 +749,24 @@ static int ipaddr_modify(int cmd, char *
- int FAST_FUNC do_ipaddr(char **argv)
- {
- static const char commands[] ALIGN1 =
-- "add\0""delete\0""list\0""show\0""lst\0""flush\0";
-+ /* 0 1 2 3 4 5 6 7 8 */
-+ "add\0""change\0""chg\0""replace\0""delete\0""list\0""show\0""lst\0""flush\0";
- int cmd = 2;
- if (*argv) {
- cmd = index_in_substrings(commands, *argv);
- if (cmd < 0)
- invarg(*argv, applet_name);
- argv++;
-- if (cmd <= 1)
-- return ipaddr_modify((cmd == 0) ? RTM_NEWADDR : RTM_DELADDR, argv);
-+ if (cmd <= 4) {
-+ return ipaddr_modify(
-+ /*cmd:*/ cmd == 4 ? RTM_DELADDR : RTM_NEWADDR,
-+ /*flags:*/
-+ cmd == 0 ? NLM_F_CREATE|NLM_F_EXCL : /* add */
-+ cmd == 1 || cmd == 2 ? NLM_F_REPLACE : /* change */
-+ cmd == 3 ? NLM_F_CREATE|NLM_F_REPLACE : /* replace */
-+ 0 /* delete */
-+ , argv);
-+ }
- }
-- /* 2 == list, 3 == show, 4 == lst */
-- return ipaddr_list_or_flush(argv, cmd == 5);
-+ return ipaddr_list_or_flush(argv, cmd == 8);
- }
--
2.1.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list