upstream: http://bugs.busybox.net/view.php?id=2134
status: accepted in rev. 21031 on Feb 15 2008
comment: fixes OE bug 3781, applied by mickeyl

diff -Nuar busybox-1.9.1.old/loginutils/Config.in busybox-1.9.1/loginutils/Config.in
--- busybox-1.9.1.old/loginutils/Config.in	Tue Feb 12 10:03:11 2008
+++ busybox-1.9.1/loginutils/Config.in	Thu Feb 14 11:48:31 2008
@@ -88,6 +88,13 @@
 	help
 	  Utility for creating a new user account.
 
+config FEATURE_ADDUSER_LONG_OPTIONS
+	bool "Enable long options"
+	default n
+	depends on ADDUSER && GETOPT_LONG
+	help
+	  Support long options for the adduser applet.
+
 config DELUSER
 	bool "deluser"
 	default n
diff -Nuar busybox-1.9.1.old/loginutils/adduser.c busybox-1.9.1/loginutils/adduser.c
--- busybox-1.9.1.old/loginutils/adduser.c	Thu Feb 14 10:25:33 2008
+++ busybox-1.9.1/loginutils/adduser.c	Thu Feb 14 13:32:47 2008
@@ -66,6 +66,19 @@
 	bb_error_msg_and_die("cannot execute %s, you must set password manually", prog);
 }
 
+#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
+static const char adduser_longopts[] ALIGN1 =
+		"home\0"	Required_argument	"h"
+		"gecos\0"	Required_argument	"g"
+		"shell\0"	Required_argument	"s"
+		"ingroup\0"	Required_argument	"G"
+		"disabled-password\0"	No_argument	"D"
+		"empty-password\0"	No_argument	"D"
+		"system\0"	No_argument	"S"
+		"no-create-home\0"	No_argument	"H"
+		;
+#endif
+
 /*
  * adduser will take a login_name as its first parameter.
  * home, shell, gecos:
@@ -77,6 +90,10 @@
 	struct passwd pw;
 	const char *usegroup = NULL;
 	FILE *file;
+
+#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
+	applet_long_options = adduser_longopts;
+#endif
 
 	/* got root? */
 	if (geteuid()) {