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 Patch13: 63_init_keep_utf8_ttyflag.patch
39 Patch14: 64_init_selinux_enabled.patch
40 Patch15: 95_kfreebsd_bootlogd.patch
41 Patch16: 96_allow_multiple_console_output.patch
42 URL: http://savannah.nongnu.org/projects/sysvinit/
44 BuildRequires: libselinux-devel >= 1.28
45 BuildRequires: libsepol-devel
47 BuildRequires: rpmbuild(macros) >= 1.202
48 Requires(postun): /usr/sbin/groupdel
49 Requires(pre): /usr/bin/getgid
50 Requires(pre): /usr/sbin/groupadd
51 Requires: %{name}-tools = %{version}-%{release}
53 %{?with_selinux:Requires: libselinux >= 1.18}
56 Requires: util-linux >= 2.24-1
58 Provides: virtual(init-daemon)
59 Obsoletes: virtual(init-daemon)
60 Obsoletes: vserver-SysVinit
61 Conflicts: rc-scripts < 0.4.9-1
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define _sbindir /sbin
65 # as in original flags
66 %define specflags -fomit-frame-pointer
69 The SysVinit package contains a group of processes that control the
70 very basic functions of your system. SysVinit includes the init
71 program, the first program started by the Linux kernel when the system
72 boots. Init then controls the startup, running and shutdown of all
75 %description -l de.UTF-8
76 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
77 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
80 %description -l es.UTF-8
81 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
82 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
85 %description -l fr.UTF-8
86 SysVinit est le premier programme exécuté par le noyau de Linux
87 lorsque le système démarre, il contrôle le lancement, l'exécution et
88 l'arrêt de tous les autres programmes.
90 %description -l pl.UTF-8
91 SysVinit jest pierwszym programem uruchamianym przez jądro podczas
92 startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
95 %description -l pt_BR.UTF-8
96 SysVinit é o primeiro programa executado pelo kernel Linux quando o
97 sistema é inicializado. Controla inicialização, funcionamento e
98 finalização de todos os outros programas.
100 %description -l ru.UTF-8
101 Пакет SysVinit содержит группу процессов, которые управляют самыми
102 базовыми функциями вашей системы. SysVinit включает программу init,
103 самую первую программу, которая запускается ядром Linux при загрузке
104 системы. После этого init управляет запуском, исполнением и остановом
105 всех остальных программ.
107 %description -l tr.UTF-8
108 SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk
109 programdır. Diğer programların başlamalarını, çalışmalarını ve
110 sonlanmalarını sağlar/denetler.
112 %description -l uk.UTF-8
113 Пакет SysVinit містить групу процесів, котрі керують самими базовими
114 функціями вашої системи. SysVinit містить програму init, першу
115 програму, яку запускає ядро Linux під час загрузки системи. Після
116 цього init керує запуском, виконанням та зупинкою всіх інших програм.
119 Summary: Tools used for process and utmp management
120 Summary(pl.UTF-8): Narzędzia do zarządzania procesami i bazą utmp
122 Obsoletes: upstart-SysVinit
123 Conflicts: SysVinit < 2.86-27
124 Conflicts: rc-scripts < 0.4.5.1-6
125 Conflicts: util-linux < 2.22
128 This package contains various tools used for process management.
130 %description tools -l pl.UTF-8
131 Ten pakiet zawiera różne narzędzia do zarządzania procesami.
134 %setup -q -n sysvinit-%{version}dsf
155 %{?with_selinux:WITH_SELINUX=yes} \
158 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
159 LDFLAGS="%{rpmldflags}"
162 rm -rf $RPM_BUILD_ROOT
163 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
164 $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
166 %{__make} install -C src \
167 ROOT=$RPM_BUILD_ROOT \
171 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
173 ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
174 ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
176 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
177 > $RPM_BUILD_ROOT/var/log/btmp
178 > $RPM_BUILD_ROOT/var/log/faillog
179 > $RPM_BUILD_ROOT/var/log/lastlog
180 > $RPM_BUILD_ROOT/var/log/wtmp
181 > $RPM_BUILD_ROOT/var/run/initrunlvl
183 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
184 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
185 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
186 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
187 %{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h
188 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
190 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
192 cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5
195 %{__rm} $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
196 %{__rm} $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
197 %{__rm} $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
198 %{__rm} $RPM_BUILD_ROOT{/usr/bin/{last,lastb,mesg},%{_mandir}/man1/{last,lastb,mesg}.1*,%{_mandir}/*/man1/{last,lastb,mesg}.1*}
201 rm -rf $RPM_BUILD_ROOT
203 # not in trigger because wtmpx is %%ghost, and %%ghost-ed files
204 # are removed when they'are uninstalled
206 if [ -e /var/log/wtmpx ]; then
207 # wtmp always takes precedence, it's safe to remove wtmpx
208 if [ -s /var/log/wtmp ]; then
209 %{__rm} -f /var/log/wtmpx
211 %{__mv} -f /var/log/wtmpx /var/log/wtmp
219 touch %{_sysconfdir}/ioctl.save /var/log/{btmp,{fail,last}log}
220 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
221 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
222 chown root:utmp /var/log/lastlog
223 chmod 600 %{_sysconfdir}/ioctl.save
224 chmod 640 /var/log/btmp
225 chmod 640 /var/log/faillog
226 chmod 664 /var/log/lastlog
227 if [ -p /dev/initctl ]; then
228 %{_sbindir}/telinit u || :
231 %triggerpostun -- glibc
232 if [ -p /dev/initctl ]; then
233 %{_sbindir}/telinit u || :
237 if [ "$1" = "0" ]; then
242 %defattr(644,root,root,755)
243 %doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
245 %attr(755,root,root) %{_sbindir}/bootlogd
246 %attr(755,root,root) %{_sbindir}/halt
247 %attr(755,root,root) %{_sbindir}/init
248 %attr(755,root,root) %{_sbindir}/poweroff
249 %attr(755,root,root) %{_sbindir}/reboot
250 %attr(755,root,root) %{_sbindir}/runlevel
251 %attr(755,root,root) %{_sbindir}/shutdown
252 %attr(755,root,root) %{_sbindir}/telinit
253 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit
254 %ghost %{_sysconfdir}/initrunlvl
255 %ghost /var/run/initrunlvl
256 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
257 %attr(640,root,root) %ghost /var/log/btmp
258 %attr(664,root,utmp) %ghost /var/log/wtmp
260 %{_mandir}/man5/crypttab.5*
261 %{_mandir}/man5/inittab.5*
262 %{_mandir}/man5/initscript.5*
263 %{_mandir}/man8/bootlogd.8*
264 %{_mandir}/man8/halt.8*
265 %{_mandir}/man8/init.8*
266 %{_mandir}/man8/poweroff.8
267 %{_mandir}/man8/reboot.8
268 %{_mandir}/man8/runlevel.8*
269 %{_mandir}/man8/shutdown.8*
270 %{_mandir}/man8/telinit.8
271 %lang(de) %{_mandir}/de/man8/init.8*
272 %lang(de) %{_mandir}/de/man8/telinit.8
273 %lang(es) %{_mandir}/es/man5/initscript.5*
274 %lang(es) %{_mandir}/es/man5/inittab.5*
275 %lang(es) %{_mandir}/es/man8/halt.8*
276 %lang(es) %{_mandir}/es/man8/init.8*
277 %lang(es) %{_mandir}/es/man8/poweroff.8
278 %lang(es) %{_mandir}/es/man8/reboot.8
279 %lang(es) %{_mandir}/es/man8/runlevel.8*
280 %lang(es) %{_mandir}/es/man8/shutdown.8*
281 %lang(es) %{_mandir}/es/man8/telinit.8
282 %lang(fr) %{_mandir}/fr/man8/halt.8*
283 %lang(fr) %{_mandir}/fr/man8/reboot.8
284 %lang(fr) %{_mandir}/fr/man8/runlevel.8*
285 %lang(fr) %{_mandir}/fr/man8/shutdown.8*
286 %lang(hu) %{_mandir}/hu/man5/inittab.5*
287 %lang(hu) %{_mandir}/hu/man8/init.8*
288 %lang(hu) %{_mandir}/hu/man8/shutdown.8*
289 %lang(hu) %{_mandir}/hu/man8/telinit.8
290 %lang(id) %{_mandir}/id/man8/halt.8*
291 %lang(id) %{_mandir}/id/man8/reboot.8
292 %lang(id) %{_mandir}/id/man8/shutdown.8*
293 %lang(it) %{_mandir}/it/man5/initscript.5*
294 %lang(it) %{_mandir}/it/man5/inittab.5*
295 %lang(it) %{_mandir}/it/man8/halt.8*
296 %lang(it) %{_mandir}/it/man8/init.8*
297 %lang(it) %{_mandir}/it/man8/reboot.8
298 %lang(it) %{_mandir}/it/man8/runlevel.8*
299 %lang(it) %{_mandir}/it/man8/shutdown.8*
300 %lang(it) %{_mandir}/it/man8/telinit.8
301 %lang(ja) %{_mandir}/ja/man5/initscript.5*
302 %lang(ja) %{_mandir}/ja/man5/inittab.5*
303 %lang(ja) %{_mandir}/ja/man8/halt.8*
304 %lang(ja) %{_mandir}/ja/man8/init.8*
305 %lang(ja) %{_mandir}/ja/man8/poweroff.8
306 %lang(ja) %{_mandir}/ja/man8/reboot.8
307 %lang(ja) %{_mandir}/ja/man8/runlevel.8*
308 %lang(ja) %{_mandir}/ja/man8/shutdown.8*
309 %lang(ja) %{_mandir}/ja/man8/telinit.8
310 %lang(ko) %{_mandir}/ko/man5/initscript.5*
311 %lang(ko) %{_mandir}/ko/man5/inittab.5*
312 %lang(ko) %{_mandir}/ko/man8/halt.8*
313 %lang(ko) %{_mandir}/ko/man8/init.8*
314 %lang(ko) %{_mandir}/ko/man8/reboot.8
315 %lang(ko) %{_mandir}/ko/man8/runlevel.8*
316 %lang(ko) %{_mandir}/ko/man8/shutdown.8*
317 %lang(ko) %{_mandir}/ko/man8/telinit.8
318 %lang(pl) %{_mandir}/pl/man5/initscript.5*
319 %lang(pl) %{_mandir}/pl/man5/inittab.5*
320 %lang(pl) %{_mandir}/pl/man8/halt.8*
321 %lang(pl) %{_mandir}/pl/man8/init.8*
322 %lang(pl) %{_mandir}/pl/man8/poweroff.8
323 %lang(pl) %{_mandir}/pl/man8/reboot.8
324 %lang(pl) %{_mandir}/pl/man8/runlevel.8*
325 %lang(pl) %{_mandir}/pl/man8/shutdown.8*
326 %lang(pl) %{_mandir}/pl/man8/telinit.8
329 #%{_includedir}/initreq.h
332 %defattr(644,root,root,755)
333 %attr(755,root,root) /bin/pidof
334 %attr(755,root,root) %{_sbindir}/fstab-decode
335 %attr(755,root,root) %{_sbindir}/killall5
336 %attr(755,root,root) %{_sbindir}/lastlog
337 %attr(755,root,root) %{_sbindir}/pidof
338 %attr(2755,root,tty) %{_bindir}/wall
339 %attr(640,root,root) %ghost /var/log/faillog
340 %attr(664,root,utmp) %ghost /var/log/lastlog
341 %{_mandir}/man1/wall.1*
342 %{_mandir}/man8/killall5.8*
343 %{_mandir}/man8/lastlog.8*
344 %{_mandir}/man8/pidof.8*
345 %{_mandir}/man8/fstab-decode.8*
346 %lang(cs) %{_mandir}/cs/man8/lastlog.8*
347 %lang(es) %{_mandir}/es/man1/wall.1*
348 %lang(es) %{_mandir}/es/man8/killall5.8*
349 %lang(es) %{_mandir}/es/man8/pidof.8*
350 %lang(fi) %{_mandir}/fi/man1/wall.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/wall.1*
356 %lang(hu) %{_mandir}/hu/man8/lastlog.8*
357 %lang(it) %{_mandir}/it/man1/wall.1*
358 %lang(it) %{_mandir}/it/man8/killall5.8*
359 %lang(it) %{_mandir}/it/man8/lastlog.8*
360 %lang(it) %{_mandir}/it/man8/pidof.8*
361 %lang(ja) %{_mandir}/ja/man1/wall.1*
362 %lang(ja) %{_mandir}/ja/man8/killall5.8*
363 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
364 %lang(ja) %{_mandir}/ja/man8/pidof.8*
365 %lang(ko) %{_mandir}/ko/man8/killall5.8*
366 %lang(ko) %{_mandir}/ko/man8/pidof.8*
367 %lang(pl) %{_mandir}/pl/man1/wall.1*
368 %lang(pl) %{_mandir}/pl/man8/killall5.8*
369 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
370 %lang(pl) %{_mandir}/pl/man8/pidof.8*
371 %lang(ru) %{_mandir}/ru/man8/lastlog.8*
372 %lang(sv) %{_mandir}/sv/man8/lastlog.8*