Page Menu
Home
Solus
Search
Configure Global Search
Log In
Files
F11034701
D2174.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
61 KB
Referenced Files
None
Subscribers
None
D2174.id.diff
View Options
diff --git a/actions.py b/actions.py
deleted file mode 100644
--- a/actions.py
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env python
-
-from pisi.actionsapi import autotools
-from pisi.actionsapi import pisitools
-
-def build():
- autotools.make()
- autotools.make("busybox.links")
-
-def install():
- pisitools.insinto("/bin", "busybox.links")
- pisitools.insinto("/bin", "busybox")
diff --git a/component.xml b/component.xml
deleted file mode 100644
--- a/component.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<PISI>
- <Name>system.boot</Name>
-</PISI>
-
diff --git a/files/busybox-1.21.0-mdev.patch b/files/busybox-1.21.0-mdev.patch
deleted file mode 100644
--- a/files/busybox-1.21.0-mdev.patch
+++ /dev/null
@@ -1,643 +0,0 @@
---- busybox-1.21.0/util-linux/mdev.c
-+++ busybox-1.21.0-mdev/util-linux/mdev.c
-@@ -80,7 +80,7 @@
- //usage: IF_FEATURE_MDEV_CONF(
- //usage: "\n"
- //usage: "It uses /etc/mdev.conf with lines\n"
--//usage: " [-]DEVNAME UID:GID PERM"
-+//usage: " [-][ENV=regex;]...DEVNAME UID:GID PERM"
- //usage: IF_FEATURE_MDEV_RENAME(" [>|=PATH]|[!]")
- //usage: IF_FEATURE_MDEV_EXEC(" [@|$|*PROG]")
- //usage: "\n"
-@@ -230,9 +230,34 @@
- * SUBSYSTEM=block
- */
-
--static const char keywords[] ALIGN1 = "add\0remove\0change\0";
-+#define DEBUG_LVL 2
-+
-+#if DEBUG_LVL >= 1
-+# define dbg1(...) do { if (G.verbose) bb_error_msg(__VA_ARGS__); } while(0)
-+#else
-+# define dbg1(...) ((void)0)
-+#endif
-+#if DEBUG_LVL >= 2
-+# define dbg2(...) do { if (G.verbose >= 2) bb_error_msg(__VA_ARGS__); } while(0)
-+#else
-+# define dbg2(...) ((void)0)
-+#endif
-+#if DEBUG_LVL >= 3
-+# define dbg3(...) do { if (G.verbose >= 3) bb_error_msg(__VA_ARGS__); } while(0)
-+#else
-+# define dbg3(...) ((void)0)
-+#endif
-+
-+
-+static const char keywords[] ALIGN1 = "add\0remove\0"; // "change\0"
- enum { OP_add, OP_remove };
-
-+struct envmatch {
-+ struct envmatch *next;
-+ char *envname;
-+ regex_t match;
-+};
-+
- struct rule {
- bool keep_matching;
- bool regex_compiled;
-@@ -243,12 +268,14 @@ struct rule {
- char *ren_mov;
- IF_FEATURE_MDEV_EXEC(char *r_cmd;)
- regex_t match;
-+ struct envmatch *envmatch;
- };
-
- struct globals {
- int root_major, root_minor;
- smallint verbose;
- char *subsystem;
-+ char *subsys_env; /* for putenv("SUBSYSTEM=subsystem") */
- #if ENABLE_FEATURE_MDEV_CONF
- const char *filename;
- parser_t *parser;
-@@ -256,6 +283,7 @@ struct globals {
- unsigned rule_idx;
- #endif
- struct rule cur_rule;
-+ char timestr[sizeof("60.123456")];
- } FIX_ALIASING;
- #define G (*(struct globals*)&bb_common_bufsiz1)
- #define INIT_G() do { \
-@@ -270,13 +298,6 @@ struct globals {
- /* We use additional 64+ bytes in make_device() */
- #define SCRATCH_SIZE 80
-
--#if 0
--# define dbg(...) bb_error_msg(__VA_ARGS__)
--#else
--# define dbg(...) ((void)0)
--#endif
--
--
- #if ENABLE_FEATURE_MDEV_CONF
-
- static void make_default_cur_rule(void)
-@@ -288,14 +309,65 @@ static void make_default_cur_rule(void)
-
- static void clean_up_cur_rule(void)
- {
-+ struct envmatch *e;
-+
- free(G.cur_rule.envvar);
-+ free(G.cur_rule.ren_mov);
- if (G.cur_rule.regex_compiled)
- regfree(&G.cur_rule.match);
-- free(G.cur_rule.ren_mov);
- IF_FEATURE_MDEV_EXEC(free(G.cur_rule.r_cmd);)
-+ e = G.cur_rule.envmatch;
-+ while (e) {
-+ free(e->envname);
-+ regfree(&e->match);
-+ e = e->next;
-+ }
- make_default_cur_rule();
- }
-
-+/* In later versions, endofname is in libbb */
-+#define endofname mdev_endofname
-+static
-+const char* FAST_FUNC
-+endofname(const char *name)
-+{
-+#define is_name(c) ((c) == '_' || isalpha((unsigned char)(c)))
-+#define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c)))
-+ if (!is_name(*name))
-+ return name;
-+ while (*++name) {
-+ if (!is_in_name(*name))
-+ break;
-+ }
-+ return name;
-+}
-+
-+static char *parse_envmatch_pfx(char *val)
-+{
-+ struct envmatch **nextp = &G.cur_rule.envmatch;
-+
-+ for (;;) {
-+ struct envmatch *e;
-+ char *semicolon;
-+ char *eq = strchr(val, '=');
-+ if (!eq /* || eq == val? */)
-+ return val;
-+ if (endofname(val) != eq)
-+ return val;
-+ semicolon = strchr(eq, ';');
-+ if (!semicolon)
-+ return val;
-+ /* ENVVAR=regex;... */
-+ *nextp = e = xzalloc(sizeof(*e));
-+ nextp = &e->next;
-+ e->envname = xstrndup(val, eq - val);
-+ *semicolon = '\0';
-+ xregcomp(&e->match, eq + 1, REG_EXTENDED);
-+ *semicolon = ';';
-+ val = semicolon + 1;
-+ }
-+}
-+
- static void parse_next_rule(void)
- {
- /* Note: on entry, G.cur_rule is set to default */
-@@ -308,12 +380,13 @@ static void parse_next_rule(void)
- break;
-
- /* Fields: [-]regex uid:gid mode [alias] [cmd] */
-- dbg("token1:'%s'", tokens[1]);
-+ dbg3("token1:'%s'", tokens[1]);
-
- /* 1st field */
- val = tokens[0];
- G.cur_rule.keep_matching = ('-' == val[0]);
- val += G.cur_rule.keep_matching; /* swallow leading dash */
-+ val = parse_envmatch_pfx(val);
- if (val[0] == '@') {
- /* @major,minor[-minor2] */
- /* (useful when name is ambiguous:
-@@ -328,8 +401,10 @@ static void parse_next_rule(void)
- if (sc == 2)
- G.cur_rule.min1 = G.cur_rule.min0;
- } else {
-+ char *eq = strchr(val, '=');
- if (val[0] == '$') {
-- char *eq = strchr(++val, '=');
-+ /* $ENVVAR=regex ... */
-+ val++;
- if (!eq) {
- bb_error_msg("bad $envvar=regex on line %d", G.parser->lineno);
- goto next_rule;
-@@ -373,7 +448,7 @@ static void parse_next_rule(void)
- clean_up_cur_rule();
- } /* while (config_read) */
-
-- dbg("config_close(G.parser)");
-+ dbg3("config_close(G.parser)");
- config_close(G.parser);
- G.parser = NULL;
-
-@@ -390,7 +465,7 @@ static const struct rule *next_rule(void
-
- /* Open conf file if we didn't do it yet */
- if (!G.parser && G.filename) {
-- dbg("config_open('%s')", G.filename);
-+ dbg3("config_open('%s')", G.filename);
- G.parser = config_open2(G.filename, fopen_for_read);
- G.filename = NULL;
- }
-@@ -399,7 +474,7 @@ static const struct rule *next_rule(void
- /* mdev -s */
- /* Do we have rule parsed already? */
- if (G.rule_vec[G.rule_idx]) {
-- dbg("< G.rule_vec[G.rule_idx:%d]=%p", G.rule_idx, G.rule_vec[G.rule_idx]);
-+ dbg3("< G.rule_vec[G.rule_idx:%d]=%p", G.rule_idx, G.rule_vec[G.rule_idx]);
- return G.rule_vec[G.rule_idx++];
- }
- make_default_cur_rule();
-@@ -416,13 +491,28 @@ static const struct rule *next_rule(void
- rule = memcpy(xmalloc(sizeof(G.cur_rule)), &G.cur_rule, sizeof(G.cur_rule));
- G.rule_vec = xrealloc_vector(G.rule_vec, 4, G.rule_idx);
- G.rule_vec[G.rule_idx++] = rule;
-- dbg("> G.rule_vec[G.rule_idx:%d]=%p", G.rule_idx, G.rule_vec[G.rule_idx]);
-+ dbg3("> G.rule_vec[G.rule_idx:%d]=%p", G.rule_idx, G.rule_vec[G.rule_idx]);
- }
- }
-
- return rule;
- }
-
-+static int env_matches(struct envmatch *e)
-+{
-+ while (e) {
-+ int r;
-+ char *val = getenv(e->envname);
-+ if (!val)
-+ return 0;
-+ r = regexec(&e->match, val, /*size*/ 0, /*range[]*/ NULL, /*eflags*/ 0);
-+ if (r != 0) /* no match */
-+ return 0;
-+ e = e->next;
-+ }
-+ return 1;
-+}
-+
- #else
-
- # define next_rule() (&G.cur_rule)
-@@ -479,9 +569,6 @@ static void make_device(char *device_nam
- {
- int major, minor, type, len;
-
-- if (G.verbose)
-- bb_error_msg("device: %s, %s", device_name, path);
--
- /* Try to read major/minor string. Note that the kernel puts \n after
- * the data, so we don't need to worry about null terminating the string
- * because sscanf() will stop at the first nondigit, which \n is.
-@@ -500,8 +587,7 @@ static void make_device(char *device_nam
- /* no "dev" file, but we can still run scripts
- * based on device name */
- } else if (sscanf(++dev_maj_min, "%u:%u", &major, &minor) == 2) {
-- if (G.verbose)
-- bb_error_msg("maj,min: %u,%u", major, minor);
-+ dbg1("dev %u,%u", major, minor);
- } else {
- major = -1;
- }
-@@ -511,7 +597,8 @@ static void make_device(char *device_nam
- /* Determine device name, type, major and minor */
- if (!device_name)
- device_name = (char*) bb_basename(path);
-- /* http://kernel.org/doc/pending/hotplug.txt says that only
-+ /*
-+ * http://kernel.org/doc/pending/hotplug.txt says that only
- * "/sys/block/..." is for block devices. "/sys/bus" etc is not.
- * But since 2.6.25 block devices are also in /sys/class/block.
- * We use strstr("/block/") to forestall future surprises.
-@@ -537,6 +624,8 @@ static void make_device(char *device_nam
- rule = next_rule();
-
- #if ENABLE_FEATURE_MDEV_CONF
-+ if (!env_matches(rule->envmatch))
-+ continue;
- if (rule->maj >= 0) { /* @maj,min rule */
- if (major != rule->maj)
- continue;
-@@ -547,7 +636,7 @@ static void make_device(char *device_nam
- }
- if (rule->envvar) { /* $envvar=regex rule */
- str_to_match = getenv(rule->envvar);
-- dbg("getenv('%s'):'%s'", rule->envvar, str_to_match);
-+ dbg3("getenv('%s'):'%s'", rule->envvar, str_to_match);
- if (!str_to_match)
- continue;
- }
-@@ -555,7 +644,7 @@ static void make_device(char *device_nam
-
- if (rule->regex_compiled) {
- int regex_match = regexec(&rule->match, str_to_match, ARRAY_SIZE(off), off, 0);
-- dbg("regex_match for '%s':%d", str_to_match, regex_match);
-+ dbg3("regex_match for '%s':%d", str_to_match, regex_match);
- //bb_error_msg("matches:");
- //for (int i = 0; i < ARRAY_SIZE(off); i++) {
- // if (off[i].rm_so < 0) continue;
-@@ -574,9 +663,8 @@ static void make_device(char *device_nam
- }
- /* else: it's final implicit "match-all" rule */
- rule_matches:
-+ dbg2("rule matched, line %d", G.parser ? G.parser->lineno : -1);
- #endif
-- dbg("rule matched");
--
- /* Build alias name */
- alias = NULL;
- if (ENABLE_FEATURE_MDEV_RENAME && rule->ren_mov) {
-@@ -619,34 +707,30 @@ static void make_device(char *device_nam
- }
- }
- }
-- dbg("alias:'%s'", alias);
-+ dbg3("alias:'%s'", alias);
-
- command = NULL;
- IF_FEATURE_MDEV_EXEC(command = rule->r_cmd;)
- if (command) {
-- const char *s = "$@*";
-- const char *s2 = strchr(s, command[0]);
--
- /* Are we running this command now?
-- * Run $cmd on delete, @cmd on create, *cmd on both
-+ * Run @cmd on create, $cmd on delete, *cmd on any
- */
-- if (s2 - s != (operation == OP_remove) || *s2 == '*') {
-- /* We are here if: '*',
-- * or: '@' and delete = 0,
-- * or: '$' and delete = 1
-- */
-+ if ((command[0] == '@' && operation == OP_add)
-+ || (command[0] == '$' && operation == OP_remove)
-+ || (command[0] == '*')
-+ ) {
- command++;
- } else {
- command = NULL;
- }
- }
-- dbg("command:'%s'", command);
-+ dbg3("command:'%s'", command);
-
- /* "Execute" the line we found */
- node_name = device_name;
- if (ENABLE_FEATURE_MDEV_RENAME && alias) {
- node_name = alias = build_alias(alias, device_name);
-- dbg("alias2:'%s'", alias);
-+ dbg3("alias2:'%s'", alias);
- }
-
- if (operation == OP_add && major >= 0) {
-@@ -656,8 +740,17 @@ static void make_device(char *device_nam
- mkdir_recursive(node_name);
- *slash = '/';
- }
-- if (G.verbose)
-- bb_error_msg("mknod: %s (%d,%d) %o", node_name, major, minor, rule->mode | type);
-+ if (ENABLE_FEATURE_MDEV_CONF) {
-+ dbg1("mknod %s (%d,%d) %o"
-+ " %u:%u",
-+ node_name, major, minor, rule->mode | type,
-+ rule->ugid.uid, rule->ugid.gid
-+ );
-+ } else {
-+ dbg1("mknod %s (%d,%d) %o",
-+ node_name, major, minor, rule->mode | type
-+ );
-+ }
- if (mknod(node_name, rule->mode | type, makedev(major, minor)) && errno != EEXIST)
- bb_perror_msg("can't create '%s'", node_name);
- if (ENABLE_FEATURE_MDEV_CONF) {
-@@ -671,8 +764,7 @@ static void make_device(char *device_nam
- //TODO: on devtmpfs, device_name already exists and symlink() fails.
- //End result is that instead of symlink, we have two nodes.
- //What should be done?
-- if (G.verbose)
-- bb_error_msg("symlink: %s", device_name);
-+ dbg1("symlink: %s", device_name);
- symlink(node_name, device_name);
- }
- }
-@@ -681,27 +773,21 @@ static void make_device(char *device_nam
- if (ENABLE_FEATURE_MDEV_EXEC && command) {
- /* setenv will leak memory, use putenv/unsetenv/free */
- char *s = xasprintf("%s=%s", "MDEV", node_name);
-- char *s1 = xasprintf("%s=%s", "SUBSYSTEM", G.subsystem);
- putenv(s);
-- putenv(s1);
-- if (G.verbose)
-- bb_error_msg("running: %s", command);
-+ dbg1("running: %s", command);
- if (system(command) == -1)
- bb_perror_msg("can't run '%s'", command);
-- bb_unsetenv_and_free(s1);
- bb_unsetenv_and_free(s);
- }
-
- if (operation == OP_remove && major >= -1) {
- if (ENABLE_FEATURE_MDEV_RENAME && alias) {
- if (aliaslink == '>') {
-- if (G.verbose)
-- bb_error_msg("unlink: %s", device_name);
-+ dbg1("unlink: %s", device_name);
- unlink(device_name);
- }
- }
-- if (G.verbose)
-- bb_error_msg("unlink: %s", node_name);
-+ dbg1("unlink: %s", node_name);
- unlink(node_name);
- }
-
-@@ -746,9 +832,16 @@ static int FAST_FUNC dirAction(const cha
- * under /sys/class/ */
- if (1 == depth) {
- free(G.subsystem);
-+ if (G.subsys_env) {
-+ bb_unsetenv_and_free(G.subsys_env);
-+ G.subsys_env = NULL;
-+ }
- G.subsystem = strrchr(fileName, '/');
-- if (G.subsystem)
-+ if (G.subsystem) {
- G.subsystem = xstrdup(G.subsystem + 1);
-+ G.subsys_env = xasprintf("%s=%s", "SUBSYSTEM", G.subsystem);
-+ putenv(G.subsys_env);
-+ }
- }
-
- return (depth >= MAX_SYSFS_DEPTH ? SKIP : TRUE);
-@@ -813,12 +906,107 @@ static void load_firmware(const char *fi
- full_write(loading_fd, "-1", 2);
-
- out:
-+ xchdir("/dev");
- if (ENABLE_FEATURE_CLEAN_UP) {
- close(firmware_fd);
- close(loading_fd);
- }
- }
-
-+static char *curtime(void)
-+{
-+ struct timeval tv;
-+ gettimeofday(&tv, NULL);
-+ sprintf(G.timestr, "%u.%06u", (unsigned)tv.tv_sec % 60, (unsigned)tv.tv_usec);
-+ return G.timestr;
-+}
-+
-+static void open_mdev_log(const char *seq, unsigned my_pid)
-+{
-+ int logfd = open("mdev.log", O_WRONLY | O_APPEND);
-+ if (logfd >= 0) {
-+ xmove_fd(logfd, STDERR_FILENO);
-+ G.verbose = 2;
-+ applet_name = xasprintf("%s[%s]", applet_name, seq ? seq : utoa(my_pid));
-+ }
-+}
-+
-+/* If it exists, does /dev/mdev.seq match $SEQNUM?
-+ * If it does not match, earlier mdev is running
-+ * in parallel, and we need to wait.
-+ * Active mdev pokes us with SIGCHLD to check the new file.
-+ */
-+static int
-+wait_for_seqfile(const char *seq)
-+{
-+ /* We time out after 2 sec */
-+ static const struct timespec ts = { 0, 32*1000*1000 };
-+ int timeout = 2000 / 32;
-+ int seq_fd = -1;
-+ int do_once = 1;
-+ sigset_t set_CHLD;
-+
-+ sigemptyset(&set_CHLD);
-+ sigaddset(&set_CHLD, SIGCHLD);
-+ sigprocmask(SIG_BLOCK, &set_CHLD, NULL);
-+
-+ for (;;) {
-+ int seqlen;
-+ char seqbuf[sizeof(int)*3 + 2];
-+
-+ if (seq_fd < 0) {
-+ seq_fd = open("mdev.seq", O_RDWR);
-+ if (seq_fd < 0)
-+ break;
-+ }
-+ seqlen = pread(seq_fd, seqbuf, sizeof(seqbuf) - 1, 0);
-+ if (seqlen < 0) {
-+ close(seq_fd);
-+ seq_fd = -1;
-+ break;
-+ }
-+ seqbuf[seqlen] = '\0';
-+ if (seqbuf[0] == '\n') {
-+ /* seed file: write out seq ASAP */
-+ xwrite_str(seq_fd, seq);
-+ xlseek(seq_fd, 0, SEEK_SET);
-+ dbg2("first seq written");
-+ break;
-+ }
-+ if (strcmp(seq, seqbuf) == 0) {
-+ /* correct idx */
-+ break;
-+ }
-+ if (do_once) {
-+ dbg2("%s waiting for '%s'", curtime(), seqbuf);
-+ do_once = 0;
-+ }
-+ if (sigtimedwait(&set_CHLD, NULL, &ts) >= 0) {
-+ dbg3("woken up");
-+ continue; /* don't decrement timeout! */
-+ }
-+ if (--timeout == 0) {
-+ dbg1("%s waiting for '%s'", "timed out", seqbuf);
-+ break;
-+ }
-+ }
-+ sigprocmask(SIG_UNBLOCK, &set_CHLD, NULL);
-+ return seq_fd;
-+}
-+
-+static void signal_mdevs(unsigned my_pid)
-+{
-+ procps_status_t* p = NULL;
-+ while ((p = procps_scan(p, PSSCAN_ARGV0)) != NULL) {
-+ if (p->pid != my_pid
-+ && p->argv0
-+ && strcmp(bb_basename(p->argv0), "mdev") == 0
-+ ) {
-+ kill(p->pid, SIGCHLD);
-+ }
-+ }
-+}
-+
- int mdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int mdev_main(int argc UNUSED_PARAM, char **argv)
- {
-@@ -840,8 +1028,8 @@ int mdev_main(int argc UNUSED_PARAM, cha
- xchdir("/dev");
-
- if (argv[1] && strcmp(argv[1], "-s") == 0) {
-- /* Scan:
-- * mdev -s
-+ /*
-+ * Scan: mdev -s
- */
- struct stat st;
-
-@@ -853,6 +1041,8 @@ int mdev_main(int argc UNUSED_PARAM, cha
- G.root_major = major(st.st_dev);
- G.root_minor = minor(st.st_dev);
-
-+ putenv((char*)"ACTION=add");
-+
- /* ACTION_FOLLOWLINKS is needed since in newer kernels
- * /sys/block/loop* (for example) are symlinks to dirs,
- * not real directories.
-@@ -878,11 +1068,13 @@ int mdev_main(int argc UNUSED_PARAM, cha
- char *action;
- char *env_devname;
- char *env_devpath;
-+ unsigned my_pid;
-+ int seq_fd;
- smalluint op;
-
- /* Hotplug:
- * env ACTION=... DEVPATH=... SUBSYSTEM=... [SEQNUM=...] mdev
-- * ACTION can be "add" or "remove"
-+ * ACTION can be "add", "remove", "change"
- * DEVPATH is like "/block/sda" or "/class/input/mice"
- */
- action = getenv("ACTION");
-@@ -893,39 +1085,20 @@ int mdev_main(int argc UNUSED_PARAM, cha
- if (!action || !env_devpath /*|| !G.subsystem*/)
- bb_show_usage();
- fw = getenv("FIRMWARE");
-- /* If it exists, does /dev/mdev.seq match $SEQNUM?
-- * If it does not match, earlier mdev is running
-- * in parallel, and we need to wait */
- seq = getenv("SEQNUM");
-- if (seq) {
-- int timeout = 2000 / 32; /* 2000 msec */
-- do {
-- int seqlen;
-- char seqbuf[sizeof(int)*3 + 2];
--
-- seqlen = open_read_close("mdev.seq", seqbuf, sizeof(seqbuf) - 1);
-- if (seqlen < 0) {
-- seq = NULL;
-- break;
-- }
-- seqbuf[seqlen] = '\0';
-- if (seqbuf[0] == '\n' /* seed file? */
-- || strcmp(seq, seqbuf) == 0 /* correct idx? */
-- ) {
-- break;
-- }
-- usleep(32*1000);
-- } while (--timeout);
-- }
-
-- {
-- int logfd = open("/dev/mdev.log", O_WRONLY | O_APPEND);
-- if (logfd >= 0) {
-- xmove_fd(logfd, STDERR_FILENO);
-- G.verbose = 1;
-- bb_error_msg("seq: %s action: %s", seq, action);
-- }
-- }
-+ my_pid = getpid();
-+ open_mdev_log(seq, my_pid);
-+
-+ seq_fd = seq ? wait_for_seqfile(seq) : -1;
-+
-+ dbg1("%s "
-+ "ACTION:%s SUBSYSTEM:%s DEVNAME:%s DEVPATH:%s"
-+ "%s%s",
-+ curtime(),
-+ action, G.subsystem, env_devname, env_devpath,
-+ fw ? " FW:" : "", fw ? fw : ""
-+ );
-
- snprintf(temp, PATH_MAX, "/sys%s", env_devpath);
- if (op == OP_remove) {
-@@ -935,16 +1108,18 @@ int mdev_main(int argc UNUSED_PARAM, cha
- if (!fw)
- make_device(env_devname, temp, op);
- }
-- else if (op == OP_add) {
-+ else {
- make_device(env_devname, temp, op);
- if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) {
-- if (fw)
-+ if (op == OP_add && fw)
- load_firmware(fw, temp);
- }
- }
-
-- if (seq) {
-- xopen_xwrite_close("mdev.seq", utoa(xatou(seq) + 1));
-+ dbg1("%s exiting", curtime());
-+ if (seq_fd >= 0) {
-+ xwrite_str(seq_fd, utoa(xatou(seq) + 1));
-+ signal_mdevs(my_pid);
- }
- }
-
diff --git a/files/busybox-1.21.0-platform.patch b/files/busybox-1.21.0-platform.patch
deleted file mode 100644
--- a/files/busybox-1.21.0-platform.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- busybox-1.21.0/archival/libarchive/decompress_unxz.c
-+++ busybox-1.21.0-platform/archival/libarchive/decompress_unxz.c
-@@ -30,8 +30,8 @@ static uint32_t xz_crc32(const uint8_t *
- /* We use arch-optimized unaligned accessors */
- #define get_unaligned_le32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_LE32(v); })
- #define get_unaligned_be32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_BE32(v); })
--#define put_unaligned_le32(val, buf) move_to_unaligned16(buf, SWAP_LE32(val))
--#define put_unaligned_be32(val, buf) move_to_unaligned16(buf, SWAP_BE32(val))
-+#define put_unaligned_le32(val, buf) move_to_unaligned32(buf, SWAP_LE32(val))
-+#define put_unaligned_be32(val, buf) move_to_unaligned32(buf, SWAP_BE32(val))
-
- #include "unxz/xz_dec_bcj.c"
- #include "unxz/xz_dec_lzma2.c"
---- busybox-1.21.0/include/platform.h
-+++ busybox-1.21.0-platform/include/platform.h
-@@ -228,7 +228,7 @@ typedef uint32_t bb__aliased_uint32_t FI
- # define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4))
- # define move_to_unaligned16(u16p, v) do { \
- uint16_t __t = (v); \
-- memcpy((u16p), &__t, 4); \
-+ memcpy((u16p), &__t, 2); \
- } while (0)
- # define move_to_unaligned32(u32p, v) do { \
- uint32_t __t = (v); \
diff --git a/files/busybox-1.21.0-xz.patch b/files/busybox-1.21.0-xz.patch
deleted file mode 100644
--- a/files/busybox-1.21.0-xz.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- busybox-1.21.0/archival/libarchive/decompress_unxz.c
-+++ busybox-1.21.0-xz/archival/libarchive/decompress_unxz.c
-@@ -40,6 +40,7 @@ static uint32_t xz_crc32(const uint8_t *
- IF_DESKTOP(long long) int FAST_FUNC
- unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd)
- {
-+ enum xz_ret xz_result;
- struct xz_buf iobuf;
- struct xz_dec *state;
- unsigned char *membuf;
-@@ -63,9 +64,8 @@ unpack_xz_stream(transformer_aux_data_t
- /* Limit memory usage to about 64 MiB. */
- state = xz_dec_init(XZ_DYNALLOC, 64*1024*1024);
-
-+ xz_result = X_OK;
- while (1) {
-- enum xz_ret r;
--
- if (iobuf.in_pos == iobuf.in_size) {
- int rd = safe_read(src_fd, membuf, BUFSIZ);
- if (rd < 0) {
-@@ -73,28 +73,57 @@ unpack_xz_stream(transformer_aux_data_t
- total = -1;
- break;
- }
-+ if (rd == 0 && xz_result == XZ_STREAM_END)
-+ break;
- iobuf.in_size = rd;
- iobuf.in_pos = 0;
- }
-+ if (xz_result == XZ_STREAM_END) {
-+ /*
-+ * Try to start decoding next concatenated stream.
-+ * Stream padding must always be a multiple of four
-+ * bytes to preserve four-byte alignment. To keep the
-+ * code slightly smaller, we aren't as strict here as
-+ * the .xz spec requires. We just skip all zero-bytes
-+ * without checking the alignment and thus can accept
-+ * files that aren't valid, e.g. the XZ utils test
-+ * files bad-0pad-empty.xz and bad-0catpad-empty.xz.
-+ */
-+ do {
-+ if (membuf[iobuf.in_pos] != 0) {
-+ xz_dec_reset(state);
-+ goto do_run;
-+ }
-+ iobuf.in_pos++;
-+ } while (iobuf.in_pos < iobuf.in_size);
-+ }
-+ do_run:
- // bb_error_msg(">in pos:%d size:%d out pos:%d size:%d",
- // iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size);
-- r = xz_dec_run(state, &iobuf);
-+ xz_result = xz_dec_run(state, &iobuf);
- // bb_error_msg("<in pos:%d size:%d out pos:%d size:%d r:%d",
--// iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size, r);
-+// iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size, xz_result);
- if (iobuf.out_pos) {
- xwrite(dst_fd, iobuf.out, iobuf.out_pos);
- IF_DESKTOP(total += iobuf.out_pos;)
- iobuf.out_pos = 0;
- }
-- if (r == XZ_STREAM_END) {
-- break;
-+ if (xz_result == XZ_STREAM_END) {
-+ /*
-+ * Can just "break;" here, if not for concatenated
-+ * .xz streams.
-+ * Checking for padding may require buffer
-+ * replenishment. Can't do it here.
-+ */
-+ continue;
- }
-- if (r != XZ_OK && r != XZ_UNSUPPORTED_CHECK) {
-+ if (xz_result != XZ_OK && xz_result != XZ_UNSUPPORTED_CHECK) {
- bb_error_msg("corrupted data");
- total = -1;
- break;
- }
- }
-+
- xz_dec_end(state);
- free(membuf);
-
diff --git a/files/config b/files/config
--- a/files/config
+++ b/files/config
@@ -1,56 +1,40 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.21.0
-# Thu Mar 14 17:02:28 2013
+# Busybox version: 1.28.1
+# Sat Mar 24 22:21:40 2018
#
CONFIG_HAVE_DOT_CONFIG=y
#
-# Busybox Settings
-#
-
-#
-# General Configuration
+# Settings
#
CONFIG_DESKTOP=y
# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_FEDORA_COMPAT is not set
CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_LONG_OPTS=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_FEATURE_INSTALLER=y
-# CONFIG_INSTALL_NO_USR is not set
-# CONFIG_LOCALE_SUPPORT is not set
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
+CONFIG_LFS=y
+# CONFIG_PAM is not set
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y
CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
+CONFIG_BUSYBOX=y
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
+CONFIG_PLATFORM_LINUX=y
#
# Build Options
@@ -59,24 +43,15 @@
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
+# CONFIG_USE_PORTABLE_CODE is not set
#
# Installation Options ("make install" behavior)
@@ -91,16 +66,30 @@
CONFIG_PREFIX="./_install"
#
-# Busybox Library Tuning
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_DEBUG_SANITIZE is not set
+# CONFIG_UNIT_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+
+#
+# Library Tuning
#
-CONFIG_FEATURE_SYSTEMD=y
+# CONFIG_FEATURE_USE_BSS_TAIL is not set
CONFIG_FEATURE_RTMINMAX=y
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set
@@ -109,14 +98,26 @@
# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
CONFIG_FEATURE_REVERSE_SEARCH=y
CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_USERNAME_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_UNICODE_SUPPORT=y
+# CONFIG_UNICODE_USING_LOCALE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+# CONFIG_UNICODE_COMBINING_WCHARS is not set
+# CONFIG_UNICODE_WIDE_WCHARS is not set
+# CONFIG_UNICODE_BIDI_SUPPORT is not set
+# CONFIG_UNICODE_NEUTRAL_TABLE is not set
+# CONFIG_UNICODE_PRESERVE_BROKEN is not set
CONFIG_FEATURE_NON_POSIX_CP=y
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
+CONFIG_FEATURE_USE_SENDFILE=y
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_FEATURE_SKIP_ROOTFS=y
-# CONFIG_MONOTONIC_SYSCALL is not set
+CONFIG_MONOTONIC_SYSCALL=y
CONFIG_IOCTL_HEX2STR_ERROR=y
CONFIG_FEATURE_HWIB=y
@@ -135,66 +136,62 @@
# CONFIG_AR is not set
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
# CONFIG_FEATURE_AR_CREATE is not set
+# CONFIG_UNCOMPRESS is not set
+CONFIG_GUNZIP=y
+CONFIG_ZCAT=y
+CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
CONFIG_BUNZIP2=y
+CONFIG_BZCAT=y
+CONFIG_UNLZMA=y
+CONFIG_LZCAT=y
+CONFIG_LZMA=y
+CONFIG_UNXZ=y
+CONFIG_XZCAT=y
+CONFIG_XZ=y
CONFIG_BZIP2=y
+CONFIG_FEATURE_BZIP2_DECOMPRESS=y
CONFIG_CPIO=y
CONFIG_FEATURE_CPIO_O=y
CONFIG_FEATURE_CPIO_P=y
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
CONFIG_GZIP=y
CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
CONFIG_GZIP_FAST=0
+# CONFIG_FEATURE_GZIP_LEVELS is not set
+CONFIG_FEATURE_GZIP_DECOMPRESS=y
CONFIG_LZOP=y
+# CONFIG_UNLZOP is not set
+# CONFIG_LZOPCAT is not set
# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
+# CONFIG_RPM2CPIO is not set
CONFIG_TAR=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_AUTODETECT=y
CONFIG_FEATURE_TAR_FROM=y
CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_TO_COMMAND=y
CONFIG_FEATURE_TAR_UNAME_GNAME=y
CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
# CONFIG_FEATURE_TAR_SELINUX is not set
-# CONFIG_UNCOMPRESS is not set
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZ=y
CONFIG_UNZIP=y
+CONFIG_FEATURE_UNZIP_CDF=y
+CONFIG_FEATURE_UNZIP_BZIP2=y
+CONFIG_FEATURE_UNZIP_LZMA=y
+CONFIG_FEATURE_UNZIP_XZ=y
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-CONFIG_FEATURE_DATE_COMPAT=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_BASE64=y
-CONFIG_WHO=y
-CONFIG_USERS=y
-CONFIG_CAL=y
-CONFIG_CATV=y
+CONFIG_FEATURE_CATN=y
+CONFIG_FEATURE_CATV=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
@@ -205,10 +202,15 @@
CONFIG_CP=y
CONFIG_FEATURE_CP_LONG_OPTIONS=y
CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+# CONFIG_FEATURE_DATE_NANO is not set
+CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_FEATURE_DD_STATUS=y
CONFIG_DF=y
CONFIG_FEATURE_DF_FANCY=y
CONFIG_DIRNAME=y
@@ -219,39 +221,55 @@
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
+CONFIG_UNEXPAND=y
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
+CONFIG_FACTOR=y
CONFIG_FALSE=y
CONFIG_FOLD=y
CONFIG_FSYNC=y
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
+CONFIG_HOSTID=y
+CONFIG_ID=y
+CONFIG_GROUPS=y
CONFIG_INSTALL=y
CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+CONFIG_LINK=y
CONFIG_LN=y
CONFIG_LOGNAME=y
CONFIG_LS=y
CONFIG_FEATURE_LS_FILETYPES=y
CONFIG_FEATURE_LS_FOLLOWLINKS=y
CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_WIDTH=y
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
CONFIG_FEATURE_LS_USERNAME=y
CONFIG_FEATURE_LS_COLOR=y
CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
CONFIG_MD5SUM=y
+CONFIG_SHA1SUM=y
+CONFIG_SHA256SUM=y
+CONFIG_SHA512SUM=y
+CONFIG_SHA3SUM=y
+
+#
+# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
+CONFIG_MKTEMP=y
CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
CONFIG_NICE=y
+CONFIG_NL=y
CONFIG_NOHUP=y
+CONFIG_NPROC=y
CONFIG_OD=y
+CONFIG_PASTE=y
CONFIG_PRINTENV=y
CONFIG_PRINTF=y
CONFIG_PWD=y
@@ -260,12 +278,9 @@
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
-CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SHA3SUM=y
+CONFIG_SHRED=y
+CONFIG_SHUF=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_FEATURE_FLOAT_SLEEP=y
@@ -275,58 +290,81 @@
CONFIG_FEATURE_SPLIT_FANCY=y
CONFIG_STAT=y
CONFIG_FEATURE_STAT_FORMAT=y
+CONFIG_FEATURE_STAT_FILESYSTEM=y
CONFIG_STTY=y
CONFIG_SUM=y
CONFIG_SYNC=y
+CONFIG_FEATURE_SYNC_FANCY=y
CONFIG_TAC=y
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
CONFIG_TEE=y
CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+CONFIG_TEST=y
+CONFIG_TEST1=y
+CONFIG_TEST2=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TIMEOUT=y
+CONFIG_TOUCH=y
+CONFIG_FEATURE_TOUCH_NODEREF=y
+CONFIG_FEATURE_TOUCH_SUSV3=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+CONFIG_FEATURE_TR_EQUIV=y
CONFIG_TRUE=y
+CONFIG_TRUNCATE=y
CONFIG_TTY=y
CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
+CONFIG_UNAME_OSNAME="GNU/Linux"
+CONFIG_BB_ARCH=y
CONFIG_UNIQ=y
+CONFIG_UNLINK=y
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
+CONFIG_BASE64=y
CONFIG_UUENCODE=y
CONFIG_WC=y
CONFIG_FEATURE_WC_LARGE=y
CONFIG_WHOAMI=y
+CONFIG_WHO=y
+CONFIG_W=y
+CONFIG_USERS=y
CONFIG_YES=y
#
-# Common options for cp and mv
+# Common options
#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
+CONFIG_FEATURE_VERBOSE=y
#
-# Common options for ls, more and telnet
+# Common options for cp and mv
#
-CONFIG_FEATURE_AUTOWIDTH=y
+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
#
# Console Utilities
#
CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
+CONFIG_FGCONSOLE=y
CONFIG_KBD_MODE=y
CONFIG_LOADFONT=y
+CONFIG_SETFONT=y
+CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
+CONFIG_DEFAULT_SETFONT_DIR=""
+
+#
+# Common options for loadfont and setfont
+#
+CONFIG_FEATURE_LOADFONT_PSF2=y
+CONFIG_FEATURE_LOADFONT_RAW=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
@@ -334,36 +372,43 @@
CONFIG_FEATURE_RESIZE_PRINT=y
CONFIG_SETCONSOLE=y
CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_SETKEYCODES=y
CONFIG_SETLOGCONS=y
CONFIG_SHOWKEY=y
-#
-# Common options for loadfont and setfont
-#
-CONFIG_FEATURE_LOADFONT_PSF2=y
-CONFIG_FEATURE_LOADFONT_RAW=y
-
#
# Debian Utilities
#
-CONFIG_MKTEMP=y
CONFIG_PIPE_PROGRESS=y
CONFIG_RUN_PARTS=y
CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
CONFIG_FEATURE_RUN_PARTS_FANCY=y
CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
CONFIG_WHICH=y
+#
+# klibc-utils
+#
+# CONFIG_MINIPS is not set
+CONFIG_NUKE=y
+CONFIG_RESUME=y
+CONFIG_RUN_INIT=y
+
#
# Editors
#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_LIBM=y
+CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
+CONFIG_CMP=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
+CONFIG_FEATURE_DIFF_DIR=y
+CONFIG_ED=y
CONFIG_PATCH=y
+CONFIG_SED=y
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=4096
# CONFIG_FEATURE_VI_8BIT is not set
@@ -378,14 +423,9 @@
CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_SED=y
+CONFIG_FEATURE_VI_UNDO=y
+CONFIG_FEATURE_VI_UNDO_QUEUE=y
+CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
CONFIG_FEATURE_ALLOW_EXEC=y
#
@@ -402,6 +442,7 @@
CONFIG_FEATURE_FIND_NEWER=y
CONFIG_FEATURE_FIND_INUM=y
CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_EXEC_PLUS=y
CONFIG_FEATURE_FIND_USER=y
CONFIG_FEATURE_FIND_GROUP=y
CONFIG_FEATURE_FIND_NOT=y
@@ -415,14 +456,17 @@
# CONFIG_FEATURE_FIND_CONTEXT is not set
CONFIG_FEATURE_FIND_LINKS=y
CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_EGREP=y
+CONFIG_FGREP=y
CONFIG_FEATURE_GREP_CONTEXT=y
CONFIG_XARGS=y
CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
+CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
+CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
#
# Init Utilities
@@ -431,57 +475,58 @@
CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y
CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y
CONFIG_HALT=y
+CONFIG_POWEROFF=y
+CONFIG_REBOOT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
CONFIG_INIT=y
+CONFIG_LINUXRC=y
CONFIG_FEATURE_USE_INITTAB=y
# CONFIG_FEATURE_KILL_REMOVED is not set
CONFIG_FEATURE_KILL_DELAY=0
CONFIG_FEATURE_INIT_SCTTY=y
CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_EXTRA_QUIET=y
-CONFIG_FEATURE_INIT_COREDUMPS=y
-CONFIG_FEATURE_INITRD=y
+CONFIG_FEATURE_INIT_QUIET=y
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
CONFIG_INIT_TERMINAL_TYPE="linux"
-CONFIG_MESG=y
-CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
+CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y
#
# Login/Password Management Utilities
#
-CONFIG_ADD_SHELL=y
-CONFIG_REMOVE_SHELL=y
CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_PWD_GRP=y
CONFIG_USE_BB_SHADOW=y
CONFIG_USE_BB_CRYPT=y
CONFIG_USE_BB_CRYPT_SHA=y
+CONFIG_ADDGROUP=y
+CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_ADD_SHELL=y
+CONFIG_REMOVE_SHELL=y
CONFIG_ADDUSER=y
-CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
# CONFIG_FEATURE_CHECK_NAMES is not set
+CONFIG_LAST_ID=60000
CONFIG_FIRST_SYSTEM_ID=100
CONFIG_LAST_SYSTEM_ID=999
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_CHPASSWD=y
+CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
+CONFIG_CRYPTPW=y
+CONFIG_MKPASSWD=y
CONFIG_DELUSER=y
CONFIG_DELGROUP=y
CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
CONFIG_GETTY=y
CONFIG_LOGIN=y
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
-# CONFIG_PAM is not set
CONFIG_LOGIN_SCRIPTS=y
CONFIG_FEATURE_NOLOGIN=y
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y
+# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
CONFIG_SULOGIN=y
CONFIG_VLOCK=y
@@ -491,34 +536,34 @@
CONFIG_CHATTR=y
CONFIG_FSCK=y
CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
+# CONFIG_TUNE2FS is not set
#
# Linux Module Utilities
#
-CONFIG_MODINFO=y
CONFIG_MODPROBE_SMALL=y
-CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y
-CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
-# CONFIG_INSMOD is not set
-# CONFIG_RMMOD is not set
-# CONFIG_LSMOD is not set
+CONFIG_DEPMOD=y
+CONFIG_INSMOD=y
+CONFIG_LSMOD=y
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
-# CONFIG_MODPROBE is not set
+CONFIG_MODINFO=y
+CONFIG_MODPROBE=y
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
-# CONFIG_DEPMOD is not set
+CONFIG_RMMOD=y
#
# Options common to multiple modutils
#
+CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y
+CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_MODUTILS_ALIAS is not set
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
@@ -527,24 +572,23 @@
#
# Linux System Utilities
#
-CONFIG_BLOCKDEV=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_REV=y
CONFIG_ACPID=y
CONFIG_FEATURE_ACPID_COMPAT=y
+CONFIG_BLKDISCARD=y
CONFIG_BLKID=y
# CONFIG_FEATURE_BLKID_TYPE is not set
+CONFIG_BLOCKDEV=y
+CONFIG_CAL=y
+CONFIG_CHRT=y
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_EJECT=y
+CONFIG_FEATURE_EJECT_SCSI=y
+CONFIG_FALLOCATE=y
+CONFIG_FATATTR=y
CONFIG_FBSET=y
CONFIG_FEATURE_FBSET_FANCY=y
CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
CONFIG_FDFORMAT=y
CONFIG_FDISK=y
# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
@@ -557,26 +601,42 @@
CONFIG_FEATURE_FDISK_ADVANCED=y
CONFIG_FINDFS=y
CONFIG_FLOCK=y
+CONFIG_FDFLUSH=y
CONFIG_FREERAMDISK=y
CONFIG_FSCK_MINIX=y
-CONFIG_MKFS_EXT2=y
-CONFIG_MKFS_MINIX=y
-CONFIG_FEATURE_MINIX2=y
-# CONFIG_MKFS_REISER is not set
-CONFIG_MKFS_VFAT=y
+CONFIG_FSFREEZE=y
+CONFIG_FSTRIM=y
CONFIG_GETOPT=y
CONFIG_FEATURE_GETOPT_LONG=y
CONFIG_HEXDUMP=y
CONFIG_FEATURE_HEXDUMP_REVERSE=y
CONFIG_HD=y
+CONFIG_XXD=y
CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+CONFIG_IONICE=y
CONFIG_IPCRM=y
CONFIG_IPCS=y
+CONFIG_LAST=y
+CONFIG_FEATURE_LAST_FANCY=y
CONFIG_LOSETUP=y
CONFIG_LSPCI=y
CONFIG_LSUSB=y
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_RENAME=y
+CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
+CONFIG_FEATURE_MDEV_EXEC=y
+CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
+CONFIG_MESG=y
+CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
+CONFIG_MKE2FS=y
+CONFIG_MKFS_EXT2=y
+CONFIG_MKFS_MINIX=y
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_MKFS_REISER is not set
+CONFIG_MKDOSFS=y
+CONFIG_MKFS_VFAT=y
CONFIG_MKSWAP=y
CONFIG_FEATURE_MKSWAP_UUID=y
CONFIG_MORE=y
@@ -589,19 +649,39 @@
CONFIG_FEATURE_MOUNT_CIFS=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_FEATURE_MOUNT_OTHERTAB=y
+CONFIG_MOUNTPOINT=y
+CONFIG_NSENTER=y
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
CONFIG_RDEV=y
CONFIG_READPROFILE=y
+CONFIG_RENICE=y
+CONFIG_REV=y
CONFIG_RTCWAKE=y
CONFIG_SCRIPT=y
CONFIG_SCRIPTREPLAY=y
CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
+CONFIG_LINUX32=y
+CONFIG_LINUX64=y
+CONFIG_SETPRIV=y
+CONFIG_FEATURE_SETPRIV_DUMP=y
+CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
+CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
+CONFIG_SETSID=y
+CONFIG_SWAPON=y
+CONFIG_FEATURE_SWAPON_DISCARD=y
CONFIG_FEATURE_SWAPON_PRI=y
+CONFIG_SWAPOFF=y
+CONFIG_FEATURE_SWAPONOFF_LABEL=y
CONFIG_SWITCH_ROOT=y
+CONFIG_TASKSET=y
+CONFIG_FEATURE_TASKSET_FANCY=y
+CONFIG_UEVENT=y
CONFIG_UMOUNT=y
CONFIG_FEATURE_UMOUNT_ALL=y
+CONFIG_UNSHARE=y
+CONFIG_WALL=y
#
# Common options for mount/umount
@@ -614,50 +694,34 @@
#
# Filesystem/Volume identification
#
-CONFIG_FEATURE_VOLUMEID_EXT=y
+CONFIG_FEATURE_VOLUMEID_BCACHE=y
CONFIG_FEATURE_VOLUMEID_BTRFS=y
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
+CONFIG_FEATURE_VOLUMEID_CRAMFS=y
CONFIG_FEATURE_VOLUMEID_EXFAT=y
+CONFIG_FEATURE_VOLUMEID_EXT=y
+CONFIG_FEATURE_VOLUMEID_F2FS=y
+CONFIG_FEATURE_VOLUMEID_FAT=y
CONFIG_FEATURE_VOLUMEID_HFS=y
+CONFIG_FEATURE_VOLUMEID_ISO9660=y
CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
+CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
+CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
+CONFIG_FEATURE_VOLUMEID_LUKS=y
+CONFIG_FEATURE_VOLUMEID_MINIX=y
CONFIG_FEATURE_VOLUMEID_NILFS=y
CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
+CONFIG_FEATURE_VOLUMEID_OCFS2=y
+CONFIG_FEATURE_VOLUMEID_REISERFS=y
CONFIG_FEATURE_VOLUMEID_ROMFS=y
# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
CONFIG_FEATURE_VOLUMEID_SYSV=y
-CONFIG_FEATURE_VOLUMEID_OCFS2=y
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
+CONFIG_FEATURE_VOLUMEID_UBIFS=y
+CONFIG_FEATURE_VOLUMEID_UDF=y
+CONFIG_FEATURE_VOLUMEID_XFS=y
#
# Miscellaneous Utilities
#
-CONFIG_CONSPY=y
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_ASK_TERMINAL=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-CONFIG_NANDWRITE=y
-CONFIG_NANDDUMP=y
-CONFIG_SETSERIAL=y
-CONFIG_UBIATTACH=y
-CONFIG_UBIDETACH=y
-CONFIG_UBIMKVOL=y
-CONFIG_UBIRMVOL=y
-CONFIG_UBIRSVOL=y
-CONFIG_UBIUPDATEVOL=y
CONFIG_ADJTIMEX=y
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
@@ -672,10 +736,11 @@
CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
CONFIG_FEATURE_CHAT_CLR_ABORT=y
-CONFIG_CHRT=y
+CONFIG_CONSPY=y
CONFIG_CROND=y
CONFIG_FEATURE_CROND_D=y
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
+CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
CONFIG_CRONTAB=y
CONFIG_DC=y
@@ -686,18 +751,11 @@
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
CONFIG_FBSPLASH=y
# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_ERASEALL is not set
# CONFIG_FLASH_LOCK is not set
# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-CONFIG_IONICE=y
-# CONFIG_INOTIFYD is not set
-CONFIG_LAST=y
-# CONFIG_FEATURE_LAST_SMALL is not set
-CONFIG_FEATURE_LAST_FANCY=y
CONFIG_HDPARM=y
CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
@@ -705,43 +763,56 @@
CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+CONFIG_HEXEDIT=y
+CONFIG_I2CGET=y
+CONFIG_I2CSET=y
+CONFIG_I2CDUMP=y
+CONFIG_I2CDETECT=y
+# CONFIG_INOTIFYD is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_TRUNCATE=y
+CONFIG_FEATURE_LESS_MARKS=y
+CONFIG_FEATURE_LESS_REGEXP=y
+CONFIG_FEATURE_LESS_WINCH=y
+CONFIG_FEATURE_LESS_ASK_TERMINAL=y
+CONFIG_FEATURE_LESS_DASHCMD=y
+CONFIG_FEATURE_LESS_LINENUMS=y
+CONFIG_LSSCSI=y
CONFIG_MAKEDEVS=y
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
CONFIG_FEATURE_MAKEDEVS_TABLE=y
CONFIG_MAN=y
CONFIG_MICROCOM=y
-CONFIG_MOUNTPOINT=y
CONFIG_MT=y
+CONFIG_NANDWRITE=y
+CONFIG_NANDDUMP=y
+CONFIG_PARTPROBE=y
CONFIG_RAIDAUTORUN=y
CONFIG_READAHEAD=y
# CONFIG_RFKILL is not set
CONFIG_RUNLEVEL=y
CONFIG_RX=y
-CONFIG_SETSID=y
+CONFIG_SETFATTR=y
+CONFIG_SETSERIAL=y
CONFIG_STRINGS=y
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
CONFIG_TIME=y
-CONFIG_TIMEOUT=y
CONFIG_TTYSIZE=y
+CONFIG_UBIRENAME=y
+CONFIG_UBIATTACH=y
+CONFIG_UBIDETACH=y
+CONFIG_UBIMKVOL=y
+CONFIG_UBIRMVOL=y
+CONFIG_UBIRSVOL=y
+CONFIG_UBIUPDATEVOL=y
CONFIG_VOLNAME=y
-CONFIG_WALL=y
CONFIG_WATCHDOG=y
#
# Networking Utilities
#
-CONFIG_NAMEIF=y
-CONFIG_FEATURE_NAMEIF_EXTENDED=y
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_WHOIS=y
CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
@@ -753,17 +824,17 @@
CONFIG_FEATURE_BRCTL_SHOW=y
CONFIG_DNSD=y
CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
+CONFIG_FEATURE_FTPD_WRITE=y
CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
+CONFIG_FEATURE_FTPD_AUTHENTICATION=y
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y
+CONFIG_DNSDOMAINNAME=y
CONFIG_HTTPD=y
CONFIG_FEATURE_HTTPD_RANGES=y
-CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
CONFIG_FEATURE_HTTPD_AUTH_MD5=y
@@ -782,11 +853,10 @@
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_IFENSLAVE=y
CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
+CONFIG_IFUP=y
+CONFIG_IFDOWN=y
CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
CONFIG_FEATURE_IFUPDOWN_IPV4=y
CONFIG_FEATURE_IFUPDOWN_IPV6=y
CONFIG_FEATURE_IFUPDOWN_MAPPING=y
@@ -797,40 +867,59 @@
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
-CONFIG_FEATURE_INETD_RPC=y
+# CONFIG_FEATURE_INETD_RPC is not set
CONFIG_IP=y
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
+CONFIG_IPTUNNEL=y
+CONFIG_IPRULE=y
+CONFIG_IPNEIGH=y
CONFIG_FEATURE_IP_ADDRESS=y
CONFIG_FEATURE_IP_LINK=y
CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
CONFIG_FEATURE_IP_TUNNEL=y
CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
+CONFIG_FEATURE_IP_NEIGH=y
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
+CONFIG_FEATURE_IPCALC_FANCY=y
+CONFIG_FAKEIDENTD=y
+CONFIG_NAMEIF=y
+CONFIG_FEATURE_NAMEIF_EXTENDED=y
+CONFIG_NBDCLIENT=y
+CONFIG_NC=y
+# CONFIG_NETCAT is not set
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+# CONFIG_NC_110_COMPAT is not set
CONFIG_NETSTAT=y
CONFIG_FEATURE_NETSTAT_WIDE=y
CONFIG_FEATURE_NETSTAT_PRG=y
CONFIG_NSLOOKUP=y
CONFIG_NTPD=y
CONFIG_FEATURE_NTPD_SERVER=y
+CONFIG_FEATURE_NTPD_CONF=y
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
CONFIG_PSCAN=y
CONFIG_ROUTE=y
CONFIG_SLATTACH=y
+CONFIG_SSL_CLIENT=y
CONFIG_TCPSVD=y
+CONFIG_UDPSVD=y
CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_TTYPE=y
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+CONFIG_FEATURE_TELNET_WIDTH=y
CONFIG_TELNETD=y
CONFIG_FEATURE_TELNETD_STANDALONE=y
CONFIG_FEATURE_TELNETD_INETD_WAIT=y
CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
CONFIG_TFTPD=y
#
@@ -839,39 +928,48 @@
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
# CONFIG_TFTP_DEBUG is not set
+CONFIG_TLS=y
CONFIG_TRACEROUTE=y
CONFIG_TRACEROUTE6=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
CONFIG_TUNCTL=y
CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPC6 is not set
+CONFIG_VCONFIG=y
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_TIMEOUT=y
+CONFIG_FEATURE_WGET_HTTPS=y
+CONFIG_FEATURE_WGET_OPENSSL=y
+CONFIG_WHOIS=y
+CONFIG_ZCIP=y
CONFIG_UDHCPD=y
-CONFIG_DHCPRELAY=y
-CONFIG_DUMPLEASES=y
-CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
+CONFIG_DUMPLEASES=y
+CONFIG_DHCPRELAY=y
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
+CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
+CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+# CONFIG_UDHCPC6 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
+
+#
+# Common options for DHCP applets
+#
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=9
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_FEATURE_UDHCP_RFC3397=y
CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
#
# Print Utilities
@@ -884,26 +982,45 @@
# Mail Utilities
#
CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
CONFIG_POPMAILDIR=y
CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
CONFIG_REFORMIME=y
CONFIG_FEATURE_REFORMIME_COMPAT=y
CONFIG_SENDMAIL=y
+CONFIG_FEATURE_MIME_CHARSET="us-ascii"
#
# Process Utilities
#
+CONFIG_FREE=y
+CONFIG_FUSER=y
CONFIG_IOSTAT=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_KILLALL5=y
CONFIG_LSOF=y
CONFIG_MPSTAT=y
CONFIG_NMETER=y
+CONFIG_PGREP=y
+CONFIG_PKILL=y
+CONFIG_PIDOF=y
+CONFIG_FEATURE_PIDOF_SINGLE=y
+CONFIG_FEATURE_PIDOF_OMIT=y
CONFIG_PMAP=y
CONFIG_POWERTOP=y
+CONFIG_FEATURE_POWERTOP_INTERACTIVE=y
+CONFIG_PS=y
+# CONFIG_FEATURE_PS_WIDE is not set
+# CONFIG_FEATURE_PS_LONG is not set
+CONFIG_FEATURE_PS_TIME=y
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
CONFIG_PSTREE=y
CONFIG_PWDX=y
CONFIG_SMEMCAP=y
+CONFIG_BB_SYSCTL=y
CONFIG_TOP=y
+CONFIG_FEATURE_TOP_INTERACTIVE=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
CONFIG_FEATURE_TOP_SMP_CPU=y
@@ -912,108 +1029,121 @@
CONFIG_FEATURE_TOPMEM=y
CONFIG_UPTIME=y
CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-# CONFIG_FEATURE_PS_WIDE is not set
-# CONFIG_FEATURE_PS_LONG is not set
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_FEATURE_SHOW_THREADS=y
CONFIG_WATCH=y
+CONFIG_FEATURE_SHOW_THREADS=y
#
# Runit Utilities
#
+CONFIG_CHPST=y
+CONFIG_SETUIDGID=y
+CONFIG_ENVUIDGID=y
+CONFIG_ENVDIR=y
+CONFIG_SOFTLIMIT=y
CONFIG_RUNSV=y
CONFIG_RUNSVDIR=y
# CONFIG_FEATURE_RUNSVDIR_LOG is not set
CONFIG_SV=y
CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
+CONFIG_SVC=y
CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
+# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
# CONFIG_SETFILES is not set
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_RESTORECON is not set
# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
#
# Shells
#
+CONFIG_SH_IS_ASH=y
+# CONFIG_SH_IS_HUSH is not set
+# CONFIG_SH_IS_NONE is not set
+# CONFIG_BASH_IS_ASH is not set
+# CONFIG_BASH_IS_HUSH is not set
+CONFIG_BASH_IS_NONE=y
CONFIG_ASH=y
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+CONFIG_ASH_INTERNAL_GLOB=y
CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
CONFIG_ASH_RANDOM_SUPPORT=y
CONFIG_ASH_EXPAND_PRMT=y
+CONFIG_ASH_IDLE_TIMEOUT=y
+CONFIG_ASH_MAIL=y
+CONFIG_ASH_ECHO=y
+CONFIG_ASH_PRINTF=y
+CONFIG_ASH_TEST=y
+CONFIG_ASH_HELP=y
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_CMDCMD=y
CONFIG_CTTYHACK=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_MSH is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
+CONFIG_HUSH=y
+CONFIG_HUSH_BASH_COMPAT=y
+CONFIG_HUSH_BRACE_EXPANSION=y
+CONFIG_HUSH_INTERACTIVE=y
+CONFIG_HUSH_SAVEHISTORY=y
+CONFIG_HUSH_JOB=y
+CONFIG_HUSH_TICK=y
+CONFIG_HUSH_IF=y
+CONFIG_HUSH_LOOPS=y
+CONFIG_HUSH_CASE=y
+CONFIG_HUSH_FUNCTIONS=y
+CONFIG_HUSH_LOCAL=y
+CONFIG_HUSH_RANDOM_SUPPORT=y
+CONFIG_HUSH_MODE_X=y
+CONFIG_HUSH_ECHO=y
+CONFIG_HUSH_PRINTF=y
+CONFIG_HUSH_TEST=y
+CONFIG_HUSH_HELP=y
+CONFIG_HUSH_EXPORT=y
+CONFIG_HUSH_EXPORT_N=y
+CONFIG_HUSH_READONLY=y
+CONFIG_HUSH_KILL=y
+CONFIG_HUSH_WAIT=y
+CONFIG_HUSH_TRAP=y
+CONFIG_HUSH_TYPE=y
+CONFIG_HUSH_TIMES=y
+CONFIG_HUSH_READ=y
+CONFIG_HUSH_SET=y
+CONFIG_HUSH_UNSET=y
+CONFIG_HUSH_ULIMIT=y
+CONFIG_HUSH_UMASK=y
+CONFIG_HUSH_GETOPTS=y
+# CONFIG_HUSH_MEMLEAK is not set
+
+#
+# Options common to all shells
+#
+CONFIG_FEATURE_SH_MATH=y
+CONFIG_FEATURE_SH_MATH_64=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_READ_FRAC=y
CONFIG_FEATURE_SH_HISTFILESIZE=y
#
# System Logging Utilities
#
+CONFIG_KLOGD=y
+
+#
+# klogd should not be used together with syslog to kernel printk buffer
+#
+CONFIG_FEATURE_KLOGD_KLOGCTL=y
+CONFIG_LOGGER=y
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
CONFIG_SYSLOGD=y
CONFIG_FEATURE_ROTATE_LOGFILE=y
CONFIG_FEATURE_REMOTE_LOG=y
@@ -1022,13 +1152,4 @@
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
CONFIG_FEATURE_KMSG_SYSLOG=y
-CONFIG_KLOGD=y
-
-#
-# klogd should not be used together with syslog to kernel printk buffer
-#
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/package.yml b/package.yml
new file mode 100644
--- /dev/null
+++ b/package.yml
@@ -0,0 +1,18 @@
+name : busybox
+version : 1.28.1
+release : 6
+source :
+ - https://busybox.net/downloads/busybox-1.28.1.tar.bz2 : 98fe1d3c311156c597cd5cfa7673bb377dc552b6fa20b5d3834579da3b13652e
+license : GPL-2.0-or-later
+component : system.boot
+summary : Statically linked binary providing simplified versions of system commands
+description: |
+ busybox is a single binary which includes versions of a large number of system commands, including a shell.
+setup : |
+ cp $pkgfiles/config ./.config
+build : |
+ %make
+ %make busybox.links
+install : |
+ install -Dm 755 busybox $installdir/bin/busybox
+ install -Dm 644 busybox.links $installdir/bin/busybox.links
diff --git a/pspec.xml b/pspec.xml
deleted file mode 100644
--- a/pspec.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE PISI SYSTEM "https://solus-project.com/standard/pisi-spec.dtd">
-<PISI>
- <Source>
- <Name>busybox</Name>
- <Homepage>http://www.busybox.net</Homepage>
- <Packager>
- <Name>Evolve OS Packaging</Name>
- <Email>packaging@evolve-os.com</Email>
- </Packager>
- <License>GPLv2</License>
- <IsA>app:console</IsA>
- <Summary>Statically linked binary providing simplified versions of system commands</Summary>
- <Description>busybox is a single binary which includes versions of a large number of system commands, including a shell.</Description>
- <Archive sha1sum="1e22c35fd5d93db1046c87c141b19026a38e81a2" type="tarbz2">http://busybox.net/downloads/busybox-1.21.0.tar.bz2</Archive>
- <AdditionalFiles>
- <AdditionalFile target=".config">config</AdditionalFile>
- </AdditionalFiles>
- <Patches>
- <Patch level="1">busybox-1.21.0-mdev.patch</Patch>
- <Patch level="1">busybox-1.21.0-platform.patch</Patch>
- <Patch level="1">busybox-1.21.0-xz.patch</Patch>
- </Patches>
- </Source>
-
- <Package>
- <Name>busybox</Name>
- <Files>
- <Path fileType="executable">/bin</Path>
- </Files>
- </Package>
-
- <History>
- <Update release="5">
- <Date>03-08-2016</Date>
- <Version>1.21.0</Version>
- <Comment>Package bump</Comment>
- <Name>Ikey Doherty</Name>
- <Email>ikey@solus-project.com</Email>
- </Update>
-
- <Update release="4">
- <Date>03-05-2016</Date>
- <Version>1.21.0</Version>
- <Comment>Package bump</Comment>
- <Name>Ikey Doherty</Name>
- <Email>ikey@solus-project.com</Email>
- </Update>
-
- <Update release="3">
- <Date>10-15-2014</Date>
- <Version>1.21.0</Version>
- <Comment>Fix incorrect version number</Comment>
- <Name>Ikey Doherty</Name>
- <Email>ikey@evolve-os.com</Email>
- </Update>
-
- <Update release="2">
- <Date>05-24-2013</Date>
- <Version>1.20.2</Version>
- <Comment>Fix date for pisi</Comment>
- <Name>Ikey Doherty</Name>
- <Email>ikey@solusos.com</Email>
- </Update>
-
- <Update release="1">
- <Date>2012-08-23</Date>
- <Version>1.20.2</Version>
- <Comment>Add busybox to repos</Comment>
- <Name>Ikey Doherty</Name>
- <Email>ikey@solusos.com</Email>
- </Update>
- </History>
-</PISI>
\ No newline at end of file
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
new file mode 100644
--- /dev/null
+++ b/pspec_x86_64.xml
@@ -0,0 +1,34 @@
+<PISI>
+ <Source>
+ <Name>busybox</Name>
+ <Packager>
+ <Name>Thanos Apostolou</Name>
+ <Email>thanosapostolou@outlook.com</Email>
+ </Packager>
+ <License>GPL-2.0-or-later</License>
+ <PartOf>system.boot</PartOf>
+ <Summary xml:lang="en">Statically linked binary providing simplified versions of system commands</Summary>
+ <Description xml:lang="en">busybox is a single binary which includes versions of a large number of system commands, including a shell.
+</Description>
+ <Archive type="binary" sha1sum="79eb0752a961b8e0d15c77d298c97498fbc89c5a">https://solus-project.com/sources/README.Solus</Archive>
+ </Source>
+ <Package>
+ <Name>busybox</Name>
+ <Summary xml:lang="en">Statically linked binary providing simplified versions of system commands</Summary>
+ <Description xml:lang="en">busybox is a single binary which includes versions of a large number of system commands, including a shell.
+</Description>
+ <PartOf>system.boot</PartOf>
+ <Files>
+ <Path fileType="executable">/bin</Path>
+ </Files>
+ </Package>
+ <History>
+ <Update release="6">
+ <Date>2018-03-24</Date>
+ <Version>1.28.1</Version>
+ <Comment>Packaging update</Comment>
+ <Name>Thanos Apostolou</Name>
+ <Email>thanosapostolou@outlook.com</Email>
+ </Update>
+ </History>
+</PISI>
\ No newline at end of file
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Aug 10, 5:09 PM (1 d, 3 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5827331
Default Alt Text
D2174.id.diff (61 KB)
Attached To
Mode
D2174: Convert to ypkg, update to 1.28.1
Attached
Detach File
Event Timeline
Log In to Comment