aboutsummaryrefslogtreecommitdiff
blob: 716999c39c3b233e565fe2783da78bb49dbf3b45 (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
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

--- sysvinit-2.88dsf/man/shutdown.8
+++ sysvinit-2.88dsf/man/shutdown.8
@@ -66,16 +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
-Halt action is to turn off the power.
+Action is to power-off the machine.
 .\"}}}
 .\"{{{  -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 the machine.
 .\"}}}
 .\"{{{  -f
 .IP \fB\-f\fP
--- sysvinit-2.88dsf/src/shutdown.c
+++ sysvinit-2.88dsf/src/shutdown.c
@@ -514,9 +514,11 @@
   		switch(c) {
 			case 'H':
 				halttype = "HALT";
+				down_level[0] = '0';
 				break;
 			case 'P':
 				halttype = "POWERDOWN";
+				down_level[0] = '0';
 				break;
 			case 'a': /* Access control. */
 				useacl = 1;
@@ -532,6 +534,8 @@
   				break;
   			case 'h': /* Halt after shutdown */
 				down_level[0] = '0';
+				if (!halttype)
+					halttype = "POWERDOWN";
   				break;
   			case 'f': /* Don't perform fsck after next boot */
   				fastboot = 1;
@@ -565,12 +569,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) {