3 %bcond_without selinux # build without SELinux support
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): Програми, що керують базовими системними процесами
19 Source0: http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}dsf.tar.bz2
20 # Source0-md5: 6eda8a97b86e0a6f59dabbf25202aa6f
21 Source1: sysvinit.logrotate
22 Source2: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
24 # Source2-md5: 9ae8a63a4685368fae19707f95475cca
25 Patch0: sysvinit-paths.patch
26 Patch1: sysvinit-bequiet.patch
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
38 URL: http://savannah.nongnu.org/projects/sysvinit/
40 BuildRequires: libselinux-devel >= 1.28
41 BuildRequires: libsepol-devel
43 BuildRequires: rpmbuild(macros) >= 1.202
44 Requires(postun): /usr/sbin/groupdel
45 Requires(pre): /usr/bin/getgid
46 Requires(pre): /usr/sbin/groupadd
47 Requires: %{name}-tools = %{version}-%{release}
49 %{?with_selinux:Requires: libselinux >= 1.18}
52 Requires: util-linux >= 2.20-5
54 Provides: virtual(init-daemon)
55 Obsoletes: virtual(init-daemon)
56 Obsoletes: vserver-SysVinit
57 Conflicts: rc-scripts < 0.4.5.5-2
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 %define _sbindir /sbin
61 # as in original flags
62 %define specflags -fomit-frame-pointer
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
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
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
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.
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
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.
96 %description -l ru.UTF-8
97 Пакет SysVinit содержит группу процессов, которые управляют самыми
98 базовыми функциями вашей системы. SysVinit включает программу init,
99 самую первую программу, которая запускается ядром Linux при загрузке
100 системы. После этого init управляет запуском, исполнением и остановом
101 всех остальных программ.
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.
108 %description -l uk.UTF-8
109 Пакет SysVinit містить групу процесів, котрі керують самими базовими
110 функціями вашої системи. SysVinit містить програму init, першу
111 програму, яку запускає ядро Linux під час загрузки системи. Після
112 цього init керує запуском, виконанням та зупинкою всіх інших програм.
115 Summary: Tools used for process and utmp management
116 Summary(pl.UTF-8): Narzędzia do zarządzania procesami i bazą utmp
118 Obsoletes: upstart-SysVinit
119 Conflicts: SysVinit < 2.86-27
120 Conflicts: rc-scripts < 0.4.5.1-6
121 Conflicts: util-linux < 2.22
124 This package contains various tools used for process management.
126 %description tools -l pl.UTF-8
127 Ten pakiet zawiera różne narzędzia do zarządzania procesami.
130 %setup -q -n sysvinit-%{version}dsf
147 %{?with_selinux:WITH_SELINUX=yes} \
150 CFLAGS="%{rpmcflags}" \
151 LDFLAGS="%{rpmldflags}"
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}}
158 %{__make} install -C src \
159 ROOT=$RPM_BUILD_ROOT \
163 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
165 ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
166 ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
167 ln -s utmpdump $RPM_BUILD_ROOT%{_bindir}/utmpx-dump
169 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
170 > $RPM_BUILD_ROOT/var/log/btmpx
171 > $RPM_BUILD_ROOT/var/log/faillog
172 > $RPM_BUILD_ROOT/var/log/lastlog
173 > $RPM_BUILD_ROOT/var/log/wtmpx
174 > $RPM_BUILD_ROOT/var/run/initrunlvl
176 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
177 echo .so utmpdump.1 > $RPM_BUILD_ROOT%{_mandir}/man1/utmpx-dump.1
178 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
179 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
180 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
181 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
182 %{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h
183 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
185 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
187 cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5
190 rm $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
191 rm $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
192 rm $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
194 # fools rpm-build-macros, don't package this file
195 :>$RPM_BUILD_ROOT%{_mandir}/man1/utmpdump.1
198 rm -rf $RPM_BUILD_ROOT
204 touch %{_sysconfdir}/ioctl.save /var/log/{btmpx,{fail,last}log}
205 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
206 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
207 chown root:utmp /var/log/lastlog
208 chmod 600 %{_sysconfdir}/ioctl.save
209 chmod 640 /var/log/btmpx
210 chmod 640 /var/log/faillog
211 chmod 664 /var/log/lastlog
212 if [ -p /dev/initctl ]; then
213 %{_sbindir}/telinit u || :
216 %triggerpostun -- glibc
217 if [ -p /dev/initctl ]; then
218 %{_sbindir}/telinit u || :
222 if [ "$1" = "0" ]; then
227 %defattr(644,root,root,755)
228 %doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
230 %attr(755,root,root) %{_sbindir}/bootlogd
231 %attr(755,root,root) %{_sbindir}/halt
232 %attr(755,root,root) %{_sbindir}/init
233 %attr(755,root,root) %{_sbindir}/poweroff
234 %attr(755,root,root) %{_sbindir}/reboot
235 %attr(755,root,root) %{_sbindir}/runlevel
236 %attr(755,root,root) %{_sbindir}/shutdown
237 %attr(755,root,root) %{_sbindir}/telinit
238 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit
239 %ghost %{_sysconfdir}/initrunlvl
240 %ghost /var/run/initrunlvl
241 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
242 %attr(640,root,root) %ghost /var/log/btmpx
243 %attr(664,root,utmp) %ghost /var/log/wtmpx
245 %{_mandir}/man5/crypttab.5*
246 %{_mandir}/man5/inittab.5*
247 %{_mandir}/man5/initscript.5*
248 %{_mandir}/man8/bootlogd.8*
249 %{_mandir}/man8/halt.8*
250 %{_mandir}/man8/init.8*
251 %{_mandir}/man8/lastlog.8*
252 %{_mandir}/man8/poweroff.8
253 %{_mandir}/man8/reboot.8
254 %{_mandir}/man8/runlevel.8*
255 %{_mandir}/man8/shutdown.8*
256 %{_mandir}/man8/telinit.8
257 %lang(de) %{_mandir}/de/man8/init.8*
258 %lang(de) %{_mandir}/de/man8/telinit.8
259 %lang(es) %{_mandir}/es/man5/initscript.5*
260 %lang(es) %{_mandir}/es/man5/inittab.5*
261 %lang(es) %{_mandir}/es/man8/halt.8*
262 %lang(es) %{_mandir}/es/man8/init.8*
263 %lang(es) %{_mandir}/es/man8/poweroff.8
264 %lang(es) %{_mandir}/es/man8/reboot.8
265 %lang(es) %{_mandir}/es/man8/runlevel.8*
266 %lang(es) %{_mandir}/es/man8/shutdown.8*
267 %lang(es) %{_mandir}/es/man8/telinit.8
268 %lang(fr) %{_mandir}/fr/man8/halt.8*
269 %lang(fr) %{_mandir}/fr/man8/reboot.8
270 %lang(fr) %{_mandir}/fr/man8/runlevel.8*
271 %lang(fr) %{_mandir}/fr/man8/shutdown.8*
272 %lang(hu) %{_mandir}/hu/man5/inittab.5*
273 %lang(hu) %{_mandir}/hu/man8/init.8*
274 %lang(hu) %{_mandir}/hu/man8/shutdown.8*
275 %lang(hu) %{_mandir}/hu/man8/telinit.8
276 %lang(id) %{_mandir}/id/man8/halt.8*
277 %lang(id) %{_mandir}/id/man8/reboot.8
278 %lang(id) %{_mandir}/id/man8/shutdown.8*
279 %lang(it) %{_mandir}/it/man5/initscript.5*
280 %lang(it) %{_mandir}/it/man5/inittab.5*
281 %lang(it) %{_mandir}/it/man8/halt.8*
282 %lang(it) %{_mandir}/it/man8/init.8*
283 %lang(it) %{_mandir}/it/man8/reboot.8
284 %lang(it) %{_mandir}/it/man8/runlevel.8*
285 %lang(it) %{_mandir}/it/man8/shutdown.8*
286 %lang(it) %{_mandir}/it/man8/telinit.8
287 %lang(ja) %{_mandir}/ja/man5/initscript.5*
288 %lang(ja) %{_mandir}/ja/man5/inittab.5*
289 %lang(ja) %{_mandir}/ja/man8/halt.8*
290 %lang(ja) %{_mandir}/ja/man8/init.8*
291 %lang(ja) %{_mandir}/ja/man8/poweroff.8
292 %lang(ja) %{_mandir}/ja/man8/reboot.8
293 %lang(ja) %{_mandir}/ja/man8/runlevel.8*
294 %lang(ja) %{_mandir}/ja/man8/shutdown.8*
295 %lang(ja) %{_mandir}/ja/man8/telinit.8
296 %lang(ko) %{_mandir}/ko/man5/initscript.5*
297 %lang(ko) %{_mandir}/ko/man5/inittab.5*
298 %lang(ko) %{_mandir}/ko/man8/halt.8*
299 %lang(ko) %{_mandir}/ko/man8/init.8*
300 %lang(ko) %{_mandir}/ko/man8/reboot.8
301 %lang(ko) %{_mandir}/ko/man8/runlevel.8*
302 %lang(ko) %{_mandir}/ko/man8/shutdown.8*
303 %lang(ko) %{_mandir}/ko/man8/telinit.8
304 %lang(pl) %{_mandir}/pl/man5/initscript.5*
305 %lang(pl) %{_mandir}/pl/man5/inittab.5*
306 %lang(pl) %{_mandir}/pl/man8/halt.8*
307 %lang(pl) %{_mandir}/pl/man8/init.8*
308 %lang(pl) %{_mandir}/pl/man8/poweroff.8
309 %lang(pl) %{_mandir}/pl/man8/reboot.8
310 %lang(pl) %{_mandir}/pl/man8/runlevel.8*
311 %lang(pl) %{_mandir}/pl/man8/shutdown.8*
312 %lang(pl) %{_mandir}/pl/man8/telinit.8
315 #%{_includedir}/initreq.h
318 %defattr(644,root,root,755)
319 %attr(755,root,root) /bin/pidof
320 %attr(755,root,root) %{_sbindir}/fstab-decode
321 %attr(755,root,root) %{_sbindir}/killall5
322 %attr(755,root,root) %{_sbindir}/lastlog
323 %attr(755,root,root) %{_sbindir}/pidof
324 %attr(755,root,root) %{_bindir}/last
325 %attr(755,root,root) %{_bindir}/lastb
326 %attr(755,root,root) %{_bindir}/mesg
327 %attr(755,root,root) %{_bindir}/utmpx-dump
328 %attr(755,root,root) %{_bindir}/wall
329 %attr(640,root,root) %ghost /var/log/faillog
330 %attr(664,root,utmp) %ghost /var/log/lastlog
331 %{_mandir}/man1/last.1*
332 %{_mandir}/man1/lastb.1*
333 %{_mandir}/man1/mesg.1*
334 %{_mandir}/man1/wall.1*
335 %{_mandir}/man1/utmpx-dump.1*
336 %{_mandir}/man8/killall5.8*
337 %{_mandir}/man8/pidof.8*
338 %{_mandir}/man8/fstab-decode.8*
339 %lang(cs) %{_mandir}/cs/man8/lastlog.8*
340 %lang(es) %{_mandir}/es/man1/last.1*
341 %lang(es) %{_mandir}/es/man1/lastb.1
342 %lang(es) %{_mandir}/es/man1/mesg.1*
343 %lang(es) %{_mandir}/es/man1/wall.1*
344 %lang(es) %{_mandir}/es/man8/killall5.8*
345 %lang(es) %{_mandir}/es/man8/pidof.8*
346 %lang(fi) %{_mandir}/fi/man1/last.1*
347 %lang(fi) %{_mandir}/fi/man1/mesg.1*
348 %lang(fi) %{_mandir}/fi/man1/wall.1*
349 %lang(fr) %{_mandir}/fr/man1/last.1*
350 %lang(fr) %{_mandir}/fr/man1/mesg.1*
351 %lang(fr) %{_mandir}/fr/man1/wall.1*
352 %lang(fr) %{_mandir}/fr/man8/killall5.8*
353 %lang(fr) %{_mandir}/fr/man8/lastlog.8*
354 %lang(fr) %{_mandir}/fr/man8/pidof.8*
355 %lang(hu) %{_mandir}/hu/man1/last.1*
356 %lang(hu) %{_mandir}/hu/man1/mesg.1*
357 %lang(hu) %{_mandir}/hu/man1/wall.1*
358 %lang(hu) %{_mandir}/hu/man8/lastlog.8*
359 %lang(it) %{_mandir}/it/man1/last.1*
360 %lang(it) %{_mandir}/it/man1/lastb.1
361 %lang(it) %{_mandir}/it/man1/mesg.1*
362 %lang(it) %{_mandir}/it/man1/wall.1*
363 %lang(it) %{_mandir}/it/man8/killall5.8*
364 %lang(it) %{_mandir}/it/man8/lastlog.8*
365 %lang(it) %{_mandir}/it/man8/pidof.8*
366 %lang(ja) %{_mandir}/ja/man1/last.1*
367 %lang(ja) %{_mandir}/ja/man1/lastb.1
368 %lang(ja) %{_mandir}/ja/man1/mesg.1*
369 %lang(ja) %{_mandir}/ja/man1/wall.1*
370 %lang(ja) %{_mandir}/ja/man8/killall5.8*
371 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
372 %lang(ja) %{_mandir}/ja/man8/pidof.8*
373 %lang(ko) %{_mandir}/ko/man1/last.1*
374 %lang(ko) %{_mandir}/ko/man1/lastb.1
375 %lang(ko) %{_mandir}/ko/man1/mesg.1*
376 %lang(ko) %{_mandir}/ko/man8/killall5.8*
377 %lang(ko) %{_mandir}/ko/man8/pidof.8*
378 %lang(pl) %{_mandir}/pl/man1/last.1*
379 %lang(pl) %{_mandir}/pl/man1/lastb.1
380 %lang(pl) %{_mandir}/pl/man1/mesg.1*
381 %lang(pl) %{_mandir}/pl/man1/wall.1*
382 %lang(pl) %{_mandir}/pl/man8/killall5.8*
383 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
384 %lang(pl) %{_mandir}/pl/man8/pidof.8*
385 %lang(ru) %{_mandir}/ru/man8/lastlog.8*
386 %lang(sv) %{_mandir}/sv/man8/lastlog.8*