1 |
commit: 0d6bea4c58a8bc97d1394155ed34992f9a588629 |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 26 16:08:35 2019 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun May 26 16:08:50 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d6bea4c |
7 |
|
8 |
sys-apps/sysvinit: Bump to version 2.95_beta |
9 |
|
10 |
Package-Manager: Portage-2.3.67, Repoman-2.3.12 |
11 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
12 |
|
13 |
sys-apps/sysvinit/Manifest | 1 + |
14 |
.../files/sysvinit-2.95_beta-shutdown-h.patch | 87 +++++++++++++ |
15 |
sys-apps/sysvinit/sysvinit-2.95_beta.ebuild | 137 +++++++++++++++++++++ |
16 |
3 files changed, 225 insertions(+) |
17 |
|
18 |
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest |
19 |
index 85991333fc4..5aee897fb78 100644 |
20 |
--- a/sys-apps/sysvinit/Manifest |
21 |
+++ b/sys-apps/sysvinit/Manifest |
22 |
@@ -1,2 +1,3 @@ |
23 |
DIST sysvinit-2.93.tar.xz 117580 BLAKE2B 2e771b00dbdc73e76df9e78659aaa5e5fcbfda36290a1b5aa20a5a6fe3540c4616f2a235a668de30d33c620e2d2516da303537eda47b83b29b0844ad7aa77df4 SHA512 c80d07a674253d15ec6382cfaf792f47486e2e84ab9c913d3c9e03b590cf211177a3a14e168f4d1c9c2e97737221f7ac70a75633d90502837a6d29bdc4c48d72 |
24 |
DIST sysvinit-2.94.tar.xz 120900 BLAKE2B e45a95246325e93ef49f11573924216937e238761cb9f5979ae2b272838fb3280b1d12c9553992271f7926dc7c7bc18e352a8019a70f54c592971fe043453804 SHA512 8d3b7b777f7c37cf5eaf73d4cdfad8ac54c6115577052bd7ddf3588da8fb7d16b812ffaade0ce300c2c6b7d2acd6e7778130544befc171eab174ee8766b3ec50 |
25 |
+DIST sysvinit-2.95-beta.tar.xz 121352 BLAKE2B 769768185ae3f374ff7bac4a9178796526db9232ed6c735d6165b3f28b219a9804a6e0ae5f78e8558616aa3ae022f4963b9922e7c71bf4997772b8fb1f9d98d7 SHA512 0d1d7559a05142e2bd209fca83e1396e9d3ed32ebe5d4f5f1356ac51e597c0201648e8a80946089fa91e8620302cd60894b7ff343747cee373c0c4459e6224ed |
26 |
|
27 |
diff --git a/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch b/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch |
28 |
new file mode 100644 |
29 |
index 00000000000..f24e1029ca5 |
30 |
--- /dev/null |
31 |
+++ b/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch |
32 |
@@ -0,0 +1,87 @@ |
33 |
+other inits have moved to not requiring the -h flag when used with -H/-P. |
34 |
+modify sysvinit to be the same since it really doesn't matter. |
35 |
+ |
36 |
+https://bugs.gentoo.org/449354 |
37 |
+ |
38 |
+patch by Doug Goldstein |
39 |
+ |
40 |
+--- |
41 |
+ man/shutdown.8 | 11 ++++------- |
42 |
+ src/shutdown.c | 12 ++++-------- |
43 |
+ 2 files changed, 8 insertions(+), 15 deletions(-) |
44 |
+ |
45 |
+--- sysvinit-2.95/man/shutdown.8 |
46 |
++++ sysvinit-2.95/man/shutdown.8 |
47 |
+@@ -66,22 +66,19 @@ |
48 |
+ .\"}}} |
49 |
+ .\"{{{ -h |
50 |
+ .IP \fB\-h\fP |
51 |
+-Halt or power off after shutdown. Usually used with the -P or -H flags, |
52 |
+-depending on whether we want to poweroff or simply stop the operating system. |
53 |
++Equivalent to -P, unless -H is specified. |
54 |
+ .\"}}} |
55 |
+ .\"{{{ -P |
56 |
+ .IP \fB\-P\fP |
57 |
+-Modifier to the -h flag. Halt action is to turn off the power. |
58 |
+-Must be used with the -h flag. |
59 |
++Halt action is to turn off the power. |
60 |
+ .\"}}} |
61 |
+ .\"{{{ -H |
62 |
+ .IP \fB\-H\fP |
63 |
+-Modifier to the -h flag. Halt action is to halt or drop into boot |
64 |
+-monitor on systems that support it. Must be used with the -h flag. |
65 |
++Action is to halt or drop into boot monitor on systems that support it. |
66 |
+ Halting is often used to run through the shutdown process and leave |
67 |
+ output on the screen for debugging purposes. Or when the user wants the OS to |
68 |
+ stop, but leave the power on. To power off at the end of the shutdown sequence |
69 |
+-use the -P modifier instead. |
70 |
++use the -P option instead. |
71 |
+ .\"}}} |
72 |
+ .\"{{{ -f |
73 |
+ .IP \fB\-f\fP |
74 |
+--- sysvinit-2.95/src/shutdown.c |
75 |
++++ sysvinit-2.95/src/shutdown.c |
76 |
+@@ -144,9 +144,7 @@ |
77 |
+ "\t\t -r: reboot after shutdown.\n" |
78 |
+ "\t\t -h: halt after shutdown.\n" |
79 |
+ "\t\t -P: halt action is to turn off power.\n" |
80 |
+- "\t\t can only be used along with -h flag.\n" |
81 |
+ "\t\t -H: halt action is to just halt.\n" |
82 |
+- "\t\t can only be used along with -h flag.\n" |
83 |
+ "\t\t -f: do a 'fast' reboot (skip fsck).\n" |
84 |
+ "\t\t -F: Force fsck on reboot.\n" |
85 |
+ "\t\t -n: do not go through \"init\" but go down real fast.\n" |
86 |
+@@ -556,9 +554,11 @@ |
87 |
+ switch(c) { |
88 |
+ case 'H': |
89 |
+ halttype = "HALT"; |
90 |
++ down_level[0] = '0'; |
91 |
+ break; |
92 |
+ case 'P': |
93 |
+ halttype = "POWEROFF"; |
94 |
++ down_level[0] = '0'; |
95 |
+ break; |
96 |
+ case 'a': /* Access control. */ |
97 |
+ useacl = 1; |
98 |
+@@ -574,6 +574,8 @@ |
99 |
+ break; |
100 |
+ case 'h': /* Halt after shutdown */ |
101 |
+ down_level[0] = '0'; |
102 |
++ if (!halttype) |
103 |
++ halttype = "POWEROFF"; |
104 |
+ break; |
105 |
+ case 'f': /* Don't perform fsck after next boot */ |
106 |
+ fastboot = 1; |
107 |
+@@ -613,12 +615,6 @@ |
108 |
+ } |
109 |
+ } |
110 |
+ |
111 |
+- if (NULL != halttype && down_level[0] != '0') { |
112 |
+- fprintf(stderr, "shutdown: -H and -P flags can only be used along with -h flag.\n"); |
113 |
+- usage(); |
114 |
+- exit(1); |
115 |
+- } |
116 |
+- |
117 |
+ /* Do we need to use the shutdown.allow file ? */ |
118 |
+ if (useacl && (fp = fopen(SDALLOW, "r")) != NULL) { |
119 |
+ |
120 |
|
121 |
diff --git a/sys-apps/sysvinit/sysvinit-2.95_beta.ebuild b/sys-apps/sysvinit/sysvinit-2.95_beta.ebuild |
122 |
new file mode 100644 |
123 |
index 00000000000..f02f81e0645 |
124 |
--- /dev/null |
125 |
+++ b/sys-apps/sysvinit/sysvinit-2.95_beta.ebuild |
126 |
@@ -0,0 +1,137 @@ |
127 |
+# Copyright 1999-2019 Gentoo Authors |
128 |
+# Distributed under the terms of the GNU General Public License v2 |
129 |
+ |
130 |
+EAPI=7 |
131 |
+ |
132 |
+inherit toolchain-funcs flag-o-matic |
133 |
+ |
134 |
+DESCRIPTION="/sbin/init - parent of all processes" |
135 |
+HOMEPAGE="https://savannah.nongnu.org/projects/sysvinit" |
136 |
+SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz" |
137 |
+ |
138 |
+LICENSE="GPL-2" |
139 |
+SLOT="0" |
140 |
+[[ "${PV}" == *beta* ]] || \ |
141 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" |
142 |
+IUSE="selinux ibm static kernel_FreeBSD" |
143 |
+ |
144 |
+CDEPEND=" |
145 |
+ selinux? ( |
146 |
+ >=sys-libs/libselinux-1.28 |
147 |
+ )" |
148 |
+DEPEND="${CDEPEND} |
149 |
+ virtual/os-headers" |
150 |
+RDEPEND="${CDEPEND} |
151 |
+ selinux? ( sec-policy/selinux-shutdown ) |
152 |
+ !<sys-apps/openrc-0.13 |
153 |
+" |
154 |
+ |
155 |
+S="${WORKDIR}/${P/_*}" |
156 |
+ |
157 |
+PATCHES=( |
158 |
+ "${FILESDIR}/${PN}-2.86-kexec.patch" #80220 |
159 |
+ "${FILESDIR}/${PN}-2.94_beta-shutdown-single.patch" #158615 |
160 |
+ "${FILESDIR}/${PN}-2.95_beta-shutdown-h.patch" #449354 |
161 |
+) |
162 |
+ |
163 |
+src_prepare() { |
164 |
+ default |
165 |
+ |
166 |
+ sed -i \ |
167 |
+ -e '/^CPPFLAGS =$/d' \ |
168 |
+ -e '/^override CFLAGS +=/s/ -fstack-protector-strong//' \ |
169 |
+ src/Makefile || die |
170 |
+ |
171 |
+ # last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux |
172 |
+ sed -i -r \ |
173 |
+ -e '/^(USR)?S?BIN/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \ |
174 |
+ -e '/^MAN[18]/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \ |
175 |
+ src/Makefile || die |
176 |
+ |
177 |
+ # pidof has moved to >=procps-3.3.9 |
178 |
+ sed -i -r \ |
179 |
+ -e '/\/bin\/pidof/d' \ |
180 |
+ -e '/^MAN8/s:\<pidof.8\>::g' \ |
181 |
+ src/Makefile || die |
182 |
+ |
183 |
+ # logsave is already in e2fsprogs |
184 |
+ sed -i -r \ |
185 |
+ -e '/^(USR)?S?BIN/s:\<logsave\>::g' \ |
186 |
+ -e '/^MAN8/s:\<logsave.8\>::g' \ |
187 |
+ src/Makefile || die |
188 |
+ |
189 |
+ # Mung inittab for specific architectures |
190 |
+ cd "${WORKDIR}" || die |
191 |
+ cp "${FILESDIR}"/inittab-2.91 inittab || die "cp inittab" |
192 |
+ local insert=() |
193 |
+ use ppc && insert=( '#psc0:12345:respawn:/sbin/agetty 115200 ttyPSC0 linux' ) |
194 |
+ use arm && insert=( '#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100' ) |
195 |
+ use arm64 && insert=( 'f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100' ) |
196 |
+ use hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' ) |
197 |
+ use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console dumb' ) |
198 |
+ if use ibm ; then |
199 |
+ insert+=( |
200 |
+ '#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0' |
201 |
+ '#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0' |
202 |
+ ) |
203 |
+ fi |
204 |
+ (use arm || use mips || use sh || use sparc) && sed -i '/ttyS0/s:#::' inittab |
205 |
+ if use kernel_FreeBSD ; then |
206 |
+ sed -i \ |
207 |
+ -e 's/linux/cons25/g' \ |
208 |
+ -e 's/ttyS0/cuaa0/g' \ |
209 |
+ -e 's/ttyS1/cuaa1/g' \ |
210 |
+ inittab #121786 |
211 |
+ fi |
212 |
+ if use x86 || use amd64 ; then |
213 |
+ sed -i \ |
214 |
+ -e '/ttyS[01]/s:9600:115200:' \ |
215 |
+ inittab |
216 |
+ fi |
217 |
+ if [[ ${#insert[@]} -gt 0 ]] ; then |
218 |
+ printf '%s\n' '' '# Architecture specific features' "${insert[@]}" >> inittab |
219 |
+ fi |
220 |
+} |
221 |
+ |
222 |
+src_compile() { |
223 |
+ tc-export CC |
224 |
+ append-lfs-flags |
225 |
+ export DISTRO= #381311 |
226 |
+ export VERSION="${PV}" |
227 |
+ use static && append-ldflags -static |
228 |
+ emake -C src $(usex selinux 'WITH_SELINUX=yes' '') |
229 |
+} |
230 |
+ |
231 |
+src_install() { |
232 |
+ emake -C src install ROOT="${D}" |
233 |
+ dodoc README doc/* |
234 |
+ |
235 |
+ insinto /etc |
236 |
+ doins "${WORKDIR}"/inittab |
237 |
+ |
238 |
+ # dead symlink |
239 |
+ rm "${ED}"/usr/bin/lastb || die |
240 |
+ |
241 |
+ newinitd "${FILESDIR}"/bootlogd.initd bootlogd |
242 |
+} |
243 |
+ |
244 |
+pkg_postinst() { |
245 |
+ # Reload init to fix unmounting problems of / on next reboot. |
246 |
+ # This is really needed, as without the new version of init cause init |
247 |
+ # not to quit properly on reboot, and causes a fsck of / on next reboot. |
248 |
+ if [[ ${ROOT} == / ]] ; then |
249 |
+ if [[ -e /dev/initctl && ! -e /run/initctl ]]; then |
250 |
+ ln -s /dev/initctl /run/initctl |
251 |
+ fi |
252 |
+ # Do not return an error if this fails |
253 |
+ /sbin/telinit U &>/dev/null |
254 |
+ fi |
255 |
+ |
256 |
+ elog "The last/lastb/mesg/mountpoint/sulogin/utmpdump/wall tools have been moved to" |
257 |
+ elog "sys-apps/util-linux. The pidof tool has been moved to sys-process/procps." |
258 |
+ |
259 |
+ # Required for new bootlogd service |
260 |
+ if [[ ! -e "${EROOT}/var/log/boot" ]] ; then |
261 |
+ touch "${EROOT}/var/log/boot" |
262 |
+ fi |
263 |
+} |