get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/805182/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 805182,
    "url": "http://patchwork.ozlabs.org/api/patches/805182/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/lede/patch/20170823211334.15078-1-mkroken@gmail.com/",
    "project": {
        "id": 54,
        "url": "http://patchwork.ozlabs.org/api/projects/54/?format=api",
        "name": "LEDE development",
        "link_name": "lede",
        "list_id": "lede-dev.lists.infradead.org",
        "list_email": "lede-dev@lists.infradead.org",
        "web_url": "http://lede-project.org/",
        "scm_url": "",
        "webscm_url": "http://git.lede-project.org/",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170823211334.15078-1-mkroken@gmail.com>",
    "list_archive_url": null,
    "date": "2017-08-23T21:13:34",
    "name": "[LEDE-DEV] busybox: update to 1.27.2",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "168efcf0cfc4146dad4249a542479d7f85baaff2",
    "submitter": {
        "id": 66631,
        "url": "http://patchwork.ozlabs.org/api/people/66631/?format=api",
        "name": "Magnus Kroken",
        "email": "mkroken@gmail.com"
    },
    "delegate": {
        "id": 54674,
        "url": "http://patchwork.ozlabs.org/api/users/54674/?format=api",
        "username": "dedeckeh",
        "first_name": "Hans",
        "last_name": "Dedecker",
        "email": "dedeckeh@gmail.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/lede/patch/20170823211334.15078-1-mkroken@gmail.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/805182/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/805182/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"J5TTYWOK\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"MNPAiNhX\"; dkim-atps=neutral"
        ],
        "Received": [
            "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xd0YT6V7wz9sxR\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 24 Aug 2017 07:14:37 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dkcyn-00008M-4I; Wed, 23 Aug 2017 21:14:25 +0000",
            "from mail-wr0-x22d.google.com ([2a00:1450:400c:c0c::22d])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dkcyY-00005Q-5O\n\tfor lede-dev@lists.infradead.org; Wed, 23 Aug 2017 21:14:23 +0000",
            "by mail-wr0-x22d.google.com with SMTP id a47so4309899wra.0\n\tfor <lede-dev@lists.infradead.org>;\n\tWed, 23 Aug 2017 14:13:49 -0700 (PDT)",
            "from localhost.localdomain (113.229.16.62.customer.cdi.no.\n\t[62.16.229.113]) by smtp.gmail.com with ESMTPSA id\n\tx4sm1778896wrd.66.2017.08.23.14.13.40\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 23 Aug 2017 14:13:43 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:Message-Id:\n\tDate:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=C9oEfVrqwBwaC0eK16xhfPdAzFSQrj0tUtwUy+5Hoyo=;\n\tb=J5TTYWOK9pwko6\n\th1p1njzqMSBBaWZeN2zcfa4fKMDnjzwnOzzleadY6OR9g6x8OU1G39rBeKhxobU8jdI3htY50XH1K\n\t2Y/twA40upZuKBJn1T8VNilt41AWHe/41dJt4zOzNarLnVrOZks2EUdzETx5//xRQNunAec1XsCul\n\trIBqehB89pd4YWjjMBnrLHIAkeJ4CTGvtTvud8LbOt/KynuZLyn42OoxGShTBUlxacoGZmdRy13iH\n\teLZmQL3WqkeakorfLCuGyJtFKgZJfJ5C/yC8ebr+jPWySGH+yz1S5qe18WuJE8Ki1V8wuD/dO0vVv\n\tY7tN37ybNQPGlB7HeTBQ==;",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=9k0wS+7MB+BqBrSoKxM78JC7qMqccz4LykCysqcfSFE=;\n\tb=MNPAiNhXzUTH2IqRu3bgczBvHdkH3QV+XuqleTdaCm8+f3PJPVMTaP62Wqx4SlAqx+\n\tL5/QthzFLc4adzuc3CejgB9VhUtEh0oVme1Nj79uGkkd5wtMKxj8CPFs1KKgmPXDzpnn\n\tBgCTbU6tthgcowgpUlMkENtRunwwvVfZfYT3UApFL5EA+a3nIbNyHKspH14JIbFgy46S\n\t5Gny2cGOxOfT2UdJpA99/KZw1haLBuYNV5sn+zb5JWI/84sXqffYGH2RkCKlEWt4RLW/\n\tagt9XZiqFDJL9vPgjW4PEzX17oHkg9kUaRaOUCOX7D7PaqiO1yPLw1uOlrBh3c2YhxwA\n\tlxJA=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=9k0wS+7MB+BqBrSoKxM78JC7qMqccz4LykCysqcfSFE=;\n\tb=SrgsuX9sv/eSK45nWD5jF1OC1rYUoDqqnnjCq5GEKuSW+UBk/4REd/weYRYRKx2EEQ\n\tMX5eiPIfSLIRSeleyxN8NxkSmNkZgK+5mFi9FOTTzYWoCFHVObtm7/EjrevpoiQplBoG\n\tYNhsm5IvTyH7LdMXIzoBaMoiPrKjIo+/xkhSFkhuUrbXiSxvSGo1KyqjpORpaeeQlxsV\n\tRBZQK54v8DGoclq9UczIsig/7lLHq73qRFH++EU3c9G7BQgF/nnXhZC3Up9ChF3ZYUZy\n\tFWMzMAUVTstrr7iavSo2PJiIYHLY/jaJ+nPGKA79DwnTomqzybaKTgC4Nx5D5G3/e65b\n\tgeKw==",
        "X-Gm-Message-State": "AHYfb5h8ZtkGuNh7DvtYIwA92LbbLzfJTCe7V+VNUweI1M76g8MJh4Ws\n\tLHSGhxtuh/YLIN8qVrY=",
        "X-Received": "by 10.223.132.199 with SMTP id 65mr2396526wrg.204.1503522825354; \n\tWed, 23 Aug 2017 14:13:45 -0700 (PDT)",
        "From": "Magnus Kroken <mkroken@gmail.com>",
        "To": "lede-dev@lists.infradead.org",
        "Date": "Wed, 23 Aug 2017 23:13:34 +0200",
        "Message-Id": "<20170823211334.15078-1-mkroken@gmail.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "X-Spam-Note": "CRM114 run bypassed due to message size (161327 bytes)",
        "X-Spam-Score": "-2.0 (--)",
        "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno\n\ttrust [2a00:1450:400c:c0c:0:0:0:22d listed in] [list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n\tprovider (mkroken[at]gmail.com)\n\t0.0 WEIRD_QUOTING BODY: Weird repeated double-quotation marks\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain",
        "Subject": "[LEDE-DEV] [PATCH] busybox: update to 1.27.2",
        "X-BeenThere": "lede-dev@lists.infradead.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<lede-dev.lists.infradead.org>",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/lede-dev/>",
        "List-Post": "<mailto:lede-dev@lists.infradead.org>",
        "List-Help": "<mailto:lede-dev-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=subscribe>",
        "Cc": "Magnus Kroken <mkroken@gmail.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "\"Lede-dev\" <lede-dev-bounces@lists.infradead.org>",
        "Errors-To": "lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"
    },
    "content": "Refresh patches, delete patches backported from upstream.\n\nThis fixes ntpd sync issues (ntpd would not sync if the first provided\npeer address was unreachable).\n\nSigned-off-by: Magnus Kroken <mkroken@gmail.com>\n---\nRuntime tested on x86_64 and powerpc/mpc85xx.\n\n package/utils/busybox/Config-defaults.in           | 211 ++++++++++++----\n package/utils/busybox/Makefile                     |   6 +-\n package/utils/busybox/config/Config.in             |  45 ++--\n package/utils/busybox/config/archival/Config.in    | 113 +++++----\n .../utils/busybox/config/console-tools/Config.in   |  10 +-\n package/utils/busybox/config/coreutils/Config.in   | 146 +++++------\n package/utils/busybox/config/debianutils/Config.in |  20 +-\n package/utils/busybox/config/editors/Config.in     |  37 ++-\n package/utils/busybox/config/findutils/Config.in   |  18 +-\n package/utils/busybox/config/init/Config.in        |  36 +--\n package/utils/busybox/config/libbb/Config.in       |  17 +-\n package/utils/busybox/config/loginutils/Config.in  |  36 +--\n package/utils/busybox/config/miscutils/Config.in   | 114 ++-------\n package/utils/busybox/config/modutils/Config.in    | 108 ++++----\n package/utils/busybox/config/networking/Config.in  | 142 ++++++-----\n .../busybox/config/networking/udhcp/Config.in      |  84 ++++---\n package/utils/busybox/config/procps/Config.in      |  52 ++--\n package/utils/busybox/config/selinux/Config.in     |   4 -\n package/utils/busybox/config/shell/Config.in       | 271 +++++++++++++--------\n package/utils/busybox/config/sysklogd/Config.in    |   2 +-\n package/utils/busybox/config/util-linux/Config.in  | 146 ++++++++++-\n .../busybox/config/util-linux/volume_id/Config.in  | 134 ----------\n .../patches/120-remove_uclibc_rpc_check.patch      |  12 -\n .../busybox/patches/200-udhcpc_reduce_msgs.patch   |   4 +-\n .../patches/201-udhcpc_changed_ifindex.patch       |   2 +-\n .../patches/203-udhcpc_renew_no_deconfig.patch     |   2 +-\n .../patches/301-ip-link-fix-netlink-msg-size.patch |   2 +-\n .../302-ip-rule-add-suppress-prefixlength.patch    | 145 -----------\n ...t-touch-file-with-x-when-modified_count-0.patch | 100 --------\n ...uching-a-new-file-with-ZZ-when-no-editing.patch |  53 ----\n 30 files changed, 951 insertions(+), 1121 deletions(-)\n delete mode 100644 package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch\n delete mode 100644 package/utils/busybox/patches/302-ip-rule-add-suppress-prefixlength.patch\n delete mode 100644 package/utils/busybox/patches/401-vi-don-t-touch-file-with-x-when-modified_count-0.patch\n delete mode 100644 package/utils/busybox/patches/402-vi-avoid-touching-a-new-file-with-ZZ-when-no-editing.patch",
    "diff": "diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in\nindex 9438cb26e7..79059e5069 100644\n--- a/package/utils/busybox/Config-defaults.in\n+++ b/package/utils/busybox/Config-defaults.in\n@@ -7,6 +7,9 @@ config BUSYBOX_DEFAULT_DESKTOP\n config BUSYBOX_DEFAULT_EXTRA_COMPAT\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEDORA_COMPAT\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_INCLUDE_SUSv2\n \tbool\n \tdefault y\n@@ -196,9 +199,6 @@ config BUSYBOX_DEFAULT_FEATURE_FAST_TOP\n config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS\n-\tbool\n-\tdefault n\n config BUSYBOX_DEFAULT_FEATURE_EDITING\n \tbool\n \tdefault y\n@@ -355,6 +355,9 @@ config BUSYBOX_DEFAULT_XZ\n config BUSYBOX_DEFAULT_BZIP2\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS\n+\tbool\n+\tdefault y\n config BUSYBOX_DEFAULT_CPIO\n \tbool\n \tdefault n\n@@ -382,6 +385,9 @@ config BUSYBOX_DEFAULT_GZIP_FAST\n config BUSYBOX_DEFAULT_FEATURE_GZIP_LEVELS\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS\n+\tbool\n+\tdefault y\n config BUSYBOX_DEFAULT_LZOP\n \tbool\n \tdefault n\n@@ -439,16 +445,25 @@ config BUSYBOX_DEFAULT_FEATURE_TAR_SELINUX\n config BUSYBOX_DEFAULT_UNZIP\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_BASENAME\n+config BUSYBOX_DEFAULT_FEATURE_UNZIP_CDF\n \tbool\n-\tdefault y\n-config BUSYBOX_DEFAULT_CAL\n+\tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_UNZIP_BZIP2\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_BASENAME\n+\tbool\n+\tdefault y\n config BUSYBOX_DEFAULT_CAT\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_CATV\n+config BUSYBOX_DEFAULT_FEATURE_CATV\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_CHGRP\n@@ -559,6 +574,9 @@ config BUSYBOX_DEFAULT_EXPR\n config BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_FACTOR\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_FALSE\n \tbool\n \tdefault y\n@@ -589,6 +607,9 @@ config BUSYBOX_DEFAULT_INSTALL\n config BUSYBOX_DEFAULT_FEATURE_INSTALL_LONG_OPTIONS\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_LINK\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_LN\n \tbool\n \tdefault y\n@@ -607,6 +628,9 @@ config BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS\n config BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_FEATURE_LS_WIDTH\n+\tbool\n+\tdefault y\n config BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES\n \tbool\n \tdefault y\n@@ -661,12 +685,21 @@ config BUSYBOX_DEFAULT_FEATURE_MV_LONG_OPTIONS\n config BUSYBOX_DEFAULT_NICE\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_NL\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_NOHUP\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_NPROC\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_OD\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_PASTE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_PRINTENV\n \tbool\n \tdefault n\n@@ -697,6 +730,9 @@ config BUSYBOX_DEFAULT_FEATURE_RMDIR_LONG_OPTIONS\n config BUSYBOX_DEFAULT_SEQ\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_SHRED\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_SHUF\n \tbool\n \tdefault n\n@@ -829,6 +865,9 @@ config BUSYBOX_DEFAULT_FEATURE_WC_LARGE\n config BUSYBOX_DEFAULT_WHO\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_W\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_USERS\n \tbool\n \tdefault n\n@@ -844,9 +883,6 @@ config BUSYBOX_DEFAULT_FEATURE_VERBOSE\n config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_FEATURE_AUTOWIDTH\n-\tbool\n-\tdefault y\n config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE\n \tbool\n \tdefault y\n@@ -1174,7 +1210,7 @@ config BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY\n config BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET\n+config BUSYBOX_DEFAULT_FEATURE_INIT_QUIET\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS\n@@ -1294,6 +1330,9 @@ config BUSYBOX_DEFAULT_FEATURE_SU_SYSLOG\n config BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_SULOGIN\n \tbool\n \tdefault n\n@@ -1330,12 +1369,6 @@ config BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT\n config BUSYBOX_DEFAULT_MODINFO\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE\n-\tbool\n-\tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n-\tbool\n-\tdefault n\n config BUSYBOX_DEFAULT_MODPROBE\n \tbool\n \tdefault n\n@@ -1345,10 +1378,13 @@ config BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST\n config BUSYBOX_DEFAULT_RMMOD\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_2_4_MODULES\n+config BUSYBOX_DEFAULT_FEATURE_CMDLINE_MODULE_OPTIONS\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP\n+config BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_2_4_MODULES\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_FEATURE_INSMOD_VERSION_CHECKING\n@@ -1369,6 +1405,9 @@ config BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP_FULL\n config BUSYBOX_DEFAULT_FEATURE_CHECK_TAINTED_MODULE\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_FEATURE_MODUTILS_ALIAS\n \tbool\n \tdefault n\n@@ -1399,12 +1438,18 @@ config BUSYBOX_DEFAULT_FEATURE_BLKID_TYPE\n config BUSYBOX_DEFAULT_BLOCKDEV\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_CAL\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_DMESG\n \tbool\n \tdefault y\n config BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_FALLOCATE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_FATATTR\n \tbool\n \tdefault n\n@@ -1462,6 +1507,9 @@ config BUSYBOX_DEFAULT_FREERAMDISK\n config BUSYBOX_DEFAULT_FSCK_MINIX\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FSFREEZE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_FSTRIM\n \tbool\n \tdefault n\n@@ -1480,6 +1528,9 @@ config BUSYBOX_DEFAULT_FEATURE_HEXDUMP_REVERSE\n config BUSYBOX_DEFAULT_HD\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_XXD\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_HWCLOCK\n \tbool\n \tdefault y\n@@ -1621,6 +1672,9 @@ config BUSYBOX_DEFAULT_LINUX32\n config BUSYBOX_DEFAULT_LINUX64\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_SETPRIV\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_SWAPON\n \tbool\n \tdefault n\n@@ -1918,6 +1972,9 @@ config BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS\n config BUSYBOX_DEFAULT_LOCK\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_LSSCSI\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_MAKEDEVS\n \tbool\n \tdefault n\n@@ -1945,6 +2002,9 @@ config BUSYBOX_DEFAULT_NANDWRITE\n config BUSYBOX_DEFAULT_NANDDUMP\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_PARTPROBE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_RAIDAUTORUN\n \tbool\n \tdefault n\n@@ -2275,6 +2335,9 @@ config BUSYBOX_DEFAULT_NSLOOKUP\n config BUSYBOX_DEFAULT_NSLOOKUP_LEDE\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_LEDE_LONG_OPTIONS\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_NTPD\n \tbool\n \tdefault y\n@@ -2302,6 +2365,9 @@ config BUSYBOX_DEFAULT_ROUTE\n config BUSYBOX_DEFAULT_SLATTACH\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_SSL_CLIENT\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_TCPSVD\n \tbool\n \tdefault n\n@@ -2317,6 +2383,9 @@ config BUSYBOX_DEFAULT_FEATURE_TELNET_TTYPE\n config BUSYBOX_DEFAULT_FEATURE_TELNET_AUTOLOGIN\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_TELNETD\n \tbool\n \tdefault n\n@@ -2347,6 +2416,9 @@ config BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR\n config BUSYBOX_DEFAULT_TFTP_DEBUG\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_TLS\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_TRACEROUTE\n \tbool\n \tdefault y\n@@ -2383,10 +2455,10 @@ config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS\n config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL\n+config BUSYBOX_DEFAULT_FEATURE_WGET_HTTPS\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER\n+config BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_WHOIS\n@@ -2398,13 +2470,16 @@ config BUSYBOX_DEFAULT_ZCIP\n config BUSYBOX_DEFAULT_UDHCPC6\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_UDHCPD\n+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_DHCPRELAY\n+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_DUMPLEASES\n+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_UDHCPD\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY\n@@ -2416,6 +2491,12 @@ config BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC\n config BUSYBOX_DEFAULT_DHCPD_LEASES_FILE\n \tstring\n \tdefault \"\"\n+config BUSYBOX_DEFAULT_DUMPLEASES\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_DHCPRELAY\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_UDHCPC\n \tbool\n \tdefault y\n@@ -2524,6 +2605,9 @@ config BUSYBOX_DEFAULT_PMAP\n config BUSYBOX_DEFAULT_POWERTOP\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_FEATURE_POWERTOP_INTERACTIVE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_PS\n \tbool\n \tdefault y\n@@ -2560,6 +2644,9 @@ config BUSYBOX_DEFAULT_BB_SYSCTL\n config BUSYBOX_DEFAULT_TOP\n \tbool\n \tdefault y\n+config BUSYBOX_DEFAULT_FEATURE_TOP_INTERACTIVE\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE\n \tbool\n \tdefault y\n@@ -2698,45 +2785,45 @@ config BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE\n config BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT\n-\tbool\n-\tdefault n\n-config BUSYBOX_DEFAULT_ASH_EXPAND_PRMT\n-\tbool\n-\tdefault y\n config BUSYBOX_DEFAULT_ASH_BASH_COMPAT\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT\n-\tbool\n-\tdefault n\n config BUSYBOX_DEFAULT_ASH_JOB_CONTROL\n \tbool\n \tdefault y\n config BUSYBOX_DEFAULT_ASH_ALIAS\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_GETOPTS\n+config BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_ASH_EXPAND_PRMT\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO\n+config BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_ASH_MAIL\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_ASH_ECHO\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF\n+config BUSYBOX_DEFAULT_ASH_PRINTF\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_BUILTIN_TEST\n+config BUSYBOX_DEFAULT_ASH_TEST\n \tbool\n \tdefault y\n config BUSYBOX_DEFAULT_ASH_HELP\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_ASH_CMDCMD\n+config BUSYBOX_DEFAULT_ASH_GETOPTS\n \tbool\n \tdefault y\n-config BUSYBOX_DEFAULT_ASH_MAIL\n+config BUSYBOX_DEFAULT_ASH_CMDCMD\n \tbool\n-\tdefault n\n+\tdefault y\n config BUSYBOX_DEFAULT_CTTYHACK\n \tbool\n \tdefault n\n@@ -2782,10 +2869,52 @@ config BUSYBOX_DEFAULT_HUSH_LOCAL\n config BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT\n \tbool\n \tdefault n\n+config BUSYBOX_DEFAULT_HUSH_MODE_X\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_ECHO\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_PRINTF\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_TEST\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_EXPORT\n+\tbool\n+\tdefault n\n config BUSYBOX_DEFAULT_HUSH_EXPORT_N\n \tbool\n \tdefault n\n-config BUSYBOX_DEFAULT_HUSH_MODE_X\n+config BUSYBOX_DEFAULT_HUSH_KILL\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_WAIT\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_TRAP\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_TYPE\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_READ\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_SET\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_UNSET\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_ULIMIT\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_UMASK\n+\tbool\n+\tdefault n\n+config BUSYBOX_DEFAULT_HUSH_MEMLEAK\n \tbool\n \tdefault n\n config BUSYBOX_DEFAULT_MSH\ndiff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile\nindex ebc824e435..941e828354 100644\n--- a/package/utils/busybox/Makefile\n+++ b/package/utils/busybox/Makefile\n@@ -8,14 +8,14 @@\n include $(TOPDIR)/rules.mk\n \n PKG_NAME:=busybox\n-PKG_VERSION:=1.26.2\n-PKG_RELEASE:=7\n+PKG_VERSION:=1.27.2\n+PKG_RELEASE:=1\n PKG_FLAGS:=essential\n \n PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2\n PKG_SOURCE_URL:=https://www.busybox.net/downloads \\\n \t\thttp://sources.buildroot.net\n-PKG_HASH:=da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16\n+PKG_HASH:=9d4be516b61e6480f156b11eb42577a13529f75d3383850bb75c50c285de63df\n \n PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam\n PKG_BUILD_PARALLEL:=1\ndiff --git a/package/utils/busybox/config/Config.in b/package/utils/busybox/config/Config.in\nindex 3ee3aa2f47..c66aa08e73 100644\n--- a/package/utils/busybox/config/Config.in\n+++ b/package/utils/busybox/config/Config.in\n@@ -32,6 +32,19 @@ config BUSYBOX_CONFIG_EXTRA_COMPAT\n \t  some GNU extensions in libc. You probably only need this option\n \t  if you plan to run busybox on desktop.\n \n+config BUSYBOX_CONFIG_FEDORA_COMPAT\n+\tbool \"Building for Fedora distribution\"\n+\tdefault BUSYBOX_DEFAULT_FEDORA_COMPAT\n+\thelp\n+\tThis option makes some tools behave like they do on Fedora.\n+\n+\tAt the time of this writing (2017-08) this only affects uname:\n+\tnormally, uname -p (processor) and uname -i (platform)\n+\tare shown as \"unknown\", but with this option uname -p\n+\tshows the same string as uname -m (machine type),\n+\tand so does uname -i unless machine type is i486/i586/i686 -\n+\tthen uname -i shows \"i386\".\n+\n config BUSYBOX_CONFIG_INCLUDE_SUSv2\n \tbool \"Enable obsolete features removed before SUSv3\"\n \tdefault BUSYBOX_DEFAULT_INCLUDE_SUSv2\n@@ -49,17 +62,6 @@ config BUSYBOX_CONFIG_USE_PORTABLE_CODE\n \t  compiler other than gcc.\n \t  If you do use gcc, this option may needlessly increase code size.\n \n-config BUSYBOX_CONFIG_PLATFORM_LINUX\n-\tbool \"Enable Linux-specific applets and features\"\n-\tdefault BUSYBOX_DEFAULT_PLATFORM_LINUX\n-\thelp\n-\t  For the most part, busybox requires only POSIX compatibility\n-\t  from the target system, but some applets and features use\n-\t  Linux-specific interfaces.\n-\n-\t  Answering 'N' here will disable such applets and hide the\n-\t  corresponding configuration options.\n-\n config BUSYBOX_CONFIG_SHOW_USAGE\n \tbool \"Show applet usage messages\"\n \tdefault BUSYBOX_DEFAULT_SHOW_USAGE\n@@ -123,14 +125,14 @@ config BUSYBOX_CONFIG_INSTALL_NO_USR\n \t  never to /usr/bin or /usr/sbin.\n \n config BUSYBOX_CONFIG_PAM\n-\tbool \"Support for PAM (Pluggable Authentication Modules)\"\n+\tbool \"Support PAM (Pluggable Authentication Modules)\"\n \tdefault BUSYBOX_DEFAULT_PAM\n \thelp\n \t  Use PAM in some busybox applets (currently login and httpd) instead\n \t  of direct access to password database.\n \n config BUSYBOX_CONFIG_LONG_OPTS\n-\tbool \"Support for --long-options\"\n+\tbool \"Support --long-options\"\n \tdefault BUSYBOX_DEFAULT_LONG_OPTS\n \thelp\n \t  Enable this if you want busybox applets to use the gnu --long-option\n@@ -197,7 +199,7 @@ config BUSYBOX_CONFIG_PID_FILE_PATH\n \t  specify a pidfile path.\n \n config BUSYBOX_CONFIG_FEATURE_SUID\n-\tbool \"Support for SUID/SGID handling\"\n+\tbool \"Support SUID/SGID handling\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SUID\n \thelp\n \t  With this option you can install the busybox binary belonging\n@@ -337,6 +339,17 @@ config BUSYBOX_CONFIG_FEATURE_HAVE_RPC\n \t#  This is automatically selected if any of enabled applets need it.\n \t#  You do not need to select it manually.\n \n+config BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tbool #No description makes it a hidden option\n+\tdefault BUSYBOX_DEFAULT_PLATFORM_LINUX\n+\t#help\n+\t#  For the most part, busybox requires only POSIX compatibility\n+\t#  from the target system, but some applets and features use\n+\t#  Linux-specific interfaces.\n+\t#\n+\t#  This is automatically selected if any applet or feature requires\n+\t#  Linux-specific interfaces. You do not need to select it manually.\n+\n comment 'Build Options'\n \n config BUSYBOX_CONFIG_STATIC\n@@ -610,6 +623,8 @@ config BUSYBOX_CONFIG_DEBUG_SANITIZE\n \t  catch bad memory accesses (e.g. buffer overflows), but will make\n \t  the executable larger and slow down runtime a bit.\n \n+\t  This adds -fsanitize=foo options to gcc command line.\n+\n \t  If you aren't developing/testing busybox, say N here.\n \n config BUSYBOX_CONFIG_UNIT_TEST\n@@ -624,7 +639,7 @@ config BUSYBOX_CONFIG_WERROR\n \tbool \"Abort compilation on any warning\"\n \tdefault BUSYBOX_DEFAULT_WERROR\n \thelp\n-\t  Selecting this will add -Werror to gcc command line.\n+\t  This adds -Werror to gcc command line.\n \n \t  Most people should answer N.\n \ndiff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in\nindex cf47e6591b..ccfb828a84 100644\n--- a/package/utils/busybox/config/archival/Config.in\n+++ b/package/utils/busybox/config/archival/Config.in\n@@ -9,32 +9,22 @@ menu \"Archival Utilities\"\n config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ\n \tbool \"Make tar, rpm, modprobe etc understand .xz data\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ\n-\thelp\n-\t  Make tar, rpm, modprobe etc understand .xz data.\n \n config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA\n \tbool \"Make tar, rpm, modprobe etc understand .lzma data\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SEAMLESS_LZMA\n-\thelp\n-\t  Make tar, rpm, modprobe etc understand .lzma data.\n \n config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2\n \tbool \"Make tar, rpm, modprobe etc understand .bz2 data\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SEAMLESS_BZ2\n-\thelp\n-\t  Make tar, rpm, modprobe etc understand .bz2 data.\n \n config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ\n \tbool \"Make tar, rpm, modprobe etc understand .gz data\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ\n-\thelp\n-\t  Make tar, rpm, modprobe etc understand .gz data.\n \n config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z\n \tbool \"Make tar, rpm, modprobe etc understand .Z data\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z  # it is ancient\n-\thelp\n-\t  Make tar, rpm, modprobe etc understand .Z data.\n \n config BUSYBOX_CONFIG_AR\n \tbool \"ar\"\n@@ -50,7 +40,7 @@ config BUSYBOX_CONFIG_AR\n \t  probably say N here: most compilers come with their own ar utility.\n \n config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES\n-\tbool \"Support for long filenames (not needed for debs)\"\n+\tbool \"Support long filenames (not needed for debs)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_AR_LONG_FILENAMES\n \tdepends on BUSYBOX_CONFIG_AR\n \thelp\n@@ -74,6 +64,7 @@ config BUSYBOX_CONFIG_UNCOMPRESS\n config BUSYBOX_CONFIG_GUNZIP\n \tbool \"gunzip\"\n \tdefault BUSYBOX_DEFAULT_GUNZIP\n+\tselect BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS\n \thelp\n \t  gunzip is used to decompress archives created by gzip.\n \t  You can use the `-t' option to test the integrity of\n@@ -82,6 +73,7 @@ config BUSYBOX_CONFIG_GUNZIP\n config BUSYBOX_CONFIG_ZCAT\n \tbool \"zcat\"\n \tdefault BUSYBOX_DEFAULT_ZCAT\n+\tselect BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS\n \thelp\n \t  Alias to \"gunzip -c\".\n \n@@ -89,11 +81,10 @@ config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS\n \tdepends on (BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT) && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Enable use of long options.\n config BUSYBOX_CONFIG_BUNZIP2\n \tbool \"bunzip2\"\n \tdefault BUSYBOX_DEFAULT_BUNZIP2\n+\tselect BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS\n \thelp\n \t  bunzip2 is a compression utility using the Burrows-Wheeler block\n \t  sorting text compression algorithm, and Huffman coding. Compression\n@@ -107,6 +98,7 @@ config BUSYBOX_CONFIG_BUNZIP2\n config BUSYBOX_CONFIG_BZCAT\n \tbool \"bzcat\"\n \tdefault BUSYBOX_DEFAULT_BZCAT\n+\tselect BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS\n \thelp\n \t  Alias to \"bunzip2 -c\".\n config BUSYBOX_CONFIG_UNLZMA\n@@ -141,7 +133,7 @@ config BUSYBOX_CONFIG_LZMA\n \t  IOW: you'll get lzma applet, but it will always require -d option.\n \n config BUSYBOX_CONFIG_FEATURE_LZMA_FAST\n-\tbool \"Optimize unlzma for speed\"\n+\tbool \"Optimize for speed\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LZMA_FAST\n \tdepends on BUSYBOX_CONFIG_UNLZMA || BUSYBOX_CONFIG_LZCAT || BUSYBOX_CONFIG_LZMA\n \thelp\n@@ -177,6 +169,15 @@ config BUSYBOX_CONFIG_BZIP2\n \n \t  Unless you have a specific application which requires bzip2, you\n \t  should probably say N here.\n+\n+config BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS\n+\tbool \"Enable decompression\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS\n+\tdepends on BUSYBOX_CONFIG_BZIP2 || BUSYBOX_CONFIG_BUNZIP2 || BUSYBOX_CONFIG_BZCAT\n+\thelp\n+\t  Enable -d (--decompress) and -t (--test) options for bzip2.\n+\t  This will be automatically selected if bunzip2 or bzcat is\n+\t  enabled.\n config BUSYBOX_CONFIG_CPIO\n \tbool \"cpio\"\n \tdefault BUSYBOX_DEFAULT_CPIO\n@@ -192,7 +193,7 @@ config BUSYBOX_CONFIG_CPIO\n \t  should probably say N here.\n \n config BUSYBOX_CONFIG_FEATURE_CPIO_O\n-\tbool \"Support for archive creation\"\n+\tbool \"Support archive creation\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CPIO_O\n \tdepends on BUSYBOX_CONFIG_CPIO\n \thelp\n@@ -200,7 +201,7 @@ config BUSYBOX_CONFIG_FEATURE_CPIO_O\n \t  format only.\n \n config BUSYBOX_CONFIG_FEATURE_CPIO_P\n-\tbool \"Support for passthrough mode\"\n+\tbool \"Support passthrough mode\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CPIO_P\n \tdepends on BUSYBOX_CONFIG_FEATURE_CPIO_O\n \thelp\n@@ -237,11 +238,9 @@ config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_GZIP_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Enable use of long options, increases size by about 106 Bytes\n \n config BUSYBOX_CONFIG_GZIP_FAST\n-\tint \"Trade memory for gzip speed (0:small,slow - 2:fast,big)\"\n+\tint \"Trade memory for speed (0:small,slow - 2:fast,big)\"\n \tdefault BUSYBOX_DEFAULT_GZIP_FAST\n \trange 0 2\n \tdepends on BUSYBOX_CONFIG_GZIP\n@@ -261,6 +260,15 @@ config BUSYBOX_CONFIG_FEATURE_GZIP_LEVELS\n \t  is 6. If levels 1-3 are specified, 4 is used.\n \t  If this option is not selected, -N options are ignored and -9\n \t  is used.\n+\n+config BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS\n+\tbool \"Enable decompression\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS\n+\tdepends on BUSYBOX_CONFIG_GZIP || BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT\n+\thelp\n+\t  Enable -d (--decompress) and -t (--test) options for gzip.\n+\t  This will be automatically selected if gunzip or zcat is\n+\t  enabled.\n config BUSYBOX_CONFIG_LZOP\n \tbool \"lzop\"\n \tdefault BUSYBOX_DEFAULT_LZOP\n@@ -269,13 +277,13 @@ config BUSYBOX_CONFIG_LZOP\n \n config BUSYBOX_CONFIG_UNLZOP\n \tbool \"unlzop\"\n-\tdefault BUSYBOX_DEFAULT_UNLZOP\n+\tdefault BUSYBOX_DEFAULT_UNLZOP  # INCOMPAT: upstream lzop does not provide such tool\n \thelp\n \t  Lzop decompresion.\n \n config BUSYBOX_CONFIG_LZOPCAT\n \tbool \"lzopcat\"\n-\tdefault BUSYBOX_DEFAULT_LZOPCAT\n+\tdefault BUSYBOX_DEFAULT_LZOPCAT  # INCOMPAT: upstream lzop does not provide such tool\n \thelp\n \t  Alias to \"unlzop -c\".\n \n@@ -305,13 +313,15 @@ config BUSYBOX_CONFIG_TAR\n \t  create compressed archives. It's probably the most widely used\n \t  UNIX archive program.\n \n+config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS\n+\tbool \"Enable long options\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS\n+\tdepends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS\n+\n config BUSYBOX_CONFIG_FEATURE_TAR_CREATE\n-\tbool \"Enable archive creation\"\n+\tbool \"Enable -c (archive creation)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_CREATE\n \tdepends on BUSYBOX_CONFIG_TAR\n-\thelp\n-\t  If you enable this option you'll be able to create\n-\t  tar archives using the `-c' option.\n \n config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT\n \tbool \"Autodetect compressed tarballs\"\n@@ -330,7 +340,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_FROM\n \t  a list of files to include or exclude from an archive.\n \n config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY\n-\tbool \"Support for old tar header format\"\n+\tbool \"Support old tar header format\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_OLDGNU_COMPATIBILITY\n \tdepends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG\n \thelp\n@@ -349,22 +359,12 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY\n \t  tarballs still exist.\n \n config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS\n-\tbool \"Support for GNU tar extensions (long filenames)\"\n+\tbool \"Support GNU tar extensions (long filenames)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS\n \tdepends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG\n-\thelp\n-\t  With this option busybox supports GNU long filenames and\n-\t  linknames.\n-\n-config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS\n-\tbool \"Enable long options\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS\n-\tdepends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Enable use of long options, increases size by about 400 Bytes\n \n config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND\n-\tbool \"Support for writing to an external program\"\n+\tbool \"Support writing to an external program (--to-command)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_TO_COMMAND\n \tdepends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS\n \thelp\n@@ -377,20 +377,17 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_UNAME_GNAME\n \tdepends on BUSYBOX_CONFIG_TAR\n \thelp\n-\t  Enables use of user and group names in tar. This affects contents\n+\t  Enable use of user and group names in tar. This affects contents\n \t  listings (-t) and preserving permissions when unpacking (-p).\n \t  +200 bytes.\n \n config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME\n-\tbool \"Enable -m (do not preserve time) option\"\n+\tbool \"Enable -m (do not preserve time) GNU option\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_NOPRESERVE_TIME\n \tdepends on BUSYBOX_CONFIG_TAR\n-\thelp\n-\t  With this option busybox supports GNU tar -m\n-\t  (do not preserve time) option.\n \n config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX\n-\tbool \"Support for extracting SELinux labels\"\n+\tbool \"Support extracting SELinux labels\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAR_SELINUX\n \tdepends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX\n \thelp\n@@ -403,7 +400,31 @@ config BUSYBOX_CONFIG_UNZIP\n \t  unzip will list or extract files from a ZIP archive,\n \t  commonly found on DOS/WIN systems. The default behavior\n \t  (with no options) is to extract the archive into the\n-\t  current directory. Use the `-d' option to extract to a\n-\t  directory of your choice.\n+\t  current directory.\n+\n+config BUSYBOX_CONFIG_FEATURE_UNZIP_CDF\n+\tbool \"Read and use Central Directory data\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UNZIP_CDF\n+\tdepends on BUSYBOX_CONFIG_UNZIP\n+\thelp\n+\t  If you know that you only need to deal with simple\n+\t  ZIP files without deleted/updated files, SFX archives etc,\n+\t  you can reduce code size by unselecting this option.\n+\t  To support less trivial ZIPs, say Y.\n+\n+config BUSYBOX_CONFIG_FEATURE_UNZIP_BZIP2\n+\tbool \"Support compression method 12 (bzip2)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UNZIP_BZIP2\n+\tdepends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP\n+\n+config BUSYBOX_CONFIG_FEATURE_UNZIP_LZMA\n+\tbool \"Support compression method 14 (lzma)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA\n+\tdepends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP\n+\n+config BUSYBOX_CONFIG_FEATURE_UNZIP_XZ\n+\tbool \"Support compression method 95 (xz)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ\n+\tdepends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP\n \n endmenu\ndiff --git a/package/utils/busybox/config/console-tools/Config.in b/package/utils/busybox/config/console-tools/Config.in\nindex e5a4bfbeaf..dcc19a567d 100644\n--- a/package/utils/busybox/config/console-tools/Config.in\n+++ b/package/utils/busybox/config/console-tools/Config.in\n@@ -76,18 +76,14 @@ comment \"Common options for loadfont and setfont\"\n \tdepends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT\n \n config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2\n-\tbool \"Support for PSF2 console fonts\"\n+\tbool \"Support PSF2 console fonts\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2\n \tdepends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT\n-\thelp\n-\t  Support PSF2 console fonts.\n \n config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW\n-\tbool \"Support for old (raw) console fonts\"\n+\tbool \"Support old (raw) console fonts\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW\n \tdepends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT\n-\thelp\n-\t  Support old (raw) console fonts.\n config BUSYBOX_CONFIG_LOADKMAP\n \tbool \"loadkmap\"\n \tdefault BUSYBOX_DEFAULT_LOADKMAP\n@@ -136,8 +132,6 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the setconsole applet.\n config BUSYBOX_CONFIG_SETKEYCODES\n \tbool \"setkeycodes\"\n \tdefault BUSYBOX_DEFAULT_SETKEYCODES\ndiff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in\nindex 855bcd1b44..c4ef1f4fb7 100644\n--- a/package/utils/busybox/config/coreutils/Config.in\n+++ b/package/utils/busybox/config/coreutils/Config.in\n@@ -13,23 +13,19 @@ config BUSYBOX_CONFIG_BASENAME\n \t  basename is used to strip the directory and suffix from filenames,\n \t  leaving just the filename itself. Enable this option if you wish\n \t  to enable the 'basename' utility.\n-config BUSYBOX_CONFIG_CAL\n-\tbool \"cal\"\n-\tdefault BUSYBOX_DEFAULT_CAL\n-\thelp\n-\t  cal is used to display a monthly calendar.\n config BUSYBOX_CONFIG_CAT\n \tbool \"cat\"\n \tdefault BUSYBOX_DEFAULT_CAT\n \thelp\n \t  cat is used to concatenate files and print them to the standard\n \t  output. Enable this option if you wish to enable the 'cat' utility.\n-config BUSYBOX_CONFIG_CATV\n-\tbool \"catv\"\n-\tdefault BUSYBOX_DEFAULT_CATV\n+\n+config BUSYBOX_CONFIG_FEATURE_CATV\n+\tbool \"cat -v[etA]\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_CATV\n+\tdepends on BUSYBOX_CONFIG_CAT\n \thelp\n-\t  Display nonprinting characters as escape sequences (like some\n-\t  implementations' cat -v option).\n+\t  Display nonprinting characters as escape sequences\n config BUSYBOX_CONFIG_CHGRP\n \tbool \"chgrp\"\n \tdefault BUSYBOX_DEFAULT_CHGRP\n@@ -51,8 +47,6 @@ config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Enable use of long options\n config BUSYBOX_CONFIG_CHROOT\n \tbool \"chroot\"\n \tdefault BUSYBOX_DEFAULT_CHROOT\n@@ -77,11 +71,11 @@ config BUSYBOX_CONFIG_CP\n \t  cp is used to copy files and directories.\n \n config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS\n-\tbool \"Enable long options for cp\"\n+\tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS\n \thelp\n-\t  Enable long options for cp.\n+\t  Enable long options.\n \t  Also add support for --parents option.\n config BUSYBOX_CONFIG_CUT\n \tbool \"cut\"\n@@ -163,7 +157,7 @@ config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS\n \tdefault BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS\n \tdepends on BUSYBOX_CONFIG_DD\n \thelp\n-\t  Enables support for writing a certain number of bytes in and out,\n+\t  Enable support for writing a certain number of bytes in and out,\n \t  at a time, and performing conversions on the data stream.\n \n config BUSYBOX_CONFIG_FEATURE_DD_STATUS\n@@ -171,7 +165,7 @@ config BUSYBOX_CONFIG_FEATURE_DD_STATUS\n \tdefault BUSYBOX_DEFAULT_FEATURE_DD_STATUS\n \tdepends on BUSYBOX_CONFIG_DD\n \thelp\n-\t  Enables support for status=noxfer/none option.\n+\t  Enable support for status=noxfer/none option.\n config BUSYBOX_CONFIG_DF\n \tbool \"df\"\n \tdefault BUSYBOX_DEFAULT_DF\n@@ -184,11 +178,9 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY\n \tdefault BUSYBOX_DEFAULT_FEATURE_DF_FANCY\n \tdepends on BUSYBOX_CONFIG_DF\n \thelp\n-\t  This option enables -a, -i and -B.\n-\n-\t    -a Show all filesystems\n-\t    -i Inodes\n-\t    -B <SIZE> Blocksize\n+\t  -a Show all filesystems\n+\t  -i Inodes\n+\t  -B <SIZE> Blocksize\n config BUSYBOX_CONFIG_DIRNAME\n \tbool \"dirname\"\n \tdefault BUSYBOX_DEFAULT_DIRNAME\n@@ -229,11 +221,9 @@ config BUSYBOX_CONFIG_ECHO\n \n # this entry also appears in shell/Config.in, next to the echo builtin\n config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO\n-\tbool \"Enable echo options (-n and -e)\"\n+\tbool \"Enable -n and -e options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO\n-\tdepends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH\n-\thelp\n-\t  This adds options (-n and -e) to echo.\n+\tdepends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_ECHO || BUSYBOX_CONFIG_HUSH_ECHO\n config BUSYBOX_CONFIG_ENV\n \tbool \"env\"\n \tdefault BUSYBOX_DEFAULT_ENV\n@@ -246,8 +236,6 @@ config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_ENV_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the env applet.\n config BUSYBOX_CONFIG_EXPAND\n \tbool \"expand\"\n \tdefault BUSYBOX_DEFAULT_EXPAND\n@@ -258,8 +246,6 @@ config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_EXPAND_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the expand applet.\n \n config BUSYBOX_CONFIG_UNEXPAND\n \tbool \"unexpand\"\n@@ -271,8 +257,6 @@ config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UNEXPAND_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the unexpand applet.\n config BUSYBOX_CONFIG_EXPR\n \tbool \"expr\"\n \tdefault BUSYBOX_DEFAULT_EXPR\n@@ -288,6 +272,11 @@ config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64\n \t  Enable 64-bit math support in the expr applet. This will make\n \t  the applet slightly larger, but will allow computation with very\n \t  large numbers.\n+config BUSYBOX_CONFIG_FACTOR\n+\tbool \"factor\"\n+\tdefault BUSYBOX_DEFAULT_FACTOR\n+\thelp\n+\t  factor factorizes integers\n config BUSYBOX_CONFIG_FALSE\n \tbool \"false\"\n \tdefault BUSYBOX_DEFAULT_FALSE\n@@ -311,11 +300,9 @@ config BUSYBOX_CONFIG_HEAD\n \t  from files.\n \n config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD\n-\tbool \"Enable head options (-c, -q, and -v)\"\n+\tbool \"Enable -c, -q, and -v\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD\n \tdepends on BUSYBOX_CONFIG_HEAD\n-\thelp\n-\t  This enables the head options (-c, -q, and -v).\n config BUSYBOX_CONFIG_HOSTID\n \tbool \"hostid\"\n \tdefault BUSYBOX_DEFAULT_HOSTID\n@@ -343,8 +330,11 @@ config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSTALL_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS\n+config BUSYBOX_CONFIG_LINK\n+\tbool \"link\"\n+\tdefault BUSYBOX_DEFAULT_LINK\n \thelp\n-\t  Support long options for the install applet.\n+\t  link creates hard links between files.\n config BUSYBOX_CONFIG_LN\n \tbool \"ln\"\n \tdefault BUSYBOX_DEFAULT_LN\n@@ -365,22 +355,21 @@ config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES\n \tbool \"Enable filetyping options (-p and -F)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES\n \tdepends on BUSYBOX_CONFIG_LS\n-\thelp\n-\t  Enable the ls options (-p and -F).\n \n config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS\n \tbool \"Enable symlinks dereferencing (-L)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS\n \tdepends on BUSYBOX_CONFIG_LS\n-\thelp\n-\t  Enable the ls option (-L).\n \n config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE\n \tbool \"Enable recursion (-R)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE\n \tdepends on BUSYBOX_CONFIG_LS\n-\thelp\n-\t  Enable the ls option (-R).\n+\n+config BUSYBOX_CONFIG_FEATURE_LS_WIDTH\n+\tbool \"Enable -w WIDTH and window size autodetection\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_LS_WIDTH\n+\tdepends on BUSYBOX_CONFIG_LS\n \n config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES\n \tbool \"Sort the file names\"\n@@ -460,7 +449,6 @@ config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK\n \thelp\n \t  Enabling the -c options allows files to be checked\n \t  against pre-calculated hash values.\n-\n \t  -s and -w are useful options when verifying checksums.\n config BUSYBOX_CONFIG_MKDIR\n \tbool \"mkdir\"\n@@ -472,8 +460,6 @@ config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MKDIR_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the mkdir applet.\n config BUSYBOX_CONFIG_MKFIFO\n \tbool \"mkfifo\"\n \tdefault BUSYBOX_DEFAULT_MKFIFO\n@@ -486,6 +472,11 @@ config BUSYBOX_CONFIG_MKNOD\n \thelp\n \t  mknod is used to create FIFOs or block/character special\n \t  files with the specified names.\n+config BUSYBOX_CONFIG_MKTEMP\n+\tbool \"mktemp\"\n+\tdefault BUSYBOX_DEFAULT_MKTEMP\n+\thelp\n+\t  mktemp is used to create unique temporary files\n config BUSYBOX_CONFIG_MV\n \tbool \"mv\"\n \tdefault BUSYBOX_DEFAULT_MV\n@@ -496,23 +487,37 @@ config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MV_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the mv applet.\n config BUSYBOX_CONFIG_NICE\n \tbool \"nice\"\n \tdefault BUSYBOX_DEFAULT_NICE\n \thelp\n \t  nice runs a program with modified scheduling priority.\n+config BUSYBOX_CONFIG_NL\n+\tbool \"nl\"\n+\tdefault BUSYBOX_DEFAULT_NL\n+\thelp\n+\t  nl is used to number lines of files.\n config BUSYBOX_CONFIG_NOHUP\n \tbool \"nohup\"\n \tdefault BUSYBOX_DEFAULT_NOHUP\n \thelp\n \t  run a command immune to hangups, with output to a non-tty.\n+config BUSYBOX_CONFIG_NPROC\n+\tbool \"nproc\"\n+\tdefault BUSYBOX_DEFAULT_NPROC\n+\thelp\n+\t  Print number of CPUs\n config BUSYBOX_CONFIG_OD\n \tbool \"od\"\n \tdefault BUSYBOX_DEFAULT_OD\n \thelp\n \t  od is used to dump binary files in octal and other formats.\n+config BUSYBOX_CONFIG_PASTE\n+\tbool \"paste\"\n+\tdefault BUSYBOX_DEFAULT_PASTE\n+\thelp\n+\t  paste is used to paste lines of different files together\n+\t  and write the result to stdout\n config BUSYBOX_CONFIG_PRINTENV\n \tbool \"printenv\"\n \tdefault BUSYBOX_DEFAULT_PRINTENV\n@@ -571,6 +576,11 @@ config BUSYBOX_CONFIG_SEQ\n \tdefault BUSYBOX_DEFAULT_SEQ\n \thelp\n \t  print a sequence of numbers\n+config BUSYBOX_CONFIG_SHRED\n+\tbool \"shred\"\n+\tdefault BUSYBOX_DEFAULT_SHRED\n+\thelp\n+\t  Overwrite a file to hide its contents, and optionally delete it\n config BUSYBOX_CONFIG_SHUF\n \tbool \"shuf\"\n \tdefault BUSYBOX_DEFAULT_SHUF\n@@ -624,7 +634,7 @@ config BUSYBOX_CONFIG_SPLIT\n \tbool \"split\"\n \tdefault BUSYBOX_DEFAULT_SPLIT\n \thelp\n-\t  split a file into pieces.\n+\t  Split a file into pieces.\n \n config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY\n \tbool \"Fancy extensions\"\n@@ -692,13 +702,12 @@ config BUSYBOX_CONFIG_TAIL\n \t  from files.\n \n config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL\n-\tbool \"Enable extra tail options (-q, -s, -v, and -F)\"\n+\tbool \"Enable -q, -s, -v, and -F options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL\n \tdepends on BUSYBOX_CONFIG_TAIL\n \thelp\n-\t  The options (-q, -s, -v and -F) are provided by GNU tail, but\n-\t  are not specific in the SUSv3 standard.\n-\n+\t  These options are provided by GNU tail, but\n+\t  are not specific in the SUSv3 standard:\n \t    -q      Never output headers giving file names\n \t    -s SEC  Wait SEC seconds between reads with -f\n \t    -v      Always output headers giving file names\n@@ -739,9 +748,15 @@ config BUSYBOX_CONFIG_TEST2\n config BUSYBOX_CONFIG_FEATURE_TEST_64\n \tbool \"Extend test to 64 bit\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TEST_64\n-\tdepends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_TEST1 || BUSYBOX_CONFIG_TEST2 || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH\n+\tdepends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_TEST1 || BUSYBOX_CONFIG_TEST2 || BUSYBOX_CONFIG_ASH_TEST || BUSYBOX_CONFIG_HUSH_TEST\n \thelp\n \t  Enable 64-bit support in test.\n+config BUSYBOX_CONFIG_TIMEOUT\n+\tbool \"timeout\"\n+\tdefault BUSYBOX_DEFAULT_TIMEOUT\n+\thelp\n+\t  Runs a program and watches it. If it does not terminate in\n+\t  specified number of seconds, it is sent a signal.\n config BUSYBOX_CONFIG_TOUCH\n \tbool \"touch\"\n \tdefault BUSYBOX_DEFAULT_TOUCH\n@@ -856,11 +871,11 @@ config BUSYBOX_CONFIG_WC\n \t  in specified files.\n \n config BUSYBOX_CONFIG_FEATURE_WC_LARGE\n-\tbool \"Support very large files in wc\"\n+\tbool \"Support very large counts\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_WC_LARGE\n \tdepends on BUSYBOX_CONFIG_WC\n \thelp\n-\t  Use \"unsigned long long\" in wc for counter variables.\n+\t  Use \"unsigned long long\" for counter variables.\n config BUSYBOX_CONFIG_WHO\n       bool \"who\"\n       default BUSYBOX_DEFAULT_WHO\n@@ -868,6 +883,13 @@ config BUSYBOX_CONFIG_WHO\n       help\n         who is used to show who is logged on.\n \n+config BUSYBOX_CONFIG_W\n+      bool \"w\"\n+      default BUSYBOX_DEFAULT_W\n+      depends on BUSYBOX_CONFIG_FEATURE_UTMP\n+      help\n+        w is used to show who is logged on.\n+\n config BUSYBOX_CONFIG_USERS\n       bool \"users\"\n       default BUSYBOX_DEFAULT_USERS\n@@ -907,25 +929,11 @@ config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS\n \thelp\n \t  Allow cp and mv to preserve hard links.\n \n-comment \"Common options for ls, more and telnet\"\n-\tdepends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET\n-\n-config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH\n-\tbool \"Calculate terminal & column widths\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_AUTOWIDTH\n-\tdepends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET\n-\thelp\n-\t  This option allows utilities such as 'ls', 'more' and 'telnet'\n-\t  to determine the width of the screen, which can allow them to\n-\t  display additional text or avoid wrapping text onto the next line.\n-\t  If you leave this disabled, your utilities will be especially\n-\t  primitive and will be unable to determine the current screen width.\n-\n comment \"Common options for df, du, ls\"\n \tdepends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS\n \n config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE\n-\tbool \"Support for human readable output (example 13k, 23M, 235G)\"\n+\tbool \"Support human readable output (example 13k, 23M, 235G)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE\n \tdepends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS\n \thelp\ndiff --git a/package/utils/busybox/config/debianutils/Config.in b/package/utils/busybox/config/debianutils/Config.in\nindex d39c60f43e..6b9de0de56 100644\n--- a/package/utils/busybox/config/debianutils/Config.in\n+++ b/package/utils/busybox/config/debianutils/Config.in\n@@ -6,11 +6,6 @@\n \n menu \"Debian Utilities\"\n \n-config BUSYBOX_CONFIG_MKTEMP\n-\tbool \"mktemp\"\n-\tdefault BUSYBOX_DEFAULT_MKTEMP\n-\thelp\n-\t  mktemp is used to create unique temporary files\n config BUSYBOX_CONFIG_PIPE_PROGRESS\n \tbool \"pipe_progress\"\n \tdefault BUSYBOX_DEFAULT_PIPE_PROGRESS\n@@ -35,8 +30,6 @@ config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the run-parts applet.\n \n config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY\n \tbool \"Support additional arguments\"\n@@ -54,22 +47,19 @@ config BUSYBOX_CONFIG_START_STOP_DAEMON\n \t  termination of system-level processes, usually the ones\n \t  started during the startup of the system.\n \n+config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS\n+\tbool \"Enable long options\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS\n+\tdepends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS\n+\n config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY\n \tbool \"Support additional arguments\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY\n \tdepends on BUSYBOX_CONFIG_START_STOP_DAEMON\n \thelp\n-\t  Support additional arguments.\n \t  -o|--oknodo ignored since we exit with 0 anyway\n \t  -v|--verbose\n \t  -N|--nicelevel N\n-\n-config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS\n-\tbool \"Enable long options\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS\n-\tdepends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the start-stop-daemon applet.\n config BUSYBOX_CONFIG_WHICH\n \tbool \"which\"\n \tdefault BUSYBOX_DEFAULT_WHICH\ndiff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in\nindex 6ae361f7ff..da4eaedd79 100644\n--- a/package/utils/busybox/config/editors/Config.in\n+++ b/package/utils/busybox/config/editors/Config.in\n@@ -49,8 +49,6 @@ config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_DIFF_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Enable use of long options.\n \n config BUSYBOX_CONFIG_FEATURE_DIFF_DIR\n \tbool \"Enable directory support\"\n@@ -87,7 +85,7 @@ config BUSYBOX_CONFIG_VI\n \t  you may wish to use something else.\n \n config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN\n-\tint \"Maximum screen width in vi\"\n+\tint \"Maximum screen width\"\n \trange 256 16384\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN\n \tdepends on BUSYBOX_CONFIG_VI\n@@ -96,7 +94,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN\n \t  Make it smaller than 4k only if you are very limited on memory.\n \n config BUSYBOX_CONFIG_FEATURE_VI_8BIT\n-\tbool \"Allow vi to display 8-bit chars (otherwise shows dots)\"\n+\tbool \"Allow to display 8-bit chars (otherwise shows dots)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_8BIT\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n@@ -110,7 +108,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_COLON\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_COLON\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  Enable a limited set of colon commands for vi. This does not\n+\t  Enable a limited set of colon commands. This does not\n \t  provide an \"ex\" mode.\n \n config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK\n@@ -118,16 +116,14 @@ config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  This will enable you to use yank and put, as well as mark in\n-\t  busybox vi.\n+\t  This will enable you to use yank and put, as well as mark.\n \n config BUSYBOX_CONFIG_FEATURE_VI_SEARCH\n \tbool \"Enable search and replace cmds\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_SEARCH\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  Select this if you wish to be able to do search and replace in\n-\t  busybox vi.\n+\t  Select this if you wish to be able to do search and replace.\n \n config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH\n \tbool \"Enable regex in search and replace\"\n@@ -141,16 +137,15 @@ config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  Selecting this option will make busybox vi signal aware. This will\n-\t  make busybox vi support SIGWINCH to deal with Window Changes, catch\n-\t  Ctrl-Z and Ctrl-C and alarms.\n+\t  Selecting this option will make vi signal aware. This will support\n+\t  SIGWINCH to deal with Window Changes, catch ^Z and ^C and alarms.\n \n config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD\n \tbool \"Remember previous cmd and \\\".\\\" cmd\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  Make busybox vi remember the last command and be able to repeat it.\n+\t  Make vi remember the last command and be able to repeat it.\n \n config BUSYBOX_CONFIG_FEATURE_VI_READONLY\n \tbool \"Enable -R option and \\\"view\\\" mode\"\n@@ -161,25 +156,23 @@ config BUSYBOX_CONFIG_FEATURE_VI_READONLY\n \t  open a file in read-only mode.\n \n config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS\n-\tbool \"Enable set-able options, ai ic showmatch\"\n+\tbool \"Enable settable options, ai ic showmatch\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n \t  Enable the editor to set some (ai, ic, showmatch) options.\n \n config BUSYBOX_CONFIG_FEATURE_VI_SET\n-\tbool \"Support for :set\"\n+\tbool \"Support :set\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_SET\n \tdepends on BUSYBOX_CONFIG_VI\n-\thelp\n-\t  Support for \":set\".\n \n config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE\n \tbool \"Handle window resize\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n-\t  Make busybox vi behave nicely with terminals that get resized.\n+\t  Behave nicely with terminals that get resized.\n \n config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL\n \tbool \"Use 'tell me cursor position' ESC sequence to measure window\"\n@@ -190,15 +183,16 @@ config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL\n \t  this option makes vi perform a last-ditch effort to find it:\n \t  position cursor to 999,999 and ask terminal to report real\n \t  cursor position using \"ESC [ 6 n\" escape sequence, then read stdin.\n-\n \t  This is not clean but helps a lot on serial lines and such.\n+\n config BUSYBOX_CONFIG_FEATURE_VI_UNDO\n-\tbool \"Support undo command 'u'\"\n+\tbool \"Support undo command \\\"u\\\"\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_UNDO\n \tdepends on BUSYBOX_CONFIG_VI\n \thelp\n \t  Support the 'u' command to undo insertion, deletion, and replacement\n \t  of text.\n+\n config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE\n \tbool \"Enable undo operation queuing\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE\n@@ -209,6 +203,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE\n \t  reached, the contents of the queue are committed to the undo stack.\n \t  This increases the size of the undo code and allows some undo\n \t  operations (especially un-typing/backspacing) to be far more useful.\n+\n config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX\n \tint \"Maximum undo character queue size\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX\n@@ -228,7 +223,7 @@ config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC\n \tdefault BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC\n \tdepends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK\n \thelp\n-\t  Enables vi and awk features which allows user to execute\n+\t  Enables vi and awk features which allow user to execute\n \t  shell commands (using system() C call).\n \n endmenu\ndiff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in\nindex 7d636d1ac4..3393adbe3b 100644\n--- a/package/utils/busybox/config/findutils/Config.in\n+++ b/package/utils/busybox/config/findutils/Config.in\n@@ -42,8 +42,6 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PERM\n \tbool \"Enable -perm: permissions matching\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_PERM\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  Enable searching based on file permissions.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_TYPE\n \tbool \"Enable -type: file type matching (file/dir/link/...)\"\n@@ -57,15 +55,11 @@ config BUSYBOX_CONFIG_FEATURE_FIND_XDEV\n \tbool \"Enable -xdev: 'stay in filesystem'\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_XDEV\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  This option allows find to restrict searches to a single filesystem.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH\n \tbool \"Enable -mindepth N and -maxdepth N\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  This option enables -mindepth N and -maxdepth N option.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_NEWER\n \tbool \"Enable -newer: compare file modification times\"\n@@ -79,8 +73,6 @@ config BUSYBOX_CONFIG_FEATURE_FIND_INUM\n \tbool \"Enable -inum: inode number matching\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_INUM\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  Support the 'find -inum' option for searching by inode number.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_EXEC\n \tbool \"Enable -exec: execute commands\"\n@@ -104,15 +96,11 @@ config BUSYBOX_CONFIG_FEATURE_FIND_USER\n \tbool \"Enable -user: username/uid matching\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_USER\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  Support the 'find -user' option for searching by username or uid.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_GROUP\n \tbool \"Enable -group: group/gid matching\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_GROUP\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  Support the 'find -group' option for searching by group name or gid.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_NOT\n \tbool \"Enable the 'not' (!) operator\"\n@@ -141,15 +129,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_SIZE\n \tbool \"Enable -size: file size matching\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_SIZE\n \tdepends on BUSYBOX_CONFIG_FIND\n-\thelp\n-\t  Support the 'find -size' option for searching by file size.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE\n \tbool \"Enable -prune: exclude subdirectories\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE\n \tdepends on BUSYBOX_CONFIG_FIND\n \thelp\n-\t  If the file is a directory, dont descend into it. Useful for\n+\t  If the file is a directory, don't descend into it. Useful for\n \t  exclusion .svn and CVS directories.\n \n config BUSYBOX_CONFIG_FEATURE_FIND_DELETE\n@@ -209,7 +195,7 @@ config BUSYBOX_CONFIG_FGREP\n config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT\n \tbool \"Enable before and after context flags (-A, -B and -C)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT\n-\tdepends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP\n+\tdepends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP || BUSYBOX_CONFIG_FGREP\n \thelp\n \t  Print the specified number of leading (-B) and/or trailing (-A)\n \t  context surrounding our matching lines.\ndiff --git a/package/utils/busybox/config/init/Config.in b/package/utils/busybox/config/init/Config.in\nindex cd1a345197..072df33893 100644\n--- a/package/utils/busybox/config/init/Config.in\n+++ b/package/utils/busybox/config/init/Config.in\n@@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_INIT\n \t  init is the first program run when the system boots.\n \n config BUSYBOX_CONFIG_LINUXRC\n-\tbool \"Support running init from within an initrd (not initramfs)\"\n+\tbool \"linuxrc: support running init from initrd (not initramfs)\"\n \tdefault BUSYBOX_DEFAULT_LINUXRC\n \tselect BUSYBOX_CONFIG_FEATURE_SYSLOG\n \thelp\n@@ -145,13 +145,15 @@ config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG\n \tbool \"Enable init to write to syslog\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG\n \tdepends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC\n+\thelp\n+\t  If selected, some init messages are sent to syslog.\n+\t  Otherwise, they are sent to VT #5 if linux virtual tty is detected\n+\t  (if not, no separate logging is done).\n \n-config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET\n-\tbool \"Be _extra_ quiet on boot\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET\n+config BUSYBOX_CONFIG_FEATURE_INIT_QUIET\n+\tbool \"Be quiet on boot (no 'init started:' message)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_INIT_QUIET\n \tdepends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC\n-\thelp\n-\t  Prevent init from logging some messages to the console during boot.\n \n config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS\n \tbool \"Support dumping core for child processes (debugging only)\"\n@@ -176,36 +178,18 @@ config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE\n \t  sets TERM to \"vt102\" if one is found.\n \n config BUSYBOX_CONFIG_FEATURE_INIT_MODIFY_CMDLINE\n-\tbool \"Modify the command-line to \\\"init\\\"\"\n+\tbool \"Clear init's command line\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE\n \tdepends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC\n \thelp\n \t  When launched as PID 1 and after parsing its arguments, init\n \t  wipes all the arguments but argv[0] and rewrites argv[0] to\n-\t  contain only \"init\", so that its command-line appears solely as\n+\t  contain only \"init\", so that its command line appears solely as\n \t  \"init\" in tools such as ps.\n \t  If this option is set to Y, init will keep its original behavior,\n \t  otherwise, all the arguments including argv[0] will be preserved,\n \t  be they parsed or ignored by init.\n \t  The original command-line used to launch init can then be\n \t  retrieved in /proc/1/cmdline on Linux, for example.\n-config BUSYBOX_CONFIG_MESG\n-\tbool \"mesg\"\n-\tdefault BUSYBOX_DEFAULT_MESG\n-\thelp\n-\t  Mesg controls access to your terminal by others. It is typically\n-\t  used to allow or disallow other users to write to your terminal\n-\n-config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP\n-\tbool \"Enable writing to tty only by group, not by everybody\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP\n-\tdepends on BUSYBOX_CONFIG_MESG\n-\thelp\n-\t  Usually, ttys are owned by group \"tty\", and \"write\" tool is\n-\t  setgid to this group. This way, \"mesg y\" only needs to enable\n-\t  \"write by owning group\" bit in tty mode.\n-\n-\t  If you set this option to N, \"mesg y\" will enable writing\n-\t  by anybody at all. This is not recommended.\n \n endmenu\ndiff --git a/package/utils/busybox/config/libbb/Config.in b/package/utils/busybox/config/libbb/Config.in\nindex ec08351b5c..1687ed5c78 100644\n--- a/package/utils/busybox/config/libbb/Config.in\n+++ b/package/utils/busybox/config/libbb/Config.in\n@@ -108,24 +108,13 @@ config BUSYBOX_CONFIG_FEATURE_FAST_TOP\n \t  but code size is slightly bigger.\n \n config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS\n-\tbool \"Support for /etc/networks\"\n+\tbool \"Support /etc/networks\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS\n \thelp\n \t  Enable support for network names in /etc/networks. This is\n \t  a rarely used feature which allows you to use names\n \t  instead of IP/mask pairs in route command.\n \n-config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS\n-\tbool \"Use termios to manipulate the screen\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS\n-\tdepends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP\n-\thelp\n-\t  This option allows utilities such as 'more' and 'top' to determine\n-\t  the size of the screen. If you leave this disabled, your utilities\n-\t  that display things on the screen will be especially primitive and\n-\t  will be unable to determine the current screen size, and will be\n-\t  unable to move the cursor.\n-\n config BUSYBOX_CONFIG_FEATURE_EDITING\n \tbool \"Command line editing\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_EDITING\n@@ -185,15 +174,11 @@ config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION\n \tbool \"Tab completion\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION\n \tdepends on BUSYBOX_CONFIG_FEATURE_EDITING\n-\thelp\n-\t  Enable tab completion.\n \n config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION\n \tbool \"Username completion\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION\n \tdepends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION\n-\thelp\n-\t  Enable username completion.\n \n config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT\n \tbool \"Fancy shell prompts\"\ndiff --git a/package/utils/busybox/config/loginutils/Config.in b/package/utils/busybox/config/loginutils/Config.in\nindex 956115c7f4..fa00595877 100644\n--- a/package/utils/busybox/config/loginutils/Config.in\n+++ b/package/utils/busybox/config/loginutils/Config.in\n@@ -7,7 +7,7 @@\n menu \"Login/Password Management Utilities\"\n \n config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS\n-\tbool \"Support for shadow passwords\"\n+\tbool \"Support shadow passwords\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS\n \thelp\n \t  Build support for shadow password in /etc/shadow. This file is only\n@@ -113,15 +113,13 @@ config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the addgroup applet.\n \n config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP\n-\tbool \"Support for adding users to groups\"\n+\tbool \"Support adding users to groups\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP\n \tdepends on BUSYBOX_CONFIG_ADDGROUP\n \thelp\n-\t  If  called  with two non-option arguments,\n+\t  If called with two non-option arguments,\n \t  addgroup will add an existing user to an\n \t  existing group.\n config BUSYBOX_CONFIG_ADDUSER\n@@ -134,8 +132,6 @@ config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_ADDUSER_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the adduser applet.\n \n config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES\n \tbool \"Enable sanity check on user/group names in adduser and addgroup\"\n@@ -179,9 +175,9 @@ config BUSYBOX_CONFIG_CHPASSWD\n \t  and uses this information to update a group of existing users.\n \n config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO\n-\tstring \"Default password encryption method (passwd -a, cryptpw -m parameter)\"\n+\tstring \"Default encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO\n-\tdepends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW\n+\tdepends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW || BUSYBOX_CONFIG_CHPASSWD\n \thelp\n \t  Possible choices are \"d[es]\", \"m[d5]\", \"s[ha256]\" or \"sha512\".\n config BUSYBOX_CONFIG_CRYPTPW\n@@ -211,7 +207,7 @@ config BUSYBOX_CONFIG_DELGROUP\n \t  Utility for deleting a group account.\n \n config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP\n-\tbool \"Support for removing users from groups\"\n+\tbool \"Support removing users from groups\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_DEL_USER_FROM_GROUP\n \tdepends on BUSYBOX_CONFIG_DELGROUP\n \thelp\n@@ -257,7 +253,7 @@ config BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD\n \t  will not be cleaned up.\n \n config BUSYBOX_CONFIG_LOGIN_SCRIPTS\n-\tbool \"Support for login scripts\"\n+\tbool \"Support login scripts\"\n \tdepends on BUSYBOX_CONFIG_LOGIN\n \tdefault BUSYBOX_DEFAULT_LOGIN_SCRIPTS\n \thelp\n@@ -265,7 +261,7 @@ config BUSYBOX_CONFIG_LOGIN_SCRIPTS\n \t  just prior to switching from root to logged-in user.\n \n config BUSYBOX_CONFIG_FEATURE_NOLOGIN\n-\tbool \"Support for /etc/nologin\"\n+\tbool \"Support /etc/nologin\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_NOLOGIN\n \tdepends on BUSYBOX_CONFIG_LOGIN\n \thelp\n@@ -273,7 +269,7 @@ config BUSYBOX_CONFIG_FEATURE_NOLOGIN\n \t  If it exists, non-root logins are prohibited.\n \n config BUSYBOX_CONFIG_FEATURE_SECURETTY\n-\tbool \"Support for /etc/securetty\"\n+\tbool \"Support /etc/securetty\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SECURETTY\n \tdepends on BUSYBOX_CONFIG_LOGIN\n \thelp\n@@ -306,19 +302,23 @@ config BUSYBOX_CONFIG_SU\n \thelp\n \t  su is used to become another user during a login session.\n \t  Invoked without a username, su defaults to becoming the super user.\n-\n-\t  Note that Busybox binary must be setuid root for this applet to\n+\t  Note that busybox binary must be setuid root for this applet to\n \t  work properly.\n \n config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG\n-\tbool \"Enable su to write to syslog\"\n+\tbool \"Log to syslog all attempts to use su\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SU_SYSLOG\n \tdepends on BUSYBOX_CONFIG_SU\n \n config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS\n-\tbool \"Enable su to check user's shell to be listed in /etc/shells\"\n-\tdepends on BUSYBOX_CONFIG_SU\n+\tbool \"If user's shell is not in /etc/shells, disallow -s PROG\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS\n+\tdepends on BUSYBOX_CONFIG_SU\n+\n+config BUSYBOX_CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY\n+\tbool \"Allow blank passwords only on TTYs in /etc/securetty\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY\n+\tdepends on BUSYBOX_CONFIG_SU\n config BUSYBOX_CONFIG_SULOGIN\n \tbool \"sulogin\"\n \tdefault BUSYBOX_DEFAULT_SULOGIN\ndiff --git a/package/utils/busybox/config/miscutils/Config.in b/package/utils/busybox/config/miscutils/Config.in\nindex 817a514b75..61c5458b63 100644\n--- a/package/utils/busybox/config/miscutils/Config.in\n+++ b/package/utils/busybox/config/miscutils/Config.in\n@@ -42,7 +42,7 @@ config BUSYBOX_CONFIG_BEEP\n \n config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ\n \tint \"default frequency\"\n-\trange 0 2147483647\n+\trange 20 50000\t# allowing 0 here breaks the build\n \tdefault BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ\n \tdepends on BUSYBOX_CONFIG_BEEP\n \thelp\n@@ -121,12 +121,6 @@ config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT\n \tdefault BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT\n \thelp\n \t  Support CLR_ABORT directive.\n-config BUSYBOX_CONFIG_CHRT\n-\tbool \"chrt\"\n-\tdefault BUSYBOX_DEFAULT_CHRT\n-\thelp\n-\t  manipulate real-time attributes of a process.\n-\t  This requires sched_{g,s}etparam support in your libc.\n config BUSYBOX_CONFIG_CONSPY\n \tbool \"conspy\"\n \tdefault BUSYBOX_DEFAULT_CONSPY\n@@ -220,7 +214,7 @@ config BUSYBOX_CONFIG_DEVFSD_MODLOAD\n \t  the external modutils.\n \n config BUSYBOX_CONFIG_DEVFSD_FG_NP\n-\tbool \"Enables the -fg and -np options\"\n+\tbool \"Enable the -fg and -np options\"\n \tdefault BUSYBOX_DEFAULT_DEVFSD_FG_NP\n \tdepends on BUSYBOX_CONFIG_DEVFSD\n \thelp\n@@ -253,20 +247,6 @@ config BUSYBOX_CONFIG_DEVMEM\n \thelp\n \t  devmem is a small program that reads and writes from physical\n \t  memory using /dev/mem.\n-config BUSYBOX_CONFIG_EJECT\n-\tbool \"eject\"\n-\tdefault BUSYBOX_DEFAULT_EJECT\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n-\thelp\n-\t  Used to eject cdroms. (defaults to /dev/cdrom)\n-\n-config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI\n-\tbool \"SCSI support\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI\n-\tdepends on BUSYBOX_CONFIG_EJECT\n-\thelp\n-\t  Add the -s option to eject, this allows to eject SCSI-Devices and\n-\t  usb-storage devices.\n config BUSYBOX_CONFIG_FBSPLASH\n \tbool \"fbsplash\"\n \tdefault BUSYBOX_DEFAULT_FBSPLASH\n@@ -327,7 +307,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_GET_IDENTITY\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the -I and -i options to obtain detailed information\n+\t  Enable the -I and -i options to obtain detailed information\n \t  directly from drives about their capabilities and supported ATA\n \t  feature set. If no device name is specified, hdparm will read\n \t  identify data from stdin. Enabling this option will add about 16k...\n@@ -337,7 +317,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_SCAN_HWIF\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the 'hdparm -R' option to register an IDE interface.\n+\t  Enable the 'hdparm -R' option to register an IDE interface.\n \t  This is dangerous stuff, so you should probably say N.\n \n config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF\n@@ -345,7 +325,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the 'hdparm -U' option to un-register an IDE interface.\n+\t  Enable the 'hdparm -U' option to un-register an IDE interface.\n \t  This is dangerous stuff, so you should probably say N.\n \n config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET\n@@ -353,7 +333,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_DRIVE_RESET\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the 'hdparm -w' option to perform a device reset.\n+\t  Enable the 'hdparm -w' option to perform a device reset.\n \t  This is dangerous stuff, so you should probably say N.\n \n config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF\n@@ -361,7 +341,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_TRISTATE_HWIF\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the 'hdparm -x' option to tristate device for hotswap,\n+\t  Enable the 'hdparm -x' option to tristate device for hotswap,\n \t  and the '-b' option to get/set bus state. This is dangerous\n \t  stuff, so you should probably say N.\n \n@@ -370,7 +350,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA\n \tdefault BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_GETSET_DMA\n \tdepends on BUSYBOX_CONFIG_HDPARM\n \thelp\n-\t  Enables the 'hdparm -d' option to get/set using_dma flag.\n+\t  Enable the 'hdparm -d' option to get/set using_dma flag.\n config BUSYBOX_CONFIG_I2CGET\n \tbool \"i2cget\"\n \tdefault BUSYBOX_DEFAULT_I2CGET\n@@ -405,27 +385,6 @@ config BUSYBOX_CONFIG_INOTIFYD\n \thelp\n \t  Simple inotify daemon. Reports filesystem changes. Requires\n \t  kernel >= 2.6.13\n-config BUSYBOX_CONFIG_IONICE\n-\tbool \"ionice\"\n-\tdefault BUSYBOX_DEFAULT_IONICE\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n-\thelp\n-\t  Set/set program io scheduling class and priority\n-\t  Requires kernel >= 2.6.13\n-config BUSYBOX_CONFIG_LAST\n-\tbool \"last\"\n-\tdefault BUSYBOX_DEFAULT_LAST\n-\tdepends on BUSYBOX_CONFIG_FEATURE_WTMP\n-\thelp\n-\t  'last' displays a list of the last users that logged into the system.\n-\n-config BUSYBOX_CONFIG_FEATURE_LAST_FANCY\n-\tbool \"Turn on output of extra information\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_LAST_FANCY\n-\tdepends on BUSYBOX_CONFIG_LAST\n-\thelp\n-\t  'last' displays detailed information about the last users that\n-\t  logged into the system (mimics sysvinit last). +900 bytes.\n config BUSYBOX_CONFIG_LESS\n \tbool \"less\"\n \tdefault BUSYBOX_DEFAULT_LESS\n@@ -492,7 +451,6 @@ config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL\n \t  this option makes less perform a last-ditch effort to find it:\n \t  position cursor to 999,999 and ask terminal to report real\n \t  cursor position using \"ESC [ 6 n\" escape sequence, then read stdin.\n-\n \t  This is not clean but helps a lot on serial lines and such.\n \n config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD\n@@ -504,16 +462,23 @@ config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD\n \t  less itself ('-' keyboard command).\n \n config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS\n-\tbool \"Enable dynamic switching of line numbers\"\n+\tbool \"Enable -N (dynamic switching of line numbers)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS\n \tdepends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD\n-\thelp\n-\t  Enables \"-N\" command.\n config BUSYBOX_CONFIG_LOCK\n \tbool \"lock\"\n \tdefault BUSYBOX_DEFAULT_LOCK\n \thelp\n \t  Small utility for using locks in scripts\n+config BUSYBOX_CONFIG_LSSCSI\n+\tbool \"lsscsi\"\n+\tdefault BUSYBOX_DEFAULT_LSSCSI\n+\t#select PLATFORM_LINUX\n+\thelp\n+\t  lsscsi is a utility for displaying information about SCSI buses in the\n+\t  system and devices connected to them.\n+\n+\t  This version uses sysfs (/sys/bus/scsi/devices) only.\n config BUSYBOX_CONFIG_MAKEDEVS\n \tbool \"makedevs\"\n \tdefault BUSYBOX_DEFAULT_MAKEDEVS\n@@ -555,11 +520,6 @@ config BUSYBOX_CONFIG_MICROCOM\n \tdefault BUSYBOX_DEFAULT_MICROCOM\n \thelp\n \t  The poor man's minicom utility for chatting with serial port devices.\n-config BUSYBOX_CONFIG_MOUNTPOINT\n-\tbool \"mountpoint\"\n-\tdefault BUSYBOX_DEFAULT_MOUNTPOINT\n-\thelp\n-\t  mountpoint checks if the directory is a mountpoint.\n config BUSYBOX_CONFIG_MT\n \tbool \"mt\"\n \tdefault BUSYBOX_DEFAULT_MT\n@@ -580,6 +540,12 @@ config BUSYBOX_CONFIG_NANDDUMP\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Dump the content of raw NAND chip\n+config BUSYBOX_CONFIG_PARTPROBE\n+\tbool \"partprobe\"\n+\tdefault BUSYBOX_DEFAULT_PARTPROBE\n+\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\thelp\n+\t  Ask kernel to rescan partition table.\n config BUSYBOX_CONFIG_RAIDAUTORUN\n \tbool \"raidautorun\"\n \tdefault BUSYBOX_DEFAULT_RAIDAUTORUN\n@@ -637,32 +603,12 @@ config BUSYBOX_CONFIG_SETSERIAL\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Retrieve or set Linux serial port.\n-config BUSYBOX_CONFIG_SETSID\n-\tbool \"setsid\"\n-\tdefault BUSYBOX_DEFAULT_SETSID\n-\thelp\n-\t  setsid runs a program in a new session\n config BUSYBOX_CONFIG_STRINGS\n \tbool \"strings\"\n \tdefault BUSYBOX_DEFAULT_STRINGS\n \thelp\n \t  strings prints the printable character sequences for each file\n \t  specified.\n-config BUSYBOX_CONFIG_TASKSET\n-\tbool \"taskset\"\n-\tdefault BUSYBOX_DEFAULT_TASKSET  # doesn't build on some non-x86 targets (m68k)\n-\thelp\n-\t  Retrieve or set a processes's CPU affinity.\n-\t  This requires sched_{g,s}etaffinity support in your libc.\n-\n-config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY\n-\tbool \"Fancy output\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY\n-\tdepends on BUSYBOX_CONFIG_TASKSET\n-\thelp\n-\t  Add code for fancy output. This merely silences a compiler-warning\n-\t  and adds about 135 Bytes. May be needed for machines with alot\n-\t  of CPUs.\n config BUSYBOX_CONFIG_TIME\n \tbool \"time\"\n \tdefault BUSYBOX_DEFAULT_TIME\n@@ -670,12 +616,6 @@ config BUSYBOX_CONFIG_TIME\n \t  The time command runs the specified program with the given arguments.\n \t  When the command finishes, time writes a message to standard output\n \t  giving timing statistics about this program run.\n-config BUSYBOX_CONFIG_TIMEOUT\n-\tbool \"timeout\"\n-\tdefault BUSYBOX_DEFAULT_TIMEOUT\n-\thelp\n-\t  Runs a program and watches it. If it does not terminate in\n-\t  specified number of seconds, it is sent a signal.\n config BUSYBOX_CONFIG_TTYSIZE\n \tbool \"ttysize\"\n \tdefault BUSYBOX_DEFAULT_TTYSIZE\n@@ -736,12 +676,6 @@ config BUSYBOX_CONFIG_VOLNAME\n \tdefault BUSYBOX_DEFAULT_VOLNAME\n \thelp\n \t  Prints a CD-ROM volume name.\n-config BUSYBOX_CONFIG_WALL\n-\tbool \"wall\"\n-\tdefault BUSYBOX_DEFAULT_WALL\n-\tdepends on BUSYBOX_CONFIG_FEATURE_UTMP\n-\thelp\n-\t  Write a message to all users that are logged in.\n config BUSYBOX_CONFIG_WATCHDOG\n \tbool \"watchdog\"\n \tdefault BUSYBOX_DEFAULT_WATCHDOG\ndiff --git a/package/utils/busybox/config/modutils/Config.in b/package/utils/busybox/config/modutils/Config.in\nindex 5203db8c59..9791af65a0 100644\n--- a/package/utils/busybox/config/modutils/Config.in\n+++ b/package/utils/busybox/config/modutils/Config.in\n@@ -9,9 +9,11 @@ menu \"Linux Module Utilities\"\n config BUSYBOX_CONFIG_MODPROBE_SMALL\n \tbool \"Simplified modutils\"\n \tdefault BUSYBOX_DEFAULT_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n-\t  Simplified modutils.\n+\t  Build smaller (~1.5 kbytes), simplified module tools.\n+\n+\t  This option by itself does not enable any applets -\n+\t  you need to select applets individually below.\n \n \t  With this option modprobe does not require modules.dep file\n \t  and does not use /etc/modules.conf file.\n@@ -32,11 +34,6 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL\n \t  Additional module parameters can be stored in\n \t  /etc/modules/$module_name files.\n \n-\t  Apart from modprobe, other utilities are also provided:\n-\t  - insmod is an alias to modprobe\n-\t  - rmmod is an alias to modprobe -r\n-\t  - depmod generates modules.dep.bb\n-\n config BUSYBOX_CONFIG_DEPMOD\n \tbool \"depmod\"\n \tdefault BUSYBOX_DEFAULT_DEPMOD\n@@ -62,7 +59,6 @@ config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT\n \tbool \"Pretty output\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT\n \tdepends on BUSYBOX_CONFIG_LSMOD && !BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  This option makes output format of lsmod adjusted to\n \t  the format of module-init-tools for Linux kernel 2.6.\n@@ -73,20 +69,6 @@ config BUSYBOX_CONFIG_MODINFO\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Show information about a Linux Kernel module\n-config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE\n-\tbool \"Accept module options on modprobe command line\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE\n-\tdepends on BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n-\thelp\n-\t  Allow insmod and modprobe take module options from command line.\n-\n-config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n-\tbool \"Skip loading of already loaded modules\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n-\tdepends on BUSYBOX_CONFIG_MODPROBE_SMALL\n-\thelp\n-\t  Check if the module is already loaded.\n config BUSYBOX_CONFIG_MODPROBE\n \tbool \"modprobe\"\n \tdefault BUSYBOX_DEFAULT_MODPROBE\n@@ -99,7 +81,6 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST\n \tbool \"Blacklist support\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST\n \tdepends on BUSYBOX_CONFIG_MODPROBE && !BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Say 'y' here to enable support for the 'blacklist' command in\n \t  modprobe.conf. This prevents the alias resolver to resolve\n@@ -115,38 +96,34 @@ config BUSYBOX_CONFIG_RMMOD\n \n comment \"Options common to multiple modutils\"\n \n+config BUSYBOX_CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS\n+\tbool \"Accept module options on modprobe command line\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_CMDLINE_MODULE_OPTIONS\n+\tdepends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE\n+\thelp\n+\t  Allow insmod and modprobe take module options from the applets'\n+\t  command line.\n+\n+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n+\tbool \"Skip loading of already loaded modules\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED\n+\tdepends on BUSYBOX_CONFIG_MODPROBE_SMALL && (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)\n+\thelp\n+\t  Check if the module is already loaded.\n+\n config BUSYBOX_CONFIG_FEATURE_2_4_MODULES\n \tbool \"Support version 2.2/2.4 Linux kernels\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_2_4_MODULES\n-\tdepends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_LSMOD\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tdepends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_RMMOD) && !BUSYBOX_CONFIG_MODPROBE_SMALL\n \thelp\n \t  Support module loading for 2.2.x and 2.4.x Linux kernels.\n \t  This increases size considerably. Say N unless you plan\n \t  to run ancient kernels.\n \n-config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP\n-\tbool \"Try to load module from a mmap'ed area\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP\n-\tdepends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n-\thelp\n-\t  This option causes module loading code to try to mmap\n-\t  module first. If it does not work (for example,\n-\t  it does not work for compressed modules), module will be read\n-\t  (and unpacked if needed) into a memory block allocated by malloc.\n-\n-\t  The only case when mmap works but malloc does not is when\n-\t  you are trying to load a big module on a very memory-constrained\n-\t  machine. Malloc will momentarily need 2x as much memory as mmap.\n-\n-\t  Choosing N saves about 250 bytes of code (on 32-bit x86).\n-\n config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING\n \tbool \"Enable module version checking\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_VERSION_CHECKING\n \tdepends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Support checking of versions for modules. This is used to\n \t  ensure that the kernel and module are made for each other.\n@@ -155,10 +132,9 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS\n \tbool \"Add module symbols to kernel symbol table\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_KSYMOOPS_SYMBOLS\n \tdepends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  By adding module symbols to the kernel symbol table, Oops messages\n-\t  occuring within kernel modules can be properly debugged. By enabling\n+\t  occurring within kernel modules can be properly debugged. By enabling\n \t  this feature, module symbols will always be added to the kernel symbol\n \t  table for proper debugging support. If you are not interested in\n \t  Oops messages from kernel modules, say N.\n@@ -167,7 +143,6 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM\n \tbool \"In kernel memory optimization (uClinux only)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_LOADINKMEM\n \tdepends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  This is a special uClinux only memory optimization that lets insmod\n \t  load the specified kernel module directly into kernel space, reducing\n@@ -178,7 +153,6 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP\n \tbool \"Enable insmod load map (-m) option\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP\n \tdepends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Enabling this, one would be able to get a load map\n \t  output on stdout. This makes kernel module debugging\n@@ -189,8 +163,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP\n config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL\n \tbool \"Symbols in load map\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP_FULL\n-\tdepends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tdepends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP\n \thelp\n \t  Without this option, -m will only output section\n \t  load map. With this option, -m will also output\n@@ -200,18 +173,32 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE\n \tbool \"Support tainted module checking with new kernels\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CHECK_TAINTED_MODULE\n \tdepends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Support checking for tainted modules. These are usually binary\n \t  only modules that will make the linux-kernel list ignore your\n \t  support request.\n \t  This option is required to support GPLONLY modules.\n \n+config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP\n+\tbool \"Try to load module from a mmap'ed area\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP\n+\tdepends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL\n+\thelp\n+\t  This option causes module loading code to try to mmap\n+\t  module first. If it does not work (for example,\n+\t  it does not work for compressed modules), module will be read\n+\t  (and unpacked if needed) into a memory block allocated by malloc.\n+\n+\t  The only case when mmap works but malloc does not is when\n+\t  you are trying to load a big module on a very memory-constrained\n+\t  machine. Malloc will momentarily need 2x as much memory as mmap.\n+\n+\t  Choosing N saves about 250 bytes of code (on 32-bit x86).\n+\n config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS\n-\tbool \"Support for module.aliases file\"\n+\tbool \"Support module.aliases file\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MODUTILS_ALIAS\n-\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tdepends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL\n \thelp\n \t  Generate and parse modules.alias containing aliases for bus\n \t  identifiers:\n@@ -225,10 +212,9 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS\n \t  Say Y if unsure.\n \n config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS\n-\tbool \"Support for module.symbols file\"\n+\tbool \"Support module.symbols file\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MODUTILS_SYMBOLS\n-\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE\n-\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tdepends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL\n \thelp\n \t  Generate and parse modules.symbols containing aliases for\n \t  symbol_request() kernel calls, such as:\n@@ -239,7 +225,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS\n config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR\n \tstring \"Default directory containing modules\"\n \tdefault BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR\n-\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO\n+\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO\n \thelp\n \t  Directory that contains kernel modules.\n \t  Defaults to \"/lib/modules\"\n@@ -247,9 +233,13 @@ config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR\n config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE\n \tstring \"Default name of modules.dep\"\n \tdefault BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE\n-\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO\n+\tdepends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO\n \thelp\n \t  Filename that contains kernel modules dependencies.\n-\t  Defaults to \"modules.dep\"\n+\t  Defaults to \"modules.dep\".\n+\t  If you configured the \"simplified modutils\" (MODPROBE_SMALL), a\n+\t  \".bb\" suffix will be added after this name. Do not specify \".bb\"\n+\t  here unless you intend your depmod or modprobe to work on\n+\t  \"modules.dep.bb.bb\" or such.\n \n endmenu\ndiff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in\nindex 4ae8779dc6..14875d5e68 100644\n--- a/package/utils/busybox/config/networking/Config.in\n+++ b/package/utils/busybox/config/networking/Config.in\n@@ -101,7 +101,7 @@ config BUSYBOX_CONFIG_FTPD\n \tbool \"ftpd\"\n \tdefault BUSYBOX_DEFAULT_FTPD\n \thelp\n-\t  simple FTP daemon. You have to run it via inetd.\n+\t  Simple FTP daemon. You have to run it via inetd.\n \n config BUSYBOX_CONFIG_FEATURE_FTPD_WRITE\n \tbool \"Enable upload commands\"\n@@ -143,8 +143,6 @@ config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS\n \tbool \"Enable long options in ftpget/ftpput\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FTPGETPUT_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)\n-\thelp\n-\t  Support long options for the ftpget/ftpput applet.\n config BUSYBOX_CONFIG_HOSTNAME\n \tbool \"hostname\"\n \tdefault BUSYBOX_DEFAULT_HOSTNAME\n@@ -160,7 +158,7 @@ config BUSYBOX_CONFIG_HTTPD\n \tbool \"httpd\"\n \tdefault BUSYBOX_DEFAULT_HTTPD\n \thelp\n-\t  Serve web pages via an HTTP server.\n+\t  HTTP server.\n \n config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES\n \tbool \"Support 'Ranges:' header\"\n@@ -214,7 +212,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI\n \t  when specific URLs are requested.\n \n config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR\n-\tbool \"Support for running scripts through an interpreter\"\n+\tbool \"Support running scripts through an interpreter\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR\n \tdepends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI\n \thelp\n@@ -243,7 +241,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR\n \t  \"&#60Hello&#32World&#62\".\n \n config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES\n-\tbool \"Support for custom error pages\"\n+\tbool \"Support custom error pages\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HTTPD_ERROR_PAGES\n \tdepends on BUSYBOX_CONFIG_HTTPD\n \thelp\n@@ -256,7 +254,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES\n \t  message.\n \n config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY\n-\tbool \"Support for reverse proxy\"\n+\tbool \"Support reverse proxy\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HTTPD_PROXY\n \tdepends on BUSYBOX_CONFIG_HTTPD\n \thelp\n@@ -268,7 +266,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY\n \t  http://hostname[:port]/new/path/myfile.\n \n config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP\n-\tbool \"Support for GZIP content encoding\"\n+\tbool \"Support GZIP content encoding\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HTTPD_GZIP\n \tdepends on BUSYBOX_CONFIG_HTTPD\n \thelp\n@@ -383,14 +381,14 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP\n \t  utilities, or enable these applets in Busybox.\n \n config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4\n-\tbool \"Support for IPv4\"\n+\tbool \"Support IPv4\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4\n \tdepends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN\n \thelp\n \t  If you want ifup/ifdown to talk IPv4, leave this on.\n \n config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6\n-\tbool \"Support for IPv6\"\n+\tbool \"Support IPv6\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV6\n \tdepends on (BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN) && BUSYBOX_CONFIG_FEATURE_IPV6\n \thelp\n@@ -406,7 +404,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING\n \t  a weird network setup you don't need it.\n \n config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP\n-\tbool \"Support for external dhcp clients\"\n+\tbool \"Support external DHCP clients\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP\n \tdepends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN\n \thelp\n@@ -585,6 +583,11 @@ config BUSYBOX_CONFIG_IPCALC\n \t  ipcalc takes an IP address and netmask and calculates the\n \t  resulting broadcast, network, and host range.\n \n+config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS\n+\tbool \"Enable long options\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS\n+\tdepends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS\n+\n config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY\n \tbool \"Fancy IPCALC, more options, adds 1 kbyte\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_IPCALC_FANCY\n@@ -592,13 +595,6 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY\n \thelp\n \t  Adds the options hostname, prefix and silent to the output of\n \t  \"ipcalc\".\n-\n-config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS\n-\tbool \"Enable long options\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS\n-\tdepends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the ipcalc applet.\n config BUSYBOX_CONFIG_FAKEIDENTD\n \tbool \"fakeidentd\"\n \tdefault BUSYBOX_DEFAULT_FAKEIDENTD\n@@ -685,7 +681,7 @@ config BUSYBOX_CONFIG_NETSTAT\n \t  netstat prints information about the Linux networking subsystem.\n \n config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE\n-\tbool \"Enable wide netstat output\"\n+\tbool \"Enable wide output\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_NETSTAT_WIDE\n \tdepends on BUSYBOX_CONFIG_NETSTAT\n \thelp\n@@ -779,6 +775,12 @@ config BUSYBOX_CONFIG_SLATTACH\n \thelp\n \t  slattach is a small utility to attach network interfaces to serial\n \t  lines.\n+config BUSYBOX_CONFIG_SSL_CLIENT\n+\tbool \"ssl_client\"\n+\tdefault BUSYBOX_DEFAULT_SSL_CLIENT\n+\tselect BUSYBOX_CONFIG_TLS\n+\thelp\n+\t  This tool pipes data to/from a socket, TLS-encrypting it.\n config BUSYBOX_CONFIG_TCPSVD\n \tbool \"tcpsvd\"\n \tdefault BUSYBOX_DEFAULT_TCPSVD\n@@ -817,6 +819,11 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN\n \t  remote host you are connecting to. This is useful when you need to\n \t  log into a machine without telling the username (autologin). This\n \t  option enables `-a' and `-l USER' arguments.\n+\n+config BUSYBOX_CONFIG_FEATURE_TELNET_WIDTH\n+\tbool \"Enable window size autodetection\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH\n+\tdepends on BUSYBOX_CONFIG_TELNET\n config BUSYBOX_CONFIG_TELNETD\n \tbool \"telnetd\"\n \tdefault BUSYBOX_DEFAULT_TELNETD\n@@ -936,11 +943,9 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE\n \t  \"blksize\" and \"tsize\" options.\n \n config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR\n-\tbool \"Enable tftp progress meter\"\n+\tbool \"Enable progress bar\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR\n \tdepends on BUSYBOX_CONFIG_TFTP && BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE\n-\thelp\n-\t  Show progress bar.\n \n config BUSYBOX_CONFIG_TFTP_DEBUG\n \tbool \"Enable debug\"\n@@ -949,6 +954,9 @@ config BUSYBOX_CONFIG_TFTP_DEBUG\n \thelp\n \t  Make tftp[d] print debugging messages on stderr.\n \t  This is useful if you are diagnosing a bug in tftp[d].\n+config BUSYBOX_CONFIG_TLS\n+\tbool #No description makes it a hidden option\n+\tdefault BUSYBOX_DEFAULT_TLS\n config BUSYBOX_CONFIG_TRACEROUTE\n \tbool \"traceroute\"\n \tdefault BUSYBOX_DEFAULT_TRACEROUTE\n@@ -975,8 +983,6 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP\n \tbool \"Enable -I option (use ICMP instead of UDP)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP\n \tdepends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6\n-\thelp\n-\t  Add option -I to use ICMP ECHO instead of UDP datagrams.\n config BUSYBOX_CONFIG_TUNCTL\n \tbool \"tunctl\"\n \tdefault BUSYBOX_DEFAULT_TUNCTL\n@@ -1004,12 +1010,15 @@ config BUSYBOX_CONFIG_WGET\n \t  wget is a utility for non-interactive download of files from HTTP\n \t  and FTP servers.\n \n+config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS\n+\tbool \"Enable long options\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS\n+\tdepends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS\n+\n config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR\n-\tbool \"Enable a nifty process meter (+2k)\"\n+\tbool \"Enable progress bar (+2k)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR\n \tdepends on BUSYBOX_CONFIG_WGET\n-\thelp\n-\t  Enable the transfer progress bar for wget transfers.\n \n config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION\n \tbool \"Enable HTTP authentication\"\n@@ -1018,13 +1027,6 @@ config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION\n \thelp\n \t  Support authenticated HTTP transfers.\n \n-config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS\n-\tbool \"Enable long options\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS\n-\tdepends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the wget applet.\n-\n config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT\n \tbool \"Enable timeout option -T SEC\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT\n@@ -1039,18 +1041,59 @@ config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT\n \t  FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option\n \t  will work in addition to -T.\n \n+config BUSYBOX_CONFIG_FEATURE_WGET_HTTPS\n+\tbool \"Support HTTPS using internal TLS code\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_WGET_HTTPS\n+\tdepends on BUSYBOX_CONFIG_WGET\n+\tselect BUSYBOX_CONFIG_TLS\n+\thelp\n+\t  wget will use internal TLS code to connect to https:// URLs.\n+\t  Note:\n+\t  On NOMMU machines, ssl_helper applet should be available\n+\t  in the $PATH for this to work. Make sure to select that applet.\n+\n+\t  Note: currently, TLS code only makes TLS I/O work, it\n+\t  does *not* check that the peer is who it claims to be, etc.\n+\t  IOW: it uses peer-supplied public keys to establish encryption\n+\t  and signing keys, then encrypts and signs outgoing data and\n+\t  decrypts incoming data.\n+\t  It does not check signature hashes on the incoming data:\n+\t  this means that attackers manipulating TCP packets can\n+\t  send altered data and we unknowingly receive garbage.\n+\t  (This check might be relatively easy to add).\n+\t  It does not check public key's certificate:\n+\t  this means that the peer may be an attacker impersonating\n+\t  the server we think we are talking to.\n+\n+\t  If you think this is unacceptable, consider this. As more and more\n+\t  servers switch to HTTPS-only operation, without such \"crippled\"\n+\t  TLS code it is *impossible* to simply download a kernel source\n+\t  from kernel.org. Which can in real world translate into\n+\t  \"my small automatic tooling to build cross-compilers from sources\n+\t  no longer works, I need to additionally keep a local copy\n+\t  of ~4 megabyte source tarball of a SSL library and ~2 megabyte\n+\t  source of wget, need to compile and built both before I can\n+\t  download anything. All this despite the fact that the build\n+\t  is done in a QEMU sandbox on a machine with absolutely nothing\n+\t  worth stealing, so I don't care if someone would go to a lot\n+\t  of trouble to intercept my HTTPS download to send me an altered\n+\t  kernel tarball\".\n+\n+\t  If you still think this is unacceptable, send patches.\n+\n+\t  If you still think this is unacceptable, do not want to send\n+\t  patches, but do want to waste bandwidth expaining how wrong\n+\t  it is, you will be ignored.\n+\n config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL\n \tbool \"Try to connect to HTTPS using openssl\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL\n \tdepends on BUSYBOX_CONFIG_WGET\n \thelp\n-\t  Choose how wget establishes SSL connection for https:// URLs.\n-\n-\t  Busybox itself contains no SSL code. wget will spawn\n-\t  a helper program to talk over HTTPS.\n+\t  Try to use openssl to handle HTTPS.\n \n \t  OpenSSL has a simple SSL client for debug purposes.\n-\t  If you select \"openssl\" helper, wget will effectively run:\n+\t  If you select this option, wget will effectively run:\n \t  \"openssl s_client -quiet -connect hostname:443\n \t  -servername hostname 2>/dev/null\" and pipe its data\n \t  through it. -servername is not used if hostname is numeric.\n@@ -1063,24 +1106,9 @@ config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL\n \t  openssl is also a big binary, often dynamically linked\n \t  against ~15 libraries.\n \n-config BUSYBOX_CONFIG_FEATURE_WGET_SSL_HELPER\n-\tbool \"Try to connect to HTTPS using ssl_helper\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER\n-\tdepends on BUSYBOX_CONFIG_WGET\n-\thelp\n-\t  Choose how wget establishes SSL connection for https:// URLs.\n-\n-\t  Busybox itself contains no SSL code. wget will spawn\n-\t  a helper program to talk over HTTPS.\n-\n-\t  ssl_helper is a tool which can be built statically\n-\t  from busybox sources against a small embedded SSL library.\n-\t  Please see networking/ssl_helper/README.\n-\t  It does not require double host resolution and emits\n-\t  error messages to stderr.\n-\n-\t  Precompiled static binary may be available at\n-\t  http://busybox.net/downloads/binaries/\n+\t  If openssl can't be executed, internal TLS code will be used\n+\t  (if you enabled it); if openssl can be executed but fails later,\n+\t  wget can't detect this, and download will fail.\n config BUSYBOX_CONFIG_WHOIS\n \tbool \"whois\"\n \tdefault BUSYBOX_DEFAULT_WHOIS\ndiff --git a/package/utils/busybox/config/networking/udhcp/Config.in b/package/utils/busybox/config/networking/udhcp/Config.in\nindex cdba5d5d17..e7a98750d2 100644\n--- a/package/utils/busybox/config/networking/udhcp/Config.in\n+++ b/package/utils/busybox/config/networking/udhcp/Config.in\n@@ -5,36 +5,44 @@\n #\n \n config BUSYBOX_CONFIG_UDHCPC6\n-\tbool \"udhcp client for DHCPv6 (udhcpc6)\"\n+\tbool \"udhcpc6 (DHCPv6 client, EXPERIMENTAL)\"\n \tdefault BUSYBOX_DEFAULT_UDHCPC6  # not yet ready\n \tdepends on BUSYBOX_CONFIG_FEATURE_IPV6\n \thelp\n \t  udhcpc6 is a DHCPv6 client\n \n+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC3646\n+\tbool \"Support RFC 3646 (DNS server and search list)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646\n+\tdepends on BUSYBOX_CONFIG_UDHCPC6\n+\thelp\n+\t  List of DNS servers and domain search list can be requested with\n+\t  \"-O dns\" and \"-O search\". If server gives these values,\n+\t  they will be set in environment variables \"dns\" and \"search\".\n+\n+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC4704\n+\tbool \"Support RFC 4704 (Client FQDN)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704\n+\tdepends on BUSYBOX_CONFIG_UDHCPC6\n+\thelp\n+\t  You can request FQDN to be given by server using \"-O fqdn\".\n+\n+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC4833\n+\tbool \"Support RFC 4833 (Timezones)\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833\n+\tdepends on BUSYBOX_CONFIG_UDHCPC6\n+\thelp\n+\t  You can request POSIX timezone with \"-O tz\" and timezone name\n+\t  with \"-O timezone\".\n+\n config BUSYBOX_CONFIG_UDHCPD\n-\tbool \"udhcp server (udhcpd)\"\n+\tbool \"udhcpd (DHCP server)\"\n \tdefault BUSYBOX_DEFAULT_UDHCPD\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  udhcpd is a DHCP server geared primarily toward embedded systems,\n \t  while striving to be fully functional and RFC compliant.\n \n-config BUSYBOX_CONFIG_DHCPRELAY\n-\tbool \"dhcprelay\"\n-\tdefault BUSYBOX_DEFAULT_DHCPRELAY\n-\thelp\n-\t  dhcprelay listens for dhcp requests on one or more interfaces\n-\t  and forwards these requests to a different interface or dhcp\n-\t  server.\n-\n-config BUSYBOX_CONFIG_DUMPLEASES\n-\tbool \"Lease display utility (dumpleases)\"\n-\tdefault BUSYBOX_DEFAULT_DUMPLEASES\n-\thelp\n-\t  dumpleases displays the leases written out by the udhcpd server.\n-\t  Lease times are stored in the file by time remaining in lease, or\n-\t  by the absolute time that it expires in seconds from epoch.\n-\n config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY\n \tbool \"Rewrite the lease file at every new acknowledge\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY\n@@ -67,8 +75,24 @@ config BUSYBOX_CONFIG_DHCPD_LEASES_FILE\n \t  udhcpd stores addresses in a lease file. This is the absolute path\n \t  of the file. Normally it is safe to leave it untouched.\n \n+config BUSYBOX_CONFIG_DUMPLEASES\n+\tbool \"dumpleases\"\n+\tdefault BUSYBOX_DEFAULT_DUMPLEASES\n+\thelp\n+\t  dumpleases displays the leases written out by the udhcpd.\n+\t  Lease times are stored in the file by time remaining in lease, or\n+\t  by the absolute time that it expires in seconds from epoch.\n+\n+config BUSYBOX_CONFIG_DHCPRELAY\n+\tbool \"dhcprelay\"\n+\tdefault BUSYBOX_DEFAULT_DHCPRELAY\n+\thelp\n+\t  dhcprelay listens for dhcp requests on one or more interfaces\n+\t  and forwards these requests to a different interface or dhcp\n+\t  server.\n+\n config BUSYBOX_CONFIG_UDHCPC\n-\tbool \"udhcp client (udhcpc)\"\n+\tbool \"udhcpc (DHCP client)\"\n \tdefault BUSYBOX_DEFAULT_UDHCPC\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n@@ -99,6 +123,15 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_SANITIZEOPT\n \t  they will be replaced with string \"bad\" when exporting\n \t  to the environment.\n \n+config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT\n+\tstring \"Absolute path to config script\"\n+\tdefault BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT\n+\tdepends on BUSYBOX_CONFIG_UDHCPC\n+\thelp\n+\t  This script is called after udhcpc receives an answer. See\n+\t  examples/udhcp for a working example. Normally it is safe\n+\t  to leave this untouched.\n+\n config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT\n \tbool \"Enable '-P port' option for udhcpd and udhcpc\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT\n@@ -120,7 +153,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG\n \t  are very verbose and useful for debugging only.\n \n config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397\n-\tbool \"Support for RFC3397 domain search (experimental)\"\n+\tbool \"Support RFC3397 domain search (experimental)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397\n \tdepends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC\n \thelp\n@@ -129,22 +162,13 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397\n \t  and SIP servers option 120, specified in RFC 3361.\n \n config BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q\n-\tbool \"Support for 802.1Q VLAN parameters\"\n+\tbool \"Support 802.1Q VLAN parameters\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UDHCP_8021Q\n \tdepends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC\n \thelp\n \t  If selected, both client and server will support passing of VLAN\n \t  ID and priority via options 132 and 133 as per 802.1Q.\n \n-config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT\n-\tstring \"Absolute path to config script\"\n-\tdefault BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT\n-\tdepends on BUSYBOX_CONFIG_UDHCPC\n-\thelp\n-\t  This script is called after udhcpc receives an answer. See\n-\t  examples/udhcp for a working example. Normally it is safe\n-\t  to leave this untouched.\n-\n config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS\n \tint \"DHCP options slack buffer size\"\n \tdefault BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS\ndiff --git a/package/utils/busybox/config/procps/Config.in b/package/utils/busybox/config/procps/Config.in\nindex 6bc5ec058a..acd4ed882b 100644\n--- a/package/utils/busybox/config/procps/Config.in\n+++ b/package/utils/busybox/config/procps/Config.in\n@@ -85,18 +85,18 @@ config BUSYBOX_CONFIG_PIDOF\n \t  those id's on the standard output.\n \n config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE\n-\tbool \"Enable argument for single shot (-s)\"\n+\tbool \"Enable single shot (-s)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE\n \tdepends on BUSYBOX_CONFIG_PIDOF\n \thelp\n-\t  Support argument '-s' for returning only the first pid found.\n+\t  Support '-s' for returning only the first pid found.\n \n config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT\n-\tbool \"Enable argument for omitting pids (-o)\"\n+\tbool \"Enable omitting pids (-o PID)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT\n \tdepends on BUSYBOX_CONFIG_PIDOF\n \thelp\n-\t  Support argument '-o' for omitting the given pids in output.\n+\t  Support '-o PID' for omitting the given pid(s) in output.\n \t  The special pid %PPID can be used to name the parent process\n \t  of the pidof, in other words the calling shell or shell script.\n config BUSYBOX_CONFIG_PMAP\n@@ -109,6 +109,14 @@ config BUSYBOX_CONFIG_POWERTOP\n \tdefault BUSYBOX_DEFAULT_POWERTOP\n \thelp\n \t  Analyze power consumption on Intel-based laptops\n+\n+config BUSYBOX_CONFIG_FEATURE_POWERTOP_INTERACTIVE\n+\tbool \"Accept keyboard commands\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_POWERTOP_INTERACTIVE\n+\tdepends on BUSYBOX_CONFIG_POWERTOP\n+\thelp\n+\t  Without this, powertop will only refresh display every 10 seconds.\n+\t  No keyboard commands will work, only ^C to terminate.\n config BUSYBOX_CONFIG_PS\n \tbool \"ps\"\n \tdefault BUSYBOX_DEFAULT_PS\n@@ -133,19 +141,10 @@ config BUSYBOX_CONFIG_FEATURE_PS_LONG\n \t  Adds fields PPID, RSS, START, TIME & TTY\n \n config BUSYBOX_CONFIG_FEATURE_PS_TIME\n-\tbool \"Enable time and elapsed time output\"\n+\tbool \"Support -o time and -o etime output specifiers\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_PS_TIME\n \tdepends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n-\thelp\n-\t  Support -o time and -o etime output specifiers.\n-\n-config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS\n-\tbool \"Enable additional ps columns\"\n-\tdefault BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS\n-\tdepends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP\n-\thelp\n-\t  Support -o rgroup, -o ruser, -o nice output specifiers.\n \n config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS\n \tbool \"Support Linux prior to 2.4.0 and non-ELF systems\"\n@@ -154,6 +153,11 @@ config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS\n \thelp\n \t  Include support for measuring HZ on old kernels and non-ELF systems\n \t  (if you are on Linux 2.4.0+ and use ELF, you don't need this)\n+\n+config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS\n+\tbool \"Support -o rgroup, -o ruser, -o nice specifiers\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS\n+\tdepends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP\n config BUSYBOX_CONFIG_PSTREE\n \tbool \"pstree\"\n \tdefault BUSYBOX_DEFAULT_PSTREE\n@@ -164,12 +168,6 @@ config BUSYBOX_CONFIG_PWDX\n \tdefault BUSYBOX_DEFAULT_PWDX\n \thelp\n \t  Report current working directory of a process\n-config BUSYBOX_CONFIG_RENICE\n-\tbool \"renice\"\n-\tdefault BUSYBOX_DEFAULT_RENICE\n-\thelp\n-\t  Renice alters the scheduling priority of one or more running\n-\t  processes.\n config BUSYBOX_CONFIG_SMEMCAP\n \tbool \"smemcap\"\n \tdefault BUSYBOX_DEFAULT_SMEMCAP\n@@ -188,6 +186,14 @@ config BUSYBOX_CONFIG_TOP\n \t  The top program provides a dynamic real-time view of a running\n \t  system.\n \n+config BUSYBOX_CONFIG_FEATURE_TOP_INTERACTIVE\n+\tbool \"Accept keyboard commands\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_TOP_INTERACTIVE\n+\tdepends on BUSYBOX_CONFIG_TOP\n+\thelp\n+\t  Without this, top will only refresh display every 5 seconds.\n+\t  No keyboard commands will work, only ^C to terminate.\n+\n config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE\n \tbool \"Show CPU per-process usage percentage\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE\n@@ -244,11 +250,11 @@ config BUSYBOX_CONFIG_UPTIME\n \t  on, and the system load averages for the past 1, 5, and 15 minutes.\n \n config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT\n-\tbool \"Support for showing the number of users\"\n+\tbool \"Show the number of users\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT\n \tdepends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP\n \thelp\n-\t  Makes uptime display the number of users currently logged on.\n+\t  Display the number of users currently logged on.\n config BUSYBOX_CONFIG_WATCH\n \tbool \"watch\"\n \tdefault BUSYBOX_DEFAULT_WATCH\n@@ -257,7 +263,7 @@ config BUSYBOX_CONFIG_WATCH\n \t  output to the screen.\n \n config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS\n-\tbool \"Support for showing threads in ps/pstree/top\"\n+\tbool \"Support thread display in ps/pstree/top\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS\n \tdepends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE\n \thelp\ndiff --git a/package/utils/busybox/config/selinux/Config.in b/package/utils/busybox/config/selinux/Config.in\nindex 1aac9f4ec5..71eb0dcd77 100644\n--- a/package/utils/busybox/config/selinux/Config.in\n+++ b/package/utils/busybox/config/selinux/Config.in\n@@ -18,8 +18,6 @@ config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_CHCON_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the chcon applet.\n config BUSYBOX_CONFIG_GETENFORCE\n \tbool \"getenforce\"\n \tdefault BUSYBOX_DEFAULT_GETENFORCE\n@@ -56,8 +54,6 @@ config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS\n \tbool \"Enable long options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_RUNCON_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  Support long options for the runcon applet.\n config BUSYBOX_CONFIG_SELINUXENABLED\n \tbool \"selinuxenabled\"\n \tdefault BUSYBOX_DEFAULT_SELINUXENABLED\ndiff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in\nindex 4193c18806..e455d3832d 100644\n--- a/package/utils/busybox/config/shell/Config.in\n+++ b/package/utils/busybox/config/shell/Config.in\n@@ -18,9 +18,19 @@ choice\n config BUSYBOX_CONFIG_SH_IS_ASH\n \tdepends on !BUSYBOX_CONFIG_NOMMU\n \tbool \"ash\"\n+\thelp\n+\t  Choose ash to be the shell executed by 'sh' name.\n+\t  The ash code will be built into busybox. If you don't select\n+\t  \"ash\" choice (CONFIG_ASH), this shell may only be invoked by\n+\t  the name 'sh' (and not 'ash').\n \n config BUSYBOX_CONFIG_SH_IS_HUSH\n \tbool \"hush\"\n+\thelp\n+\t  Choose hush to be the shell executed by 'sh' name.\n+\t  The hush code will be built into busybox. If you don't select\n+\t  \"hush\" choice (CONFIG_HUSH), this shell may only be invoked by\n+\t  the name 'sh' (and not 'hush').\n \n config BUSYBOX_CONFIG_SH_IS_NONE\n \tbool \"none\"\n@@ -32,7 +42,8 @@ choice\n \tdefault BUSYBOX_CONFIG_BASH_IS_NONE\n \thelp\n \t  Choose which shell you want to be executed by 'bash' alias.\n-\t  The ash shell is the most bash compatible and full featured one.\n+\t  The ash shell is the most bash compatible and full featured one,\n+\t  although compatibility is far from being complete.\n \n \t  Note that selecting this option does not switch on any bash\n \t  compatibility code. It merely makes it possible to install\n@@ -47,9 +58,19 @@ choice\n config BUSYBOX_CONFIG_BASH_IS_ASH\n \tdepends on !BUSYBOX_CONFIG_NOMMU\n \tbool \"ash\"\n+\thelp\n+\t  Choose ash to be the shell executed by 'bash' name.\n+\t  The ash code will be built into busybox. If you don't select\n+\t  \"ash\" choice (CONFIG_ASH), this shell may only be invoked by\n+\t  the name 'bash' (and not 'ash').\n \n config BUSYBOX_CONFIG_BASH_IS_HUSH\n \tbool \"hush\"\n+\thelp\n+\t  Choose hush to be the shell executed by 'bash' name.\n+\t  The hush code will be built into busybox. If you don't select\n+\t  \"hush\" choice (CONFIG_HUSH), this shell may only be invoked by\n+\t  the name 'bash' (and not 'hush').\n \n config BUSYBOX_CONFIG_BASH_IS_NONE\n \tbool \"none\"\n@@ -68,12 +89,15 @@ config BUSYBOX_CONFIG_ASH\n \t  shell (by Herbert Xu), which was created by porting the 'ash' shell\n \t  (written by Kenneth Almquist) from NetBSD.\n \n+# ash options\n+# note: Don't remove !NOMMU part in the next line; it would break\n+# menuconfig's indenting.\n+if !NOMMU && (BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)\n+\n config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE\n \tbool \"Optimize for size instead of speed\"\n \tdefault BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Compile ash for reduced size at the price of speed.\n \n config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB\n \tbool \"Use internal glob() implementation\"\n@@ -83,6 +107,23 @@ config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB\n \t  Do not use glob() function from libc, use internal implementation.\n \t  Use this if you are getting \"glob.h: No such file or directory\"\n \t  or similar build errors.\n+\t  Note that as of now (2017-01), uclibc and musl glob() both have bugs\n+\t  which would break ash if you select N here.\n+\n+config BUSYBOX_CONFIG_ASH_BASH_COMPAT\n+\tbool \"bash-compatible extensions\"\n+\tdefault BUSYBOX_DEFAULT_ASH_BASH_COMPAT\n+\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n+\n+config BUSYBOX_CONFIG_ASH_JOB_CONTROL\n+\tbool \"Job control\"\n+\tdefault BUSYBOX_DEFAULT_ASH_JOB_CONTROL\n+\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n+\n+config BUSYBOX_CONFIG_ASH_ALIAS\n+\tbool \"Alias support\"\n+\tdefault BUSYBOX_DEFAULT_ASH_ALIAS\n+\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \n config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT\n \tbool \"Pseudorandom generator and $RANDOM variable\"\n@@ -100,88 +141,62 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT\n \tdefault BUSYBOX_DEFAULT_ASH_EXPAND_PRMT\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \thelp\n-\t  \"PS#\" may contain volatile content, such as backquote commands.\n+\t  $PS# may contain volatile content, such as backquote commands.\n \t  This option recreates the prompt string from the environment\n \t  variable each time it is displayed.\n \n-config BUSYBOX_CONFIG_ASH_BASH_COMPAT\n-\tbool \"bash-compatible extensions\"\n-\tdefault BUSYBOX_DEFAULT_ASH_BASH_COMPAT\n-\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable bash-compatible extensions.\n-\n config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT\n-\tbool \"Idle timeout variable\"\n+\tbool \"Idle timeout variable $TMOUT\"\n \tdefault BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \thelp\n-\t  Enables bash-like auto-logout after $TMOUT seconds of idle time.\n+\t  Enable bash-like auto-logout after $TMOUT seconds of idle time.\n \n-config BUSYBOX_CONFIG_ASH_JOB_CONTROL\n-\tbool \"Job control\"\n-\tdefault BUSYBOX_DEFAULT_ASH_JOB_CONTROL\n-\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable job control in the ash shell.\n-\n-config BUSYBOX_CONFIG_ASH_ALIAS\n-\tbool \"Alias support\"\n-\tdefault BUSYBOX_DEFAULT_ASH_ALIAS\n-\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable alias support in the ash shell.\n-\n-config BUSYBOX_CONFIG_ASH_GETOPTS\n-\tbool \"Builtin getopt to parse positional parameters\"\n-\tdefault BUSYBOX_DEFAULT_ASH_GETOPTS\n+config BUSYBOX_CONFIG_ASH_MAIL\n+\tbool \"Check for new mail in interactive shell\"\n+\tdefault BUSYBOX_DEFAULT_ASH_MAIL\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \thelp\n-\t  Enable support for getopts builtin in ash.\n+\t  Enable \"check for new mail\" function:\n+\t  if set, $MAIL file and $MAILPATH list of files\n+\t  are checked for mtime changes, and \"you have mail\"\n+\t  message is printed if change is detected.\n \n-config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO\n-\tbool \"Builtin version of 'echo'\"\n-\tdefault BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO\n+config BUSYBOX_CONFIG_ASH_ECHO\n+\tbool \"echo builtin\"\n+\tdefault BUSYBOX_DEFAULT_ASH_ECHO\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable support for echo builtin in ash.\n \n-config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF\n-\tbool \"Builtin version of 'printf'\"\n-\tdefault BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF\n+config BUSYBOX_CONFIG_ASH_PRINTF\n+\tbool \"printf builtin\"\n+\tdefault BUSYBOX_DEFAULT_ASH_PRINTF\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable support for printf builtin in ash.\n \n-config BUSYBOX_CONFIG_ASH_BUILTIN_TEST\n-\tbool \"Builtin version of 'test'\"\n-\tdefault BUSYBOX_DEFAULT_ASH_BUILTIN_TEST\n+config BUSYBOX_CONFIG_ASH_TEST\n+\tbool \"test builtin\"\n+\tdefault BUSYBOX_DEFAULT_ASH_TEST\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable support for test builtin in ash.\n \n config BUSYBOX_CONFIG_ASH_HELP\n \tbool \"help builtin\"\n \tdefault BUSYBOX_DEFAULT_ASH_HELP\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable help builtin in ash.\n+\n+config BUSYBOX_CONFIG_ASH_GETOPTS\n+\tbool \"getopts builtin\"\n+\tdefault BUSYBOX_DEFAULT_ASH_GETOPTS\n+\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \n config BUSYBOX_CONFIG_ASH_CMDCMD\n-\tbool \"'command' command to override shell builtins\"\n+\tbool \"command builtin\"\n \tdefault BUSYBOX_DEFAULT_ASH_CMDCMD\n \tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n \thelp\n-\t  Enable support for the ash 'command' builtin, which allows\n-\t  you to run the specified command with the specified arguments,\n-\t  even when there is an ash builtin command with the same name.\n+\t  Enable support for the 'command' builtin, which allows\n+\t  you to run the specified command or builtin,\n+\t  even when there is a function with the same name.\n \n-config BUSYBOX_CONFIG_ASH_MAIL\n-\tbool \"Check for new mail on interactive shells\"\n-\tdefault BUSYBOX_DEFAULT_ASH_MAIL\n-\tdepends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH\n-\thelp\n-\t  Enable \"check for new mail\" function in the ash shell.\n+endif # ash options\n config BUSYBOX_CONFIG_CTTYHACK\n \tbool \"cttyhack\"\n \tdefault BUSYBOX_DEFAULT_CTTYHACK\n@@ -243,8 +258,6 @@ config BUSYBOX_CONFIG_HUSH_BASH_COMPAT\n \tbool \"bash-compatible extensions\"\n \tdefault BUSYBOX_DEFAULT_HUSH_BASH_COMPAT\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n-\thelp\n-\t  Enable bash-compatible extensions.\n \n config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION\n \tbool \"Brace expansion\"\n@@ -253,13 +266,6 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION\n \thelp\n \t  Enable {abc,def} extension.\n \n-config BUSYBOX_CONFIG_HUSH_HELP\n-\tbool \"help builtin\"\n-\tdefault BUSYBOX_DEFAULT_HUSH_HELP\n-\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n-\thelp\n-\t  Enable help builtin in hush. Code size + ~1 kbyte.\n-\n config BUSYBOX_CONFIG_HUSH_INTERACTIVE\n \tbool \"Interactive mode\"\n \tdefault BUSYBOX_DEFAULT_HUSH_INTERACTIVE\n@@ -274,8 +280,6 @@ config BUSYBOX_CONFIG_HUSH_SAVEHISTORY\n \tbool \"Save command history to .hush_history\"\n \tdefault BUSYBOX_DEFAULT_HUSH_SAVEHISTORY\n \tdepends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY\n-\thelp\n-\t  Enable history saving in hush.\n \n config BUSYBOX_CONFIG_HUSH_JOB\n \tbool \"Job control\"\n@@ -289,42 +293,38 @@ config BUSYBOX_CONFIG_HUSH_JOB\n \t  but no separate process group is formed.\n \n config BUSYBOX_CONFIG_HUSH_TICK\n-\tbool \"Process substitution\"\n+\tbool \"Support process substitution\"\n \tdefault BUSYBOX_DEFAULT_HUSH_TICK\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n \thelp\n-\t  Enable process substitution `command` and $(command) in hush.\n+\t  Enable `command` and $(command).\n \n config BUSYBOX_CONFIG_HUSH_IF\n \tbool \"Support if/then/elif/else/fi\"\n \tdefault BUSYBOX_DEFAULT_HUSH_IF\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n-\thelp\n-\t  Enable if/then/elif/else/fi in hush.\n \n config BUSYBOX_CONFIG_HUSH_LOOPS\n \tbool \"Support for, while and until loops\"\n \tdefault BUSYBOX_DEFAULT_HUSH_LOOPS\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n-\thelp\n-\t  Enable for, while and until loops in hush.\n \n config BUSYBOX_CONFIG_HUSH_CASE\n \tbool \"Support case ... esac statement\"\n \tdefault BUSYBOX_DEFAULT_HUSH_CASE\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n \thelp\n-\t  Enable case ... esac statement in hush. +400 bytes.\n+\t  Enable case ... esac statement. +400 bytes.\n \n config BUSYBOX_CONFIG_HUSH_FUNCTIONS\n \tbool \"Support funcname() { commands; } syntax\"\n \tdefault BUSYBOX_DEFAULT_HUSH_FUNCTIONS\n \tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n \thelp\n-\t  Enable support for shell functions in hush. +800 bytes.\n+\t  Enable support for shell functions. +800 bytes.\n \n config BUSYBOX_CONFIG_HUSH_LOCAL\n-\tbool \"Support local builtin\"\n+\tbool \"local builtin\"\n \tdefault BUSYBOX_DEFAULT_HUSH_LOCAL\n \tdepends on BUSYBOX_CONFIG_HUSH_FUNCTIONS\n \thelp\n@@ -338,13 +338,6 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT\n \t  Enable pseudorandom generator and dynamic variable \"$RANDOM\".\n \t  Each read of \"$RANDOM\" will generate a new pseudorandom value.\n \n-config BUSYBOX_CONFIG_HUSH_EXPORT_N\n-\tbool \"Support 'export -n' option\"\n-\tdefault BUSYBOX_DEFAULT_HUSH_EXPORT_N\n-\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n-\thelp\n-\t  export -n unexports variables. It is a bash extension.\n-\n config BUSYBOX_CONFIG_HUSH_MODE_X\n \tbool \"Support 'hush -x' option and 'set -x' command\"\n \tdefault BUSYBOX_DEFAULT_HUSH_MODE_X\n@@ -353,6 +346,88 @@ config BUSYBOX_CONFIG_HUSH_MODE_X\n \t  This instructs hush to print commands before execution.\n \t  Adds ~300 bytes.\n \n+config BUSYBOX_CONFIG_HUSH_ECHO\n+\tbool \"echo builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_ECHO\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_PRINTF\n+\tbool \"printf builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_PRINTF\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_TEST\n+\tbool \"test builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_TEST\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_HELP\n+\tbool \"help builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_HELP\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_EXPORT\n+\tbool \"export builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_EXPORT\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_EXPORT_N\n+\tbool \"Support 'export -n' option\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_EXPORT_N\n+\tdepends on BUSYBOX_CONFIG_HUSH_EXPORT\n+\thelp\n+\t  export -n unexports variables. It is a bash extension.\n+\n+config BUSYBOX_CONFIG_HUSH_KILL\n+\tbool \"kill builtin (supports kill %jobspec)\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_KILL\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_WAIT\n+\tbool \"wait builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_WAIT\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_TRAP\n+\tbool \"trap builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_TRAP\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_TYPE\n+\tbool \"type builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_TYPE\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_READ\n+\tbool \"read builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_READ\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_SET\n+\tbool \"set builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_SET\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_UNSET\n+\tbool \"unset builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_UNSET\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_ULIMIT\n+\tbool \"ulimit builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_ULIMIT\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_UMASK\n+\tbool \"umask builtin\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_UMASK\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n+config BUSYBOX_CONFIG_HUSH_MEMLEAK\n+\tbool \"memleak builtin (debugging)\"\n+\tdefault BUSYBOX_DEFAULT_HUSH_MEMLEAK\n+\tdepends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n config BUSYBOX_CONFIG_MSH\n \tbool \"msh (deprecated: aliased to hush)\"\n \tdefault BUSYBOX_DEFAULT_MSH\n@@ -361,6 +436,9 @@ config BUSYBOX_CONFIG_MSH\n \t  msh is deprecated and will be removed, please migrate to hush.\n \n \n+comment \"Options common to all shells\"\n+if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH\n+\n config BUSYBOX_CONFIG_FEATURE_SH_MATH\n \tbool \"POSIX math support\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_SH_MATH\n@@ -399,23 +477,11 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE\n \t  for use as a rescue shell, in the event that you screw up your system.\n \n \t  This is implemented by re-execing /proc/self/exe (typically)\n-\t  with right parameters. Some selected applets (\"NOFORK\" applets)\n-\t  can even be executed without creating new process.\n-\t  Instead, busybox will call <applet>_main() internally.\n-\n-\t  However, this causes problems in chroot jails without mounted /proc\n-\t  and with ps/top (command name can be shown as 'exe' for applets\n-\t  started this way).\n-# untrue?\n-#\t  Note that this will *also* cause applets to take precedence\n-#\t  over shell builtins of the same name. So turning this on will\n-#\t  eliminate any performance gained by turning on the builtin \"echo\"\n-#\t  and \"test\" commands in ash.\n-# untrue?\n-#\t  Note that when using this option, the shell will attempt to directly\n-#\t  run '/bin/busybox'. If you do not have the busybox binary sitting in\n-#\t  that exact location with that exact name, this option will not work at\n-#\t  all.\n+\t  with right parameters.\n+\n+\t  However, there are drawbacks: it is problematic in chroot jails\n+\t  without mounted /proc, and ps/top may show command name as 'exe'\n+\t  for applets started this way.\n \n config BUSYBOX_CONFIG_FEATURE_SH_NOFORK\n \tbool \"Run 'nofork' applets directly\"\n@@ -444,5 +510,6 @@ config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE\n \t  to set shell history size. Note that its max value is capped\n \t  by \"History size\" setting in library tuning section.\n \n+endif # Options common to all shells\n \n endmenu\ndiff --git a/package/utils/busybox/config/sysklogd/Config.in b/package/utils/busybox/config/sysklogd/Config.in\nindex 1f8f3cf160..2045a7ae38 100644\n--- a/package/utils/busybox/config/sysklogd/Config.in\n+++ b/package/utils/busybox/config/sysklogd/Config.in\n@@ -58,7 +58,7 @@ config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING\n \tdefault BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING\n \tdepends on BUSYBOX_CONFIG_LOGREAD\n \thelp\n-\t  'logread' ouput to slow serial terminals can have\n+\t  'logread' output to slow serial terminals can have\n \t  side effects on syslog because of the semaphore.\n \t  This option make logread to double buffer copy\n \t  from circular buffer, minimizing semaphore\ndiff --git a/package/utils/busybox/config/util-linux/Config.in b/package/utils/busybox/config/util-linux/Config.in\nindex 8df023c35b..74a49d00c2 100644\n--- a/package/utils/busybox/config/util-linux/Config.in\n+++ b/package/utils/busybox/config/util-linux/Config.in\n@@ -54,6 +54,17 @@ config BUSYBOX_CONFIG_BLOCKDEV\n \tdefault BUSYBOX_DEFAULT_BLOCKDEV\n \thelp\n \t  Performs some ioctls with block devices.\n+config BUSYBOX_CONFIG_CAL\n+\tbool \"cal\"\n+\tdefault BUSYBOX_DEFAULT_CAL\n+\thelp\n+\t  cal is used to display a monthly calendar.\n+config BUSYBOX_CONFIG_CHRT\n+\tbool \"chrt\"\n+\tdefault BUSYBOX_DEFAULT_CHRT\n+\thelp\n+\t  manipulate real-time attributes of a process.\n+\t  This requires sched_{g,s}etparam support in your libc.\n config BUSYBOX_CONFIG_DMESG\n \tbool \"dmesg\"\n \tdefault BUSYBOX_DEFAULT_DMESG\n@@ -68,7 +79,7 @@ config BUSYBOX_CONFIG_DMESG\n \t  wish to enable the 'dmesg' utility.\n \n config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY\n-\tbool \"Pretty dmesg output\"\n+\tbool \"Pretty output\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY\n \tdepends on BUSYBOX_CONFIG_DMESG\n \thelp\n@@ -87,6 +98,25 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY\n \t    <5>Linux version 2.6.17.4 .....\n \t    <6>BIOS-provided physical RAM map:\n \t    <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)\n+config BUSYBOX_CONFIG_EJECT\n+\tbool \"eject\"\n+\tdefault BUSYBOX_DEFAULT_EJECT\n+\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\thelp\n+\t  Used to eject cdroms. (defaults to /dev/cdrom)\n+\n+config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI\n+\tbool \"SCSI support\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI\n+\tdepends on BUSYBOX_CONFIG_EJECT\n+\thelp\n+\t  Add the -s option to eject, this allows to eject SCSI-Devices and\n+\t  usb-storage devices.\n+config BUSYBOX_CONFIG_FALLOCATE\n+\tbool \"fallocate\"\n+\tdefault BUSYBOX_DEFAULT_FALLOCATE\n+\thelp\n+\t  Preallocate space for files.\n config BUSYBOX_CONFIG_FATATTR\n \tbool \"fatattr\"\n \tdefault BUSYBOX_DEFAULT_FATATTR\n@@ -104,7 +134,7 @@ config BUSYBOX_CONFIG_FBSET\n \t  if you wish to enable the 'fbset' utility.\n \n config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY\n-\tbool \"Turn on extra fbset options\"\n+\tbool \"Enable extra options\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FBSET_FANCY\n \tdepends on BUSYBOX_CONFIG_FBSET\n \thelp\n@@ -114,7 +144,7 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY\n \t  options.\n \n config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE\n-\tbool \"Turn on fbset readmode support\"\n+\tbool \"Enable readmode support\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE\n \tdepends on BUSYBOX_CONFIG_FBSET\n \thelp\n@@ -142,8 +172,6 @@ config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS\n \tdefault BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS\n \tdepends on BUSYBOX_CONFIG_FDISK\n \tdepends on !BUSYBOX_CONFIG_LFS   # with LFS no special code is needed\n-\thelp\n-\t  Enable this option to support large disks > 4GB.\n \n config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE\n \tbool \"Write support\"\n@@ -251,6 +279,13 @@ config BUSYBOX_CONFIG_FSCK_MINIX\n \t  power goes off in the middle of a write. This utility allows you to\n \t  check for and attempt to repair any corruption that occurs to a minix\n \t  filesystem.\n+config BUSYBOX_CONFIG_FSFREEZE\n+\tbool \"fsfreeze\"\n+\tdefault BUSYBOX_DEFAULT_FSFREEZE\n+\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tselect BUSYBOX_CONFIG_LONG_OPTS\n+\thelp\n+\t  Halt new accesses and flush writes on a mounted filesystem.\n config BUSYBOX_CONFIG_FSTRIM\n \tbool \"fstrim\"\n \tdefault BUSYBOX_DEFAULT_FSTRIM\n@@ -296,6 +331,12 @@ config BUSYBOX_CONFIG_HD\n \tdefault BUSYBOX_DEFAULT_HD\n \thelp\n \t  hd is an alias to hexdump -C.\n+config BUSYBOX_CONFIG_XXD\n+\tbool \"xxd\"\n+\tdefault BUSYBOX_DEFAULT_XXD\n+\thelp\n+\t  The xxd utility is used to display binary data in a readable\n+\t  way that is comparable to the output from most hex editors.\n config BUSYBOX_CONFIG_HWCLOCK\n \tbool \"hwclock\"\n \tdefault BUSYBOX_DEFAULT_HWCLOCK\n@@ -310,10 +351,6 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS\n \tbool \"Support long options (--hctosys,...)\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_HWCLOCK_LONG_OPTIONS\n \tdepends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_LONG_OPTS\n-\thelp\n-\t  By default, the hwclock utility only uses short options. If you\n-\t  are overly fond of its long options, such as --hctosys, --utc, etc)\n-\t  then enable this option.\n \n config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS\n \tbool \"Use FHS /var/lib/hwclock/adjtime\"\n@@ -326,6 +363,13 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS\n \t  classic /etc/adjtime path.\n \n \t  pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO\n+config BUSYBOX_CONFIG_IONICE\n+\tbool \"ionice\"\n+\tdefault BUSYBOX_DEFAULT_IONICE\n+\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\thelp\n+\t  Set/set program io scheduling class and priority\n+\t  Requires kernel >= 2.6.13\n config BUSYBOX_CONFIG_IPCRM\n \tbool \"ipcrm\"\n \tdefault BUSYBOX_DEFAULT_IPCRM\n@@ -340,6 +384,20 @@ config BUSYBOX_CONFIG_IPCS\n \thelp\n \t  The ipcs utility is used to provide information on the currently\n \t  allocated System V interprocess (IPC) objects in the system.\n+config BUSYBOX_CONFIG_LAST\n+\tbool \"last\"\n+\tdefault BUSYBOX_DEFAULT_LAST\n+\tdepends on BUSYBOX_CONFIG_FEATURE_WTMP\n+\thelp\n+\t  'last' displays a list of the last users that logged into the system.\n+\n+config BUSYBOX_CONFIG_FEATURE_LAST_FANCY\n+\tbool \"Output extra information\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_LAST_FANCY\n+\tdepends on BUSYBOX_CONFIG_LAST\n+\thelp\n+\t  'last' displays detailed information about the last users that\n+\t  logged into the system (mimics sysvinit last). +900 bytes.\n config BUSYBOX_CONFIG_LOSETUP\n \tbool \"losetup\"\n \tdefault BUSYBOX_DEFAULT_LOSETUP\n@@ -423,6 +481,24 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE\n \t  These devices will request userspace look up the files in\n \t  /lib/firmware/ and if it exists, send it to the kernel for\n \t  loading into the hardware.\n+config BUSYBOX_CONFIG_MESG\n+\tbool \"mesg\"\n+\tdefault BUSYBOX_DEFAULT_MESG\n+\thelp\n+\t  Mesg controls access to your terminal by others. It is typically\n+\t  used to allow or disallow other users to write to your terminal\n+\n+config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP\n+\tbool \"Enable writing to tty only by group, not by everybody\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP\n+\tdepends on BUSYBOX_CONFIG_MESG\n+\thelp\n+\t  Usually, ttys are owned by group \"tty\", and \"write\" tool is\n+\t  setgid to this group. This way, \"mesg y\" only needs to enable\n+\t  \"write by owning group\" bit in tty mode.\n+\n+\t  If you set this option to N, \"mesg y\" will enable writing\n+\t  by anybody at all. This is not recommended.\n config BUSYBOX_CONFIG_MKE2FS\n \tbool \"mke2fs\"\n \tdefault BUSYBOX_DEFAULT_MKE2FS\n@@ -574,7 +650,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS\n \n config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS\n \tdepends on BUSYBOX_CONFIG_MOUNT\n-\tbool \"Support lots of -o flags in mount\"\n+\tbool \"Support lots of -o flags\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS\n \thelp\n \t  Without this, mount only supports ro/rw/remount. With this, it\n@@ -595,6 +671,11 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB\n \tdefault BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB\n \thelp\n \t  Support mount -T (specifying an alternate fstab)\n+config BUSYBOX_CONFIG_MOUNTPOINT\n+\tbool \"mountpoint\"\n+\tdefault BUSYBOX_DEFAULT_MOUNTPOINT\n+\thelp\n+\t  mountpoint checks if the directory is a mountpoint.\n config BUSYBOX_CONFIG_NSENTER\n \tbool \"nsenter\"\n \tdefault BUSYBOX_DEFAULT_NSENTER\n@@ -640,6 +721,12 @@ config BUSYBOX_CONFIG_READPROFILE\n \t#select PLATFORM_LINUX\n \thelp\n \t  This allows you to parse /proc/profile for basic profiling.\n+config BUSYBOX_CONFIG_RENICE\n+\tbool \"renice\"\n+\tdefault BUSYBOX_DEFAULT_RENICE\n+\thelp\n+\t  Renice alters the scheduling priority of one or more running\n+\t  processes.\n config BUSYBOX_CONFIG_REV\n \tbool \"rev\"\n \tdefault BUSYBOX_DEFAULT_REV\n@@ -685,6 +772,19 @@ config BUSYBOX_CONFIG_LINUX64\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n \thelp\n \t  Alias to \"setarch linux64\".\n+config BUSYBOX_CONFIG_SETPRIV\n+\tbool \"setpriv\"\n+\tdefault BUSYBOX_DEFAULT_SETPRIV\n+\tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tselect BUSYBOX_CONFIG_LONG_OPTS\n+\thelp\n+\t  Run a program with different Linux privilege settings.\n+\t  Requires kernel >= 3.5\n+config BUSYBOX_CONFIG_SETSID\n+\tbool \"setsid\"\n+\tdefault BUSYBOX_DEFAULT_SETSID\n+\thelp\n+\t  setsid runs a program in a new session\n config BUSYBOX_CONFIG_SWAPON\n \tbool \"swapon\"\n \tdefault BUSYBOX_DEFAULT_SWAPON\n@@ -738,6 +838,21 @@ config BUSYBOX_CONFIG_SWITCH_ROOT\n \t  * Because the Linux kernel uses rootfs internally as the starting\n \t  and ending point for searching through the kernel's doubly linked\n \t  list of active mount points. That's why.\n+config BUSYBOX_CONFIG_TASKSET\n+\tbool \"taskset\"\n+\tdefault BUSYBOX_DEFAULT_TASKSET\n+\thelp\n+\t  Retrieve or set a processes's CPU affinity.\n+\t  This requires sched_{g,s}etaffinity support in your libc.\n+\n+config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY\n+\tbool \"Fancy output\"\n+\tdefault BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY\n+\tdepends on BUSYBOX_CONFIG_TASKSET\n+\thelp\n+\t  Needed for machines with more than 32-64 CPUs:\n+\t  affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long\n+\t  in this case. Otherwise, it is limited to sizeof(long).\n config BUSYBOX_CONFIG_UEVENT\n \tbool \"uevent\"\n \tdefault BUSYBOX_DEFAULT_UEVENT\n@@ -764,10 +879,17 @@ config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL\n config BUSYBOX_CONFIG_UNSHARE\n \tbool \"unshare\"\n \tdefault BUSYBOX_DEFAULT_UNSHARE\n-\tdepends on BUSYBOX_CONFIG_LONG_OPTS && !BUSYBOX_CONFIG_NOMMU\n+\tdepends on !BUSYBOX_CONFIG_NOMMU\n \tselect BUSYBOX_CONFIG_PLATFORM_LINUX\n+\tselect BUSYBOX_CONFIG_LONG_OPTS\n \thelp\n \t  Run program with some namespaces unshared from parent.\n+config BUSYBOX_CONFIG_WALL\n+\tbool \"wall\"\n+\tdefault BUSYBOX_DEFAULT_WALL\n+\tdepends on BUSYBOX_CONFIG_FEATURE_UTMP\n+\thelp\n+\t  Write a message to all users that are logged in.\n \n comment \"Common options for mount/umount\"\n \tdepends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT\n@@ -802,7 +924,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE\n \t  if it does not find a free one.\n \n config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT\n-\tbool \"Support for the old /etc/mtab file\"\n+\tbool \"Support old /etc/mtab file\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT\n \tdepends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT\n \tselect BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE\ndiff --git a/package/utils/busybox/config/util-linux/volume_id/Config.in b/package/utils/busybox/config/util-linux/volume_id/Config.in\nindex 49a5785847..afbfa4ae5e 100644\n--- a/package/utils/busybox/config/util-linux/volume_id/Config.in\n+++ b/package/utils/busybox/config/util-linux/volume_id/Config.in\n@@ -11,31 +11,18 @@ config BUSYBOX_CONFIG_VOLUMEID\n menu \"Filesystem/Volume identification\"\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n \n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BCACHE\n \tbool \"bcache filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS\n \tbool \"btrfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS\n \tbool \"cramfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_CRAMFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXFAT\n \tbool \"exFAT filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXFAT\n@@ -44,16 +31,10 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXFAT\n \t  exFAT (extended FAT) is a proprietary file system designed especially\n \t  for flash drives. It has many features from NTFS, but with less\n \t  overhead. exFAT is used on most SDXC cards for consumer electronics.\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT\n \tbool \"Ext filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXT\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_F2FS\n \tbool \"f2fs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_F2FS\n@@ -63,64 +44,34 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_F2FS\n \t  which is adapted to newer forms of storage. F2FS also remedies some\n \t  known issues of the older log structured file systems, such as high\n \t  cleaning overhead.\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT\n \tbool \"fat filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_FAT\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS\n \tbool \"hfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_HFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660\n \tbool \"iso9660 filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ISO9660\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS\n \tbool \"jfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_JFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID\n \tbool \"linuxraid\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXRAID\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP\n \tbool \"linux swap filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXSWAP\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS\n \tbool \"luks filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LUKS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NILFS\n \tbool \"nilfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NILFS\n@@ -136,40 +87,22 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NILFS\n \t  SOX compliance logging, and so forth. It can serve as an alternative\n \t  filesystem for Linux desktop environment, or as a basis of advanced\n \t  storage appliances.\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS\n \tbool \"ntfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NTFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2\n \tbool \"ocfs2 filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_OCFS2\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS\n \tbool \"Reiser filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_REISERFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS\n \tbool \"romfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ROMFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS\n \tbool \"SquashFS filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SQUASHFS\n@@ -179,16 +112,10 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS\n \t  intended for general read-only filesystem use and in constrained block\n \t  device/memory systems (e.g. embedded systems) where low overhead is\n \t  needed.\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV\n \tbool \"sysv filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SYSV\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS\n \tbool \"UBIFS filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS\n@@ -196,126 +123,65 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS\n \thelp\n \t  UBIFS (Unsorted Block Image File System) is a file\n \t  system for use with raw flash memory media.\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF\n \tbool \"udf filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_HIGHPOINTRAID\n ###\tbool \"highpoint raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_HPFS\n ###\tbool \"hpfs filesystem\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_ISWRAID\n ###\tbool \"intel raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_LSIRAID\n ###\tbool \"lsi raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_LVM\n ###\tbool \"lvm\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_MAC\n ###\tbool \"mac filesystem\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_MINIX\n ###\tbool \"minix filesystem\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_MSDOS\n ###\tbool \"msdos filesystem\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_NVIDIARAID\n ###\tbool \"nvidia raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_PROMISERAID\n ###\tbool \"promise raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_SILICONRAID\n ###\tbool \"silicon raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_UFS\n ###\tbool \"ufs filesystem\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n ### config FEATURE_VOLUMEID_VIARAID\n ###\tbool \"via raid\"\n ###\tdefault y\n ###\tdepends on VOLUMEID\n-###\thelp\n-###\t  TODO\n-\n-\n config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS\n \tbool \"xfs filesystem\"\n \tdefault BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS\n \tdepends on BUSYBOX_CONFIG_VOLUMEID\n-\thelp\n-\t  TODO\n-\n \n endmenu\ndiff --git a/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch b/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch\ndeleted file mode 100644\nindex 682a68eebd..0000000000\n--- a/package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch\n+++ /dev/null\n@@ -1,12 +0,0 @@\n---- a/util-linux/mount.c\n-+++ b/util-linux/mount.c\n-@@ -245,9 +245,6 @@\n- #if ENABLE_FEATURE_MOUNT_NFS\n- /* This is just a warning of a common mistake.  Possibly this should be a\n-  * uclibc faq entry rather than in busybox... */\n--# if defined(__UCLIBC__) && ! defined(__UCLIBC_HAS_RPC__)\n--#  error \"You need to build uClibc with UCLIBC_HAS_RPC for NFS support\"\n--# endif\n- # include <rpc/rpc.h>\n- # include <rpc/pmap_prot.h>\n- # include <rpc/pmap_clnt.h>\ndiff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch\nindex 8ef8f2211b..5f64c19d05 100644\n--- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch\n+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch\n@@ -1,6 +1,6 @@\n --- a/networking/udhcp/dhcpc.c\n +++ b/networking/udhcp/dhcpc.c\n-@@ -704,6 +704,7 @@ static int bcast_or_ucast(struct dhcp_pa\n+@@ -706,6 +706,7 @@ static int bcast_or_ucast(struct dhcp_pa\n  static NOINLINE int send_discover(uint32_t xid, uint32_t requested)\n  {\n  \tstruct dhcp_packet packet;\n@@ -8,7 +8,7 @@\n  \n  \t/* Fill in: op, htype, hlen, cookie, chaddr fields,\n  \t * random xid field (we override it below),\n-@@ -721,6 +722,7 @@ static NOINLINE int send_discover(uint32\n+@@ -723,6 +724,7 @@ static NOINLINE int send_discover(uint32\n  \t */\n  \tadd_client_options(&packet);\n  \ndiff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch\nindex f5e3a075ae..727f69409c 100644\n--- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch\n+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch\n@@ -1,6 +1,6 @@\n --- a/networking/udhcp/dhcpc.c\n +++ b/networking/udhcp/dhcpc.c\n-@@ -1439,6 +1439,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c\n+@@ -1442,6 +1442,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c\n  \t\t/* silence \"uninitialized!\" warning */\n  \t\tunsigned timestamp_before_wait = timestamp_before_wait;\n  \ndiff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch\nindex 3df8d930b1..7b77d2970b 100644\n--- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch\n+++ b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch\n@@ -1,6 +1,6 @@\n --- a/networking/udhcp/dhcpc.c\n +++ b/networking/udhcp/dhcpc.c\n-@@ -1110,7 +1110,6 @@ static void perform_renew(void)\n+@@ -1112,7 +1112,6 @@ static void perform_renew(void)\n  \t\tstate = RENEW_REQUESTED;\n  \t\tbreak;\n  \tcase RENEW_REQUESTED: /* impatient are we? fine, square 1 */\ndiff --git a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch\nindex 360324bf7c..ca76c44cc8 100644\n--- a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch\n+++ b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch\n@@ -1,6 +1,6 @@\n --- a/networking/libiproute/iplink.c\n +++ b/networking/libiproute/iplink.c\n-@@ -470,7 +470,7 @@ static int do_add_or_delete(char **argv,\n+@@ -598,7 +598,7 @@ static int do_add_or_delete(char **argv,\n  \t}\n  \txrtnl_open(&rth);\n  \tll_init_map(&rth);\ndiff --git a/package/utils/busybox/patches/302-ip-rule-add-suppress-prefixlength.patch b/package/utils/busybox/patches/302-ip-rule-add-suppress-prefixlength.patch\ndeleted file mode 100644\nindex 7b4797505e..0000000000\n--- a/package/utils/busybox/patches/302-ip-rule-add-suppress-prefixlength.patch\n+++ /dev/null\n@@ -1,145 +0,0 @@\n-From dbac30c3784c267bbe44a2a3ebed4e827c8fe82a Mon Sep 17 00:00:00 2001\n-From: Stefan Tomanek <stefan.tomanek@wertarbyte.de>\n-Date: Tue, 13 Jun 2017 19:06:09 +0200\n-Subject: [PATCH] ip rule: add suppress_{prefixlength,ifgroup} options\n-\n-(cherry-picked from 192dce4b84fb32346ebc5194de7daa5da3b8d1b4)\n-\n-function                                             old     new   delta\n-iprule_modify                                        816     887     +71\n-print_rule                                           610     680     +70\n-------------------------------------------------------------------------------\n-(add/remove: 0/0 grow/shrink: 2/0 up/down: 141/0)             Total: 141 bytes\n-\n-Signed-off-by: Stefan Tomanek <stefan.tomanek@wertarbyte.de>\n-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>\n----\n- networking/libiproute/iprule.c | 73 ++++++++++++++++++++++++++----------------\n- 1 file changed, 46 insertions(+), 27 deletions(-)\n-\n---- a/networking/libiproute/iprule.c\n-+++ b/networking/libiproute/iprule.c\n-@@ -17,25 +17,32 @@\n- #include <netinet/ip.h>\n- #include <arpa/inet.h>\n- \n-+/* from <linux/fib_rules.h>: */\n-+#define FRA_SUPPRESS_IFGROUP   13\n-+#define FRA_SUPPRESS_PREFIXLEN 14\n-+\n- #include \"ip_common.h\"  /* #include \"libbb.h\" is inside */\n- #include \"rt_names.h\"\n- #include \"utils.h\"\n- \n--/*\n--static void usage(void) __attribute__((noreturn));\n--\n--static void usage(void)\n--{\n--\tfprintf(stderr, \"Usage: ip rule [ list | add | del ] SELECTOR ACTION\\n\");\n--\tfprintf(stderr, \"SELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK ]\\n\");\n--\tfprintf(stderr, \"            [ dev STRING ] [ pref NUMBER ]\\n\");\n--\tfprintf(stderr, \"ACTION := [ table TABLE_ID ] [ nat ADDRESS ]\\n\");\n--\tfprintf(stderr, \"          [ prohibit | reject | unreachable ]\\n\");\n--\tfprintf(stderr, \"          [ realms [SRCREALM/]DSTREALM ]\\n\");\n--\tfprintf(stderr, \"TABLE_ID := [ local | main | default | NUMBER ]\\n\");\n--\texit(-1);\n--}\n--*/\n-+/* If you add stuff here, update iprule_full_usage */\n-+static const char keywords[] ALIGN1 =\n-+\t\"from\\0\"\"to\\0\"\"preference\\0\"\"order\\0\"\"priority\\0\"\n-+\t\"tos\\0\"\"fwmark\\0\"\"realms\\0\"\"table\\0\"\"lookup\\0\"\n-+\t\"suppress_prefixlength\\0\"\"suppress_ifgroup\\0\"\n-+\t\"dev\\0\"\"iif\\0\"\"nat\\0\"\"map-to\\0\"\"type\\0\"\"help\\0\"\n-+\t;\n-+#define keyword_preference            (keywords           + sizeof(\"from\") + sizeof(\"to\"))\n-+#define keyword_fwmark                (keyword_preference + sizeof(\"preference\") + sizeof(\"order\") + sizeof(\"priority\") + sizeof(\"tos\"))\n-+#define keyword_realms                (keyword_fwmark     + sizeof(\"fwmark\"))\n-+#define keyword_suppress_prefixlength (keyword_realms     + sizeof(\"realms\") + sizeof(\"table\") + sizeof(\"lookup\"))\n-+#define keyword_suppress_ifgroup      (keyword_suppress_prefixlength + sizeof(\"suppress_prefixlength\"))\n-+enum {\n-+\tARG_from = 1, ARG_to, ARG_preference, ARG_order, ARG_priority,\n-+\tARG_tos, ARG_fwmark, ARG_realms, ARG_table, ARG_lookup,\n-+\tARG_suppress_prefixlength, ARG_suppress_ifgroup,\n-+\tARG_dev, ARG_iif, ARG_nat, ARG_map_to, ARG_type, ARG_help,\n-+};\n- \n- static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM,\n- \t\t\t\t\tstruct nlmsghdr *n, void *arg UNUSED_PARAM)\n-@@ -119,6 +126,17 @@ static int FAST_FUNC print_rule(const st\n- \telse if (r->rtm_table)\n- \t\tprintf(\"lookup %s \", rtnl_rttable_n2a(r->rtm_table));\n- \n-+\tif (tb[FRA_SUPPRESS_PREFIXLEN]) {\n-+\t\tint pl = *(uint32_t*)RTA_DATA(tb[FRA_SUPPRESS_PREFIXLEN]);\n-+\t\tif (pl != -1)\n-+\t\t\tprintf(\"%s %d \", keyword_suppress_prefixlength, pl);\n-+\t}\n-+\tif (tb[FRA_SUPPRESS_IFGROUP]) {\n-+\t\tint grp = *(uint32_t*)RTA_DATA(tb[FRA_SUPPRESS_IFGROUP]);\n-+\t\tif (grp != -1)\n-+\t\t\tprintf(\"%s %d \", keyword_suppress_ifgroup, grp);\n-+\t}\n-+\n- \tif (tb[RTA_FLOW]) {\n- \t\tuint32_t to = *(uint32_t*)RTA_DATA(tb[RTA_FLOW]);\n- \t\tuint32_t from = to>>16;\n-@@ -174,15 +192,6 @@ static int iprule_list(char **argv)\n- /* Return value becomes exitcode. It's okay to not return at all */\n- static int iprule_modify(int cmd, char **argv)\n- {\n--\tstatic const char keywords[] ALIGN1 =\n--\t\t\"from\\0\"\"to\\0\"\"preference\\0\"\"order\\0\"\"priority\\0\"\n--\t\t\"tos\\0\"\"fwmark\\0\"\"realms\\0\"\"table\\0\"\"lookup\\0\"\"dev\\0\"\n--\t\t\"iif\\0\"\"nat\\0\"\"map-to\\0\"\"type\\0\"\"help\\0\";\n--\tenum {\n--\t\tARG_from = 1, ARG_to, ARG_preference, ARG_order, ARG_priority,\n--\t\tARG_tos, ARG_fwmark, ARG_realms, ARG_table, ARG_lookup, ARG_dev,\n--\t\tARG_iif, ARG_nat, ARG_map_to, ARG_type, ARG_help\n--\t};\n- \tbool table_ok = 0;\n- \tstruct rtnl_handle rth;\n- \tstruct {\n-@@ -232,7 +241,7 @@ static int iprule_modify(int cmd, char *\n- \t\t) {\n- \t\t\tuint32_t pref;\n- \t\t\tNEXT_ARG();\n--\t\t\tpref = get_u32(*argv, \"preference\");\n-+\t\t\tpref = get_u32(*argv, keyword_preference);\n- \t\t\taddattr32(&req.n, sizeof(req), RTA_PRIORITY, pref);\n- \t\t} else if (key == ARG_tos) {\n- \t\t\tuint32_t tos;\n-@@ -243,13 +252,13 @@ static int iprule_modify(int cmd, char *\n- \t\t} else if (key == ARG_fwmark) {\n- \t\t\tuint32_t fwmark;\n- \t\t\tNEXT_ARG();\n--\t\t\tfwmark = get_u32(*argv, \"fwmark\");\n-+\t\t\tfwmark = get_u32(*argv, keyword_fwmark);\n- \t\t\taddattr32(&req.n, sizeof(req), RTA_PROTOINFO, fwmark);\n- \t\t} else if (key == ARG_realms) {\n- \t\t\tuint32_t realm;\n- \t\t\tNEXT_ARG();\n- \t\t\tif (get_rt_realms(&realm, *argv))\n--\t\t\t\tinvarg_1_to_2(*argv, \"realms\");\n-+\t\t\t\tinvarg_1_to_2(*argv, keyword_realms);\n- \t\t\taddattr32(&req.n, sizeof(req), RTA_FLOW, realm);\n- \t\t} else if (key == ARG_table ||\n- \t\t\t   key == ARG_lookup\n-@@ -265,6 +274,16 @@ static int iprule_modify(int cmd, char *\n- \t\t\t\taddattr32(&req.n, sizeof(req), RTA_TABLE, tid);\n- \t\t\t}\n- \t\t\ttable_ok = 1;\n-+\t\t} else if (key == ARG_suppress_prefixlength) {\n-+\t\t\tint prefix_length;\n-+\t\t\tNEXT_ARG();\n-+\t\t\tprefix_length = get_u32(*argv, keyword_suppress_prefixlength);\n-+\t\t\taddattr32(&req.n, sizeof(req), FRA_SUPPRESS_PREFIXLEN, prefix_length);\n-+\t\t} else if (key == ARG_suppress_ifgroup) {\n-+\t\t\tint grp;\n-+\t\t\tNEXT_ARG();\n-+\t\t\tgrp = get_u32(*argv, keyword_suppress_ifgroup);\n-+\t\t\taddattr32(&req.n, sizeof(req), FRA_SUPPRESS_IFGROUP, grp);\n- \t\t} else if (key == ARG_dev ||\n- \t\t\t   key == ARG_iif\n- \t\t) {\ndiff --git a/package/utils/busybox/patches/401-vi-don-t-touch-file-with-x-when-modified_count-0.patch b/package/utils/busybox/patches/401-vi-don-t-touch-file-with-x-when-modified_count-0.patch\ndeleted file mode 100644\nindex e83999d303..0000000000\n--- a/package/utils/busybox/patches/401-vi-don-t-touch-file-with-x-when-modified_count-0.patch\n+++ /dev/null\n@@ -1,100 +0,0 @@\n-From e88608eae24ae5934034e1ecb6c494fefbf1b9ae Mon Sep 17 00:00:00 2001\n-From: Denys Vlasenko <vda.linux@googlemail.com>\n-Date: Mon, 13 Mar 2017 20:50:42 +0100\n-Subject: [PATCH 1/2] vi: don't touch file with :x when modified_count == 0\n-\n-Along with it, there are other changes\n-\n- - Check for uppercase X is removed as the expression will be always false and\n-   :X itself is another totally different command in standard vim\n- - The status line will show number of written lines instead of lines requested\n-   by the colon command.  This is also how the standard vim is doing, though\n-   the difference is that '!' has to be explicitly specified in vim to allow\n-   partial writes\n-\n-Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>\n-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>\n----\n- editors/vi.c | 43 ++++++++++++++++++++++++++-----------------\n- 1 file changed, 26 insertions(+), 17 deletions(-)\n-\n---- a/editors/vi.c\n-+++ b/editors/vi.c\n-@@ -1038,7 +1038,9 @@ static void colon(char *buf)\n- \t || strncmp(p, \"wn\", cnt) == 0\n- \t || (p[0] == 'x' && !p[1])\n- \t) {\n--\t\tcnt = file_write(current_filename, text, end - 1);\n-+\t\tif (modified_count != 0 || p[0] != 'x') {\n-+\t\t\tcnt = file_write(current_filename, text, end - 1);\n-+\t\t}\n- \t\tif (cnt < 0) {\n- \t\t\tif (cnt == -1)\n- \t\t\t\tstatus_line_bold(\"Write error: %s\", strerror(errno));\n-@@ -1049,8 +1051,9 @@ static void colon(char *buf)\n- \t\t\t\tcurrent_filename,\n- \t\t\t\tcount_lines(text, end - 1), cnt\n- \t\t\t);\n--\t\t\tif (p[0] == 'x' || p[1] == 'q' || p[1] == 'n'\n--\t\t\t || p[0] == 'X' || p[1] == 'Q' || p[1] == 'N'\n-+\t\t\tif (p[0] == 'x'\n-+\t\t\t || p[1] == 'q' || p[1] == 'n'\n-+\t\t\t || p[1] == 'Q' || p[1] == 'N'\n- \t\t\t) {\n- \t\t\t\tediting = 0;\n- \t\t\t}\n-@@ -1480,16 +1483,19 @@ static void colon(char *buf)\n- \t\t\tgoto ret;\n- \t\t}\n- #endif\n--\t\t// how many lines in text[]?\n--\t\tli = count_lines(q, r);\n--\t\tsize = r - q + 1;\n- \t\t//if (useforce) {\n- \t\t\t// if \"fn\" is not write-able, chmod u+w\n- \t\t\t// sprintf(syscmd, \"chmod u+w %s\", fn);\n- \t\t\t// system(syscmd);\n- \t\t\t// forced = TRUE;\n- \t\t//}\n--\t\tl = file_write(fn, q, r);\n-+\t\tif (modified_count != 0 || cmd[0] != 'x') {\n-+\t\t\tsize = r - q + 1;\n-+\t\t\tl = file_write(fn, q, r);\n-+\t\t} else {\n-+\t\t\tsize = 0;\n-+\t\t\tl = 0;\n-+\t\t}\n- \t\t//if (useforce && forced) {\n- \t\t\t// chmod u-w\n- \t\t\t// sprintf(syscmd, \"chmod u-w %s\", fn);\n-@@ -1500,17 +1506,20 @@ static void colon(char *buf)\n- \t\t\tif (l == -1)\n- \t\t\t\tstatus_line_bold_errno(fn);\n- \t\t} else {\n-+\t\t\t// how many lines written\n-+\t\t\tli = count_lines(q, q + l - 1);\n- \t\t\tstatus_line(\"'%s' %dL, %dC\", fn, li, l);\n--\t\t\tif (q == text && r == end - 1 && l == size) {\n--\t\t\t\tmodified_count = 0;\n--\t\t\t\tlast_modified_count = -1;\n--\t\t\t}\n--\t\t\tif ((cmd[0] == 'x' || cmd[1] == 'q' || cmd[1] == 'n'\n--\t\t\t    || cmd[0] == 'X' || cmd[1] == 'Q' || cmd[1] == 'N'\n--\t\t\t    )\n--\t\t\t && l == size\n--\t\t\t) {\n--\t\t\t\tediting = 0;\n-+\t\t\tif (l == size) {\n-+\t\t\t\tif (q == text && q + l == end) {\n-+\t\t\t\t\tmodified_count = 0;\n-+\t\t\t\t\tlast_modified_count = -1;\n-+\t\t\t\t}\n-+\t\t\t\tif (cmd[0] == 'x'\n-+\t\t\t\t || cmd[1] == 'q' || cmd[1] == 'n'\n-+\t\t\t\t || cmd[1] == 'Q' || cmd[1] == 'N'\n-+\t\t\t\t) {\n-+\t\t\t\t\tediting = 0;\n-+\t\t\t\t}\n- \t\t\t}\n- \t\t}\n- #if ENABLE_FEATURE_VI_YANKMARK\ndiff --git a/package/utils/busybox/patches/402-vi-avoid-touching-a-new-file-with-ZZ-when-no-editing.patch b/package/utils/busybox/patches/402-vi-avoid-touching-a-new-file-with-ZZ-when-no-editing.patch\ndeleted file mode 100644\nindex b56cf735c2..0000000000\n--- a/package/utils/busybox/patches/402-vi-avoid-touching-a-new-file-with-ZZ-when-no-editing.patch\n+++ /dev/null\n@@ -1,53 +0,0 @@\n-From 8f3bf4f0d3605b50a8e4c48c89aeabc455f04884 Mon Sep 17 00:00:00 2001\n-From: Yousong Zhou <yszhou4tech@gmail.com>\n-Date: Fri, 24 Mar 2017 21:13:10 +0100\n-Subject: [PATCH 2/2] vi: avoid touching a new file with ZZ when no editing has\n- been done\n-\n-This is the behaviour observed with standard vim and busybox vi of at\n-least 1.22.1.  It was changed with commit \"32afd3a vi: some\n-simplifications\" which happened before 1.23.0.\n-\n-Mistyping filename on command line happens fairly often and it's better\n-we restore the old behaviour to avoid a few unnecessary flash writes and\n-sometimes efforts of debugging bugs caused by those unneeded stray\n-files.\n-\n-Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>\n-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>\n----\n- editors/vi.c | 16 ++++++++--------\n- 1 file changed, 8 insertions(+), 8 deletions(-)\n-\n---- a/editors/vi.c\n-+++ b/editors/vi.c\n-@@ -719,14 +719,6 @@ static int init_text_buffer(char *fn)\n- {\n- \tint rc;\n- \n--\tflush_undo_data();\n--\tmodified_count = 0;\n--\tlast_modified_count = -1;\n--#if ENABLE_FEATURE_VI_YANKMARK\n--\t/* init the marks */\n--\tmemset(mark, 0, sizeof(mark));\n--#endif\n--\n- \t/* allocate/reallocate text buffer */\n- \tfree(text);\n- \ttext_size = 10240;\n-@@ -741,6 +733,14 @@ static int init_text_buffer(char *fn)\n- \t\t// file doesnt exist. Start empty buf with dummy line\n- \t\tchar_insert(text, '\\n', NO_UNDO);\n- \t}\n-+\n-+\tflush_undo_data();\n-+\tmodified_count = 0;\n-+\tlast_modified_count = -1;\n-+#if ENABLE_FEATURE_VI_YANKMARK\n-+\t/* init the marks */\n-+\tmemset(mark, 0, sizeof(mark));\n-+#endif\n- \treturn rc;\n- }\n- \n",
    "prefixes": [
        "LEDE-DEV"
    ]
}