summaryrefslogtreecommitdiff
path: root/packages/busybox/busybox-1.9.1/adduser-longops.patch
blob: f221d308959776311dfbc3eeaf42e6ee197c9dd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()) {