summaryrefslogtreecommitdiff
blob: e53a9208c6dcd0585006b539607c1bddeefff068 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
other inits have moved to not requiring the -h flag when used with -H/-P.
modify sysvinit to be the same since it really doesn't matter.

https://bugs.gentoo.org/449354

patch by Doug Goldstein

---
 man/shutdown.8 |    8 +++-----
 src/shutdown.c |   12 ++++--------
 2 files changed, 7 insertions(+), 13 deletions(-)

--- sysvinit-2.92/man/shutdown.8
+++ sysvinit-2.92/man/shutdown.8
@@ -66,17 +66,15 @@
 .\"}}}
 .\"{{{  -h
 .IP \fB\-h\fP
-Halt or power off after shutdown.
+Equivalent to -P, unless -H is specified.
 .\"}}}
 .\"{{{  -P
 .IP \fB\-P\fP
-Modifier to the -h flag. Halt action is to turn off the power. 
-Must be used with the -h flag.
+Action is to turn off the power. 
 .\"}}}
 .\"{{{  -H
 .IP \fB\-H\fP
-Modifier to the -h flag.  Halt action is to halt or drop into boot
-monitor on systems that support it.  Must be used with the -h flag.
+Action is to halt or drop into boot monitor on systems that support it.
 .\"}}}
 .\"{{{  -f
 .IP \fB\-f\fP
--- sysvinit-2.92/src/shutdown.c
+++ sysvinit-2.92/src/shutdown.c
@@ -135,9 +135,7 @@
 	"\t\t  -r:      reboot after shutdown.\n"
 	"\t\t  -h:      halt after shutdown.\n"
 	"\t\t  -P:      halt action is to turn off power.\n"
-        "\t\t           can only be used along with -h flag.\n"
 	"\t\t  -H:      halt action is to just halt.\n"
-        "\t\t           can only be used along with -h flag.\n"
 	"\t\t  -f:      do a 'fast' reboot (skip fsck).\n"
 	"\t\t  -F:      Force fsck on reboot.\n"
 	"\t\t  -n:      do not go through \"init\" but go down real fast.\n"
@@ -546,9 +544,11 @@
   		switch(c) {
 			case 'H':
 				halttype = "HALT";
+				down_level[0] = '0';
 				break;
 			case 'P':
 				halttype = "POWEROFF";
+				down_level[0] = '0';
 				break;
 			case 'a': /* Access control. */
 				useacl = 1;
@@ -564,6 +564,8 @@
   				break;
   			case 'h': /* Halt after shutdown */
 				down_level[0] = '0';
+				if (!halttype)
+					halttype = "POWEROFF";
   				break;
   			case 'f': /* Don't perform fsck after next boot */
   				fastboot = 1;
@@ -603,12 +605,6 @@
   		}
 	}
 
-	if (NULL != halttype && down_level[0] != '0') {
-		fprintf(stderr, "shutdown: -H and -P flags can only be used along with -h flag.\n");
-		usage();
-  		exit(1);
-	}
-
 	/* Do we need to use the shutdown.allow file ? */
 	if (useacl && (fp = fopen(SDALLOW, "r")) != NULL) {