[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