busybox: update to version 1.24.1
authorFelix Fietkau <nbd@openwrt.org>
Fri, 30 Oct 2015 15:18:17 +0000 (15:18 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 30 Oct 2015 15:18:17 +0000 (15:18 +0000)
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@gmail.com>
SVN-Revision: 47288

12 files changed:
package/utils/busybox/Makefile
package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch
package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
package/utils/busybox/patches/210-add_netmsg_util.patch
package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
package/utils/busybox/patches/280-fix_find_regression.patch [deleted file]
package/utils/busybox/patches/290-ash-fix-a-regression-in-handling-local-variables.patch [deleted file]
package/utils/busybox/patches/300-ip-addr-improvements.patch [deleted file]

index fb247036a37edbadd9aa3bfdaba838dc570e83cc..5ca4363f1d258bd93adcfeb6cef84e733b7c881e 100644 (file)
@@ -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
index a18b7dc6dc2358213fe2760a00b0f2be0b4b5c64..5499efded05b120970fddfc3b79c63e30f46638b 100644 (file)
@@ -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... */
index c3de9783b4c6a521ec11a2b17dd2ec080693fd37..1083675671d79db6f25cfcb455e5f31b9c99ee79 100644 (file)
@@ -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);
  
index e7e2fce309bf200a054825bd951edd16b2dda868..f32cea2830675bce4eeceaddcb43bfae01a090ea 100644 (file)
@@ -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;
  
index 471f12f72873f0066d23d6f3ce8120bafeb2aeb1..f38b128ff818fd5b78719cf6a62ab24fb885cca0 100644 (file)
@@ -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 */
index b6d8b6f1a9708183b1f6db0e4937e27c965fa8cc..21fec5167df92aade6a74c010779c3acb84cfb2c 100644 (file)
@@ -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...");
index 4da61447fed75c8f0d35db324e282976980c3fb5..8162e3b61514fa9898544b1361b454b96fdd0d27 100644 (file)
@@ -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.
  
index 1543e531733a56b5c025c319d208b4018f4407c0..b0af08efb56e30bec69d7a4575195ffb0f2605fc 100644 (file)
@@ -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:
         */
index 3bfd48a23bbda3a257cd211ae63878495766798e..0ae834056804b9a38b0af9f0269067a9095f13aa 100644 (file)
@@ -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 (file)
index 5021750..0000000
+++ /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@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 (file)
index 0ac1925..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Felix Fietkau <nbd@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@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 (file)
index ba1bcd1..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 6a7cd3d4aba493c0b0d00155b1e09a867db437cf Mon Sep 17 00:00:00 2001
-From: Michael Tokarev <mjt@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@tls.msk.ru>
-Signed-off-by: Denys Vlasenko <vda.linux@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);
- }