Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/sysvinit/files/, sys-apps/sysvinit/
Date: Sun, 26 May 2019 16:08:59
Message-Id: 1558886930.0d6bea4c58a8bc97d1394155ed34992f9a588629.polynomial-c@gentoo
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 +}