]>
Commit | Line | Data |
---|---|---|
151a330a AM |
1 | # |
2 | # Conditional build: | |
151a330a | 3 | %bcond_without selinux # build without SELinux support |
8b847cac | 4 | # |
151a330a AM |
5 | Summary: System V initialization program |
6 | Summary(de.UTF-8): System V-Intialisierungsprogramm | |
7 | Summary(es.UTF-8): Programa de inicialización System V | |
8 | Summary(fr.UTF-8): Programme d'initialisation Sys V | |
9 | Summary(pl.UTF-8): Program inicjalizujący w Systemie V | |
10 | Summary(pt_BR.UTF-8): Programa de inicialização System V | |
11 | Summary(ru.UTF-8): Программы, управляющие базовыми системными процессами | |
12 | Summary(tr.UTF-8): System V başlatma programı | |
13 | Summary(uk.UTF-8): Програми, що керують базовими системними процесами | |
14 | Name: SysVinit | |
8c5b2406 | 15 | Version: 2.88 |
16c20593 | 16 | Release: 17 |
8b847cac | 17 | License: GPL v2+ |
151a330a | 18 | Group: Base |
8c5b2406 AF |
19 | Source0: http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}dsf.tar.bz2 |
20 | # Source0-md5: 6eda8a97b86e0a6f59dabbf25202aa6f | |
151a330a AM |
21 | Source1: sysvinit.logrotate |
22 | Source2: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2 | |
db7bd829 | 23 | Source3: crypttab.5 |
151a330a AM |
24 | # Source2-md5: 9ae8a63a4685368fae19707f95475cca |
25 | Patch0: sysvinit-paths.patch | |
26 | Patch1: sysvinit-bequiet.patch | |
4677eaeb AF |
27 | Patch2: sysvinit-wtmp.patch |
28 | Patch3: sysvinit-man.patch | |
29 | Patch4: sysvinit-halt.patch | |
30 | Patch5: sysvinit-autofsck.patch | |
31 | Patch6: sysvinit-pidof.patch | |
32 | Patch7: sysvinit-killall5.patch | |
33 | Patch8: sysvinit-nopowerstates-single.patch | |
34 | Patch9: sysvinit-lastlog.patch | |
35 | Patch10: sysvinit-alt-fixes.patch | |
36 | Patch11: sysvinit-quiet.patch | |
37 | Patch12: sysvinit-rebootconfirmation.patch | |
8b847cac | 38 | URL: http://savannah.nongnu.org/projects/sysvinit/ |
151a330a AM |
39 | %if %{with selinux} |
40 | BuildRequires: libselinux-devel >= 1.28 | |
41 | BuildRequires: libsepol-devel | |
42 | %endif | |
43 | BuildRequires: rpmbuild(macros) >= 1.202 | |
151a330a AM |
44 | Requires(postun): /usr/sbin/groupdel |
45 | Requires(pre): /usr/bin/getgid | |
46 | Requires(pre): /usr/sbin/groupadd | |
5a210874 | 47 | Requires: %{name}-tools = %{version}-%{release} |
151a330a AM |
48 | Requires: /bin/awk |
49 | %{?with_selinux:Requires: libselinux >= 1.18} | |
50 | Requires: login | |
151a330a | 51 | Requires: mingetty |
ef2b0ff0 | 52 | Requires: util-linux >= 2.24-1 |
151a330a AM |
53 | Provides: group(utmp) |
54 | Provides: virtual(init-daemon) | |
a657c738 | 55 | Obsoletes: virtual(init-daemon) |
151a330a | 56 | Obsoletes: vserver-SysVinit |
b52bdf05 | 57 | Conflicts: rc-scripts < 0.4.9-1 |
151a330a AM |
58 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
59 | ||
60 | %define _sbindir /sbin | |
61 | # as in original flags | |
62 | %define specflags -fomit-frame-pointer | |
63 | ||
64 | %description | |
65 | The SysVinit package contains a group of processes that control the | |
66 | very basic functions of your system. SysVinit includes the init | |
67 | program, the first program started by the Linux kernel when the system | |
68 | boots. Init then controls the startup, running and shutdown of all | |
69 | other programs. | |
70 | ||
71 | %description -l de.UTF-8 | |
72 | SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel | |
73 | gestartet wird. Es steuert das Starten, Ausführen und Beenden aller | |
74 | anderen Programme. | |
75 | ||
76 | %description -l es.UTF-8 | |
77 | SysVinit es el primer programa ejecutado por el kernel Linux cuando se | |
78 | inicia el sistema. Controla arranque, funcionamiento y cierre de todos | |
79 | los otros programas. | |
80 | ||
81 | %description -l fr.UTF-8 | |
82 | SysVinit est le premier programme exécuté par le noyau de Linux | |
83 | lorsque le système démarre, il contrôle le lancement, l'exécution et | |
84 | l'arrêt de tous les autres programmes. | |
85 | ||
86 | %description -l pl.UTF-8 | |
87 | SysVinit jest pierwszym programem uruchamianym przez jądro podczas | |
88 | startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich | |
89 | innych programów. | |
90 | ||
91 | %description -l pt_BR.UTF-8 | |
92 | SysVinit é o primeiro programa executado pelo kernel Linux quando o | |
93 | sistema é inicializado. Controla inicialização, funcionamento e | |
94 | finalização de todos os outros programas. | |
95 | ||
96 | %description -l ru.UTF-8 | |
97 | Пакет SysVinit содержит группу процессов, которые управляют самыми | |
98 | базовыми функциями вашей системы. SysVinit включает программу init, | |
99 | самую первую программу, которая запускается ядром Linux при загрузке | |
100 | системы. После этого init управляет запуском, исполнением и остановом | |
101 | всех остальных программ. | |
102 | ||
103 | %description -l tr.UTF-8 | |
104 | SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk | |
105 | programdır. Diğer programların başlamalarını, çalışmalarını ve | |
106 | sonlanmalarını sağlar/denetler. | |
107 | ||
108 | %description -l uk.UTF-8 | |
109 | Пакет SysVinit містить групу процесів, котрі керують самими базовими | |
110 | функціями вашої системи. SysVinit містить програму init, першу | |
111 | програму, яку запускає ядро Linux під час загрузки системи. Після | |
112 | цього init керує запуском, виконанням та зупинкою всіх інших програм. | |
113 | ||
5a210874 AF |
114 | %package tools |
115 | Summary: Tools used for process and utmp management | |
8b847cac | 116 | Summary(pl.UTF-8): Narzędzia do zarządzania procesami i bazą utmp |
5a210874 | 117 | Group: Base |
5be21b5c | 118 | Obsoletes: upstart-SysVinit |
71045735 | 119 | Conflicts: SysVinit < 2.86-27 |
aeba9d76 | 120 | Conflicts: rc-scripts < 0.4.5.1-6 |
6ced6992 | 121 | Conflicts: util-linux < 2.22 |
5a210874 AF |
122 | |
123 | %description tools | |
8b847cac JB |
124 | This package contains various tools used for process management. |
125 | ||
126 | %description tools -l pl.UTF-8 | |
127 | Ten pakiet zawiera różne narzędzia do zarządzania procesami. | |
5a210874 | 128 | |
151a330a | 129 | %prep |
8c5b2406 | 130 | %setup -q -n sysvinit-%{version}dsf |
151a330a AM |
131 | %patch0 -p1 |
132 | %patch1 -p1 | |
4677eaeb | 133 | %patch2 -p1 |
151a330a AM |
134 | %patch3 -p1 |
135 | %patch4 -p1 | |
136 | %patch5 -p1 | |
4677eaeb | 137 | %patch6 -p1 |
151a330a AM |
138 | %patch7 -p1 |
139 | %patch8 -p1 | |
140 | %patch9 -p1 | |
4677eaeb | 141 | %patch10 -p1 |
151a330a | 142 | %patch11 -p1 |
4677eaeb | 143 | %patch12 -p0 |
151a330a AM |
144 | |
145 | %build | |
146 | %{__make} -C src \ | |
8c5b2406 | 147 | %{?with_selinux:WITH_SELINUX=yes} \ |
151a330a AM |
148 | CC="%{__cc}" \ |
149 | LCRYPT="-lcrypt" \ | |
8c5b2406 | 150 | CFLAGS="%{rpmcflags}" \ |
151a330a AM |
151 | LDFLAGS="%{rpmldflags}" |
152 | ||
153 | %install | |
154 | rm -rf $RPM_BUILD_ROOT | |
155 | install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \ | |
156 | $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}} | |
157 | ||
158 | %{__make} install -C src \ | |
159 | ROOT=$RPM_BUILD_ROOT \ | |
160 | BIN_OWNER=`id -u` \ | |
161 | BIN_GROUP=`id -g` | |
162 | ||
163 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit | |
164 | ||
cb6e5c19 TP |
165 | ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir} |
166 | ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof | |
151a330a | 167 | |
151a330a | 168 | > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save |
b52bdf05 | 169 | > $RPM_BUILD_ROOT/var/log/btmp |
151a330a AM |
170 | > $RPM_BUILD_ROOT/var/log/faillog |
171 | > $RPM_BUILD_ROOT/var/log/lastlog | |
b52bdf05 | 172 | > $RPM_BUILD_ROOT/var/log/wtmp |
cb6e5c19 | 173 | > $RPM_BUILD_ROOT/var/run/initrunlvl |
151a330a | 174 | |
151a330a AM |
175 | echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8 |
176 | echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8 | |
177 | echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8 | |
178 | bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} | |
cb6e5c19 TP |
179 | %{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h |
180 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages | |
151a330a AM |
181 | |
182 | cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir} | |
183 | ||
db7bd829 JR |
184 | cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5 |
185 | ||
9fb81f94 | 186 | # in util-linux |
7916947f JB |
187 | %{__rm} $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*} |
188 | %{__rm} $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*} | |
189 | %{__rm} $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*} | |
190 | %{__rm} $RPM_BUILD_ROOT{/usr/bin/{last,lastb,mesg},%{_mandir}/man1/{last,lastb,mesg}.1*,%{_mandir}/*/man1/{last,lastb,mesg}.1*} | |
9fb81f94 | 191 | |
db7bd829 JR |
192 | # fools rpm-build-macros, don't package this file |
193 | :>$RPM_BUILD_ROOT%{_mandir}/man1/utmpdump.1 | |
194 | ||
151a330a AM |
195 | %clean |
196 | rm -rf $RPM_BUILD_ROOT | |
197 | ||
16c20593 JR |
198 | # not in trigger because wtmpx is %%ghost, and %%ghost-ed files |
199 | # are removed when they'are uninstalled | |
200 | %pretrans | |
201 | if [ -e /var/log/wtmpx ]; then | |
202 | # wtmp always takes precedence, it's safe to remove wtmpx | |
203 | if [ -s /var/log/wtmp ]; then | |
204 | %{__rm} -f /var/log/wtmpx | |
205 | else | |
206 | %{__mv} -f /var/log/wtmpx /var/log/wtmp | |
207 | fi | |
208 | fi | |
209 | ||
151a330a AM |
210 | %pre |
211 | %groupadd -g 22 utmp | |
212 | ||
213 | %post | |
b52bdf05 | 214 | touch %{_sysconfdir}/ioctl.save /var/log/{btmp,{fail,last}log} |
151a330a AM |
215 | chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log |
216 | chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog | |
217 | chown root:utmp /var/log/lastlog | |
218 | chmod 600 %{_sysconfdir}/ioctl.save | |
b52bdf05 | 219 | chmod 640 /var/log/btmp |
151a330a | 220 | chmod 640 /var/log/faillog |
20955d5b | 221 | chmod 664 /var/log/lastlog |
151a330a AM |
222 | if [ -p /dev/initctl ]; then |
223 | %{_sbindir}/telinit u || : | |
224 | fi | |
225 | ||
226 | %triggerpostun -- glibc | |
227 | if [ -p /dev/initctl ]; then | |
228 | %{_sbindir}/telinit u || : | |
229 | fi | |
230 | ||
231 | %postun | |
232 | if [ "$1" = "0" ]; then | |
233 | %groupremove utmp | |
234 | fi | |
235 | ||
236 | %files | |
237 | %defattr(644,root,root,755) | |
8b847cac | 238 | %doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample |
151a330a | 239 | |
5a210874 AF |
240 | %attr(755,root,root) %{_sbindir}/bootlogd |
241 | %attr(755,root,root) %{_sbindir}/halt | |
242 | %attr(755,root,root) %{_sbindir}/init | |
5a210874 AF |
243 | %attr(755,root,root) %{_sbindir}/poweroff |
244 | %attr(755,root,root) %{_sbindir}/reboot | |
245 | %attr(755,root,root) %{_sbindir}/runlevel | |
246 | %attr(755,root,root) %{_sbindir}/shutdown | |
247 | %attr(755,root,root) %{_sbindir}/telinit | |
7afdfc69 | 248 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit |
151a330a AM |
249 | %ghost %{_sysconfdir}/initrunlvl |
250 | %ghost /var/run/initrunlvl | |
251 | %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save | |
b52bdf05 JR |
252 | %attr(640,root,root) %ghost /var/log/btmp |
253 | %attr(664,root,utmp) %ghost /var/log/wtmp | |
151a330a | 254 | |
db7bd829 | 255 | %{_mandir}/man5/crypttab.5* |
5a210874 AF |
256 | %{_mandir}/man5/inittab.5* |
257 | %{_mandir}/man5/initscript.5* | |
258 | %{_mandir}/man8/bootlogd.8* | |
259 | %{_mandir}/man8/halt.8* | |
260 | %{_mandir}/man8/init.8* | |
5a210874 AF |
261 | %{_mandir}/man8/poweroff.8 |
262 | %{_mandir}/man8/reboot.8 | |
263 | %{_mandir}/man8/runlevel.8* | |
264 | %{_mandir}/man8/shutdown.8* | |
265 | %{_mandir}/man8/telinit.8 | |
5a210874 AF |
266 | %lang(de) %{_mandir}/de/man8/init.8* |
267 | %lang(de) %{_mandir}/de/man8/telinit.8 | |
268 | %lang(es) %{_mandir}/es/man5/initscript.5* | |
269 | %lang(es) %{_mandir}/es/man5/inittab.5* | |
270 | %lang(es) %{_mandir}/es/man8/halt.8* | |
271 | %lang(es) %{_mandir}/es/man8/init.8* | |
272 | %lang(es) %{_mandir}/es/man8/poweroff.8 | |
273 | %lang(es) %{_mandir}/es/man8/reboot.8 | |
274 | %lang(es) %{_mandir}/es/man8/runlevel.8* | |
275 | %lang(es) %{_mandir}/es/man8/shutdown.8* | |
276 | %lang(es) %{_mandir}/es/man8/telinit.8 | |
277 | %lang(fr) %{_mandir}/fr/man8/halt.8* | |
5a210874 AF |
278 | %lang(fr) %{_mandir}/fr/man8/reboot.8 |
279 | %lang(fr) %{_mandir}/fr/man8/runlevel.8* | |
280 | %lang(fr) %{_mandir}/fr/man8/shutdown.8* | |
281 | %lang(hu) %{_mandir}/hu/man5/inittab.5* | |
282 | %lang(hu) %{_mandir}/hu/man8/init.8* | |
5a210874 AF |
283 | %lang(hu) %{_mandir}/hu/man8/shutdown.8* |
284 | %lang(hu) %{_mandir}/hu/man8/telinit.8 | |
285 | %lang(id) %{_mandir}/id/man8/halt.8* | |
286 | %lang(id) %{_mandir}/id/man8/reboot.8 | |
287 | %lang(id) %{_mandir}/id/man8/shutdown.8* | |
288 | %lang(it) %{_mandir}/it/man5/initscript.5* | |
289 | %lang(it) %{_mandir}/it/man5/inittab.5* | |
290 | %lang(it) %{_mandir}/it/man8/halt.8* | |
291 | %lang(it) %{_mandir}/it/man8/init.8* | |
5a210874 AF |
292 | %lang(it) %{_mandir}/it/man8/reboot.8 |
293 | %lang(it) %{_mandir}/it/man8/runlevel.8* | |
294 | %lang(it) %{_mandir}/it/man8/shutdown.8* | |
295 | %lang(it) %{_mandir}/it/man8/telinit.8 | |
296 | %lang(ja) %{_mandir}/ja/man5/initscript.5* | |
297 | %lang(ja) %{_mandir}/ja/man5/inittab.5* | |
298 | %lang(ja) %{_mandir}/ja/man8/halt.8* | |
299 | %lang(ja) %{_mandir}/ja/man8/init.8* | |
5a210874 AF |
300 | %lang(ja) %{_mandir}/ja/man8/poweroff.8 |
301 | %lang(ja) %{_mandir}/ja/man8/reboot.8 | |
302 | %lang(ja) %{_mandir}/ja/man8/runlevel.8* | |
303 | %lang(ja) %{_mandir}/ja/man8/shutdown.8* | |
304 | %lang(ja) %{_mandir}/ja/man8/telinit.8 | |
305 | %lang(ko) %{_mandir}/ko/man5/initscript.5* | |
306 | %lang(ko) %{_mandir}/ko/man5/inittab.5* | |
307 | %lang(ko) %{_mandir}/ko/man8/halt.8* | |
308 | %lang(ko) %{_mandir}/ko/man8/init.8* | |
309 | %lang(ko) %{_mandir}/ko/man8/reboot.8 | |
310 | %lang(ko) %{_mandir}/ko/man8/runlevel.8* | |
311 | %lang(ko) %{_mandir}/ko/man8/shutdown.8* | |
312 | %lang(ko) %{_mandir}/ko/man8/telinit.8 | |
313 | %lang(pl) %{_mandir}/pl/man5/initscript.5* | |
314 | %lang(pl) %{_mandir}/pl/man5/inittab.5* | |
315 | %lang(pl) %{_mandir}/pl/man8/halt.8* | |
316 | %lang(pl) %{_mandir}/pl/man8/init.8* | |
5a210874 AF |
317 | %lang(pl) %{_mandir}/pl/man8/poweroff.8 |
318 | %lang(pl) %{_mandir}/pl/man8/reboot.8 | |
319 | %lang(pl) %{_mandir}/pl/man8/runlevel.8* | |
320 | %lang(pl) %{_mandir}/pl/man8/shutdown.8* | |
321 | %lang(pl) %{_mandir}/pl/man8/telinit.8 | |
151a330a AM |
322 | |
323 | # devel? | |
324 | #%{_includedir}/initreq.h | |
5a210874 AF |
325 | |
326 | %files tools | |
327 | %defattr(644,root,root,755) | |
328 | %attr(755,root,root) /bin/pidof | |
8c5b2406 | 329 | %attr(755,root,root) %{_sbindir}/fstab-decode |
5a210874 | 330 | %attr(755,root,root) %{_sbindir}/killall5 |
4f5e64d2 | 331 | %attr(755,root,root) %{_sbindir}/lastlog |
5a210874 | 332 | %attr(755,root,root) %{_sbindir}/pidof |
b889d881 | 333 | %attr(2755,root,tty) %{_bindir}/wall |
cb6e5c19 TP |
334 | %attr(640,root,root) %ghost /var/log/faillog |
335 | %attr(664,root,utmp) %ghost /var/log/lastlog | |
5a210874 AF |
336 | %{_mandir}/man1/wall.1* |
337 | %{_mandir}/man8/killall5.8* | |
7916947f | 338 | %{_mandir}/man8/lastlog.8* |
5a210874 | 339 | %{_mandir}/man8/pidof.8* |
8c5b2406 | 340 | %{_mandir}/man8/fstab-decode.8* |
7916947f | 341 | %lang(cs) %{_mandir}/cs/man8/lastlog.8* |
5a210874 AF |
342 | %lang(es) %{_mandir}/es/man1/wall.1* |
343 | %lang(es) %{_mandir}/es/man8/killall5.8* | |
344 | %lang(es) %{_mandir}/es/man8/pidof.8* | |
5a210874 | 345 | %lang(fi) %{_mandir}/fi/man1/wall.1* |
5a210874 AF |
346 | %lang(fr) %{_mandir}/fr/man1/wall.1* |
347 | %lang(fr) %{_mandir}/fr/man8/killall5.8* | |
4f5e64d2 | 348 | %lang(fr) %{_mandir}/fr/man8/lastlog.8* |
5a210874 | 349 | %lang(fr) %{_mandir}/fr/man8/pidof.8* |
5a210874 | 350 | %lang(hu) %{_mandir}/hu/man1/wall.1* |
4f5e64d2 | 351 | %lang(hu) %{_mandir}/hu/man8/lastlog.8* |
5a210874 AF |
352 | %lang(it) %{_mandir}/it/man1/wall.1* |
353 | %lang(it) %{_mandir}/it/man8/killall5.8* | |
4f5e64d2 | 354 | %lang(it) %{_mandir}/it/man8/lastlog.8* |
5a210874 | 355 | %lang(it) %{_mandir}/it/man8/pidof.8* |
5a210874 AF |
356 | %lang(ja) %{_mandir}/ja/man1/wall.1* |
357 | %lang(ja) %{_mandir}/ja/man8/killall5.8* | |
4f5e64d2 | 358 | %lang(ja) %{_mandir}/ja/man8/lastlog.8* |
5a210874 | 359 | %lang(ja) %{_mandir}/ja/man8/pidof.8* |
5a210874 AF |
360 | %lang(ko) %{_mandir}/ko/man8/killall5.8* |
361 | %lang(ko) %{_mandir}/ko/man8/pidof.8* | |
5a210874 AF |
362 | %lang(pl) %{_mandir}/pl/man1/wall.1* |
363 | %lang(pl) %{_mandir}/pl/man8/killall5.8* | |
4f5e64d2 | 364 | %lang(pl) %{_mandir}/pl/man8/lastlog.8* |
5a210874 | 365 | %lang(pl) %{_mandir}/pl/man8/pidof.8* |
4f5e64d2 AF |
366 | %lang(ru) %{_mandir}/ru/man8/lastlog.8* |
367 | %lang(sv) %{_mandir}/sv/man8/lastlog.8* |