3 %bcond_with preconfigured
4 %bcond_without selinux # build without SELinux support
6 Summary: System V initialization program
7 Summary(de): System V-Intialisierungsprogramm
8 Summary(es): Programa de inicialización System V
9 Summary(fr): Programme d'initialisation Sys V
10 Summary(pl): Program inicjalizuj±cy w Systemie V
11 Summary(pt_BR): Programa de inicialização System V
12 Summary(ru): ðÒÏÇÒÁÍÍÙ, ÕÐÒÁ×ÌÑÀÝÉÅ ÂÁÚÏ×ÙÍÉ ÓÉÓÔÅÍÎÙÍÉ ÐÒÏÃÅÓÓÁÍÉ
13 Summary(tr): System V baþlatma programý
14 Summary(uk): ðÒÏÇÒÁÍÉ, ÝÏ ËÅÒÕÀÔØ ÂÁÚÏ×ÉÍÉ ÓÉÓÔÅÍÎÉÍÉ ÐÒÏÃÅÓÁÍÉ
20 Source0: ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
21 # Source0-md5: 7d5d61c026122ab791ac04c8a84db967
22 Source1: sysvinit.logrotate
23 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-md5-bigendian.patch
28 Patch3: sysvinit-wtmp.patch
29 Patch4: sysvinit-man.patch
30 Patch5: sysvinit-halt.patch
31 Patch6: sysvinit-blowfish.patch
32 Patch7: sysvinit-autofsck.patch
33 Patch8: sysvinit-pidof.patch
34 Patch9: sysvinit-killall5.patch
35 # based on http://www.nsa.gov/selinux/patches/sysvinit-selinux.patch.gz
36 Patch10: sysvinit-selinux.patch
37 Patch11: sysvinit-nopowerstates-single.patch
39 BuildRequires: libselinux-devel >= 1.18
40 BuildRequires: libsepol-devel
42 BuildRequires: rpmbuild(macros) >= 1.202
43 Requires(pre): /usr/bin/getgid
44 Requires(pre): /usr/sbin/groupadd
45 Requires(post): fileutils
46 Requires(postun): /usr/sbin/groupdel
49 %if %{with preconfigured}
53 %{?with_selinux:Requires: libselinux >= 1.18}
54 Obsoletes: vserver-SysVinit
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define _sbindir /sbin
59 # as in original flags
60 %define specflags -fomit-frame-pointer
63 The SysVinit package contains a group of processes that control the
64 very basic functions of your system. SysVinit includes the init
65 program, the first program started by the Linux kernel when the system
66 boots. Init then controls the startup, running and shutdown of all
70 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
71 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
75 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
76 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
80 SysVinit est le premier programme exécuté par le noyau de Linux
81 lorsque le système démarre, il contrôle le lancement, l'exécution et
82 l'arrêt de tous les autres programmes.
85 SysVinit jest pierwszym programem uruchamianym przez j±dro podczas
86 startu systemu. Kontroluje start, pracê oraz zamykanie wszystkich
90 SysVinit é o primeiro programa executado pelo kernel Linux quando o
91 sistema é inicializado. Controla inicialização, funcionamento e
92 finalização de todos os outros programas.
95 ðÁËÅÔ SysVinit ÓÏÄÅÒÖÉÔ ÇÒÕÐÐÕ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÙÅ ÕÐÒÁ×ÌÑÀÔ ÓÁÍÙÍÉ
96 ÂÁÚÏ×ÙÍÉ ÆÕÎËÃÉÑÍÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. SysVinit ×ËÌÀÞÁÅÔ ÐÒÏÇÒÁÍÍÕ init,
97 ÓÁÍÕÀ ÐÅÒ×ÕÀ ÐÒÏÇÒÁÍÍÕ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ÑÄÒÏÍ Linux ÐÒÉ ÚÁÇÒÕÚËÅ
98 ÓÉÓÔÅÍÙ. ðÏÓÌÅ ÜÔÏÇÏ init ÕÐÒÁ×ÌÑÅÔ ÚÁÐÕÓËÏÍ, ÉÓÐÏÌÎÅÎÉÅÍ É ÏÓÔÁÎÏ×ÏÍ
99 ×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÐÒÏÇÒÁÍÍ.
102 SysVinit, sistem açýlýrken Linux çekirdeði tarafýndan çalýþtýrýlan ilk
103 programdýr. Diðer programlarýn baþlamalarýný, çalýþmalarýný ve
104 sonlanmalarýný saðlar/denetler.
107 ðÁËÅÔ SysVinit ͦÓÔÉÔØ ÇÒÕÐÕ ÐÒÏÃÅÓ¦×, ËÏÔÒ¦ ËÅÒÕÀÔØ ÓÁÍÉÍÉ ÂÁÚÏ×ÉÍÉ
108 ÆÕÎËæÑÍÉ ×ÁÛϧ ÓÉÓÔÅÍÉ. SysVinit ͦÓÔÉÔØ ÐÒÏÇÒÁÍÕ init, ÐÅÒÛÕ
109 ÐÒÏÇÒÁÍÕ, ÑËÕ ÚÁÐÕÓËÁ¤ ÑÄÒÏ Linux Ð¦Ä ÞÁÓ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÉ. ð¦ÓÌÑ
110 ÃØÏÇÏ init ËÅÒÕ¤ ÚÁÐÕÓËÏÍ, ×ÉËÏÎÁÎÎÑÍ ÔÁ ÚÕÐÉÎËÏÀ ×Ó¦È ¦ÎÛÉÈ ÐÒÏÇÒÁÍ.
113 %setup -q -n sysvinit-%{version}
124 %{?with_selinux:%patch10 -p1}
131 OPTIMIZE="%{rpmcflags}" \
132 LDFLAGS="%{rpmldflags}"
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
137 $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/log}
139 %{__make} install -C src \
140 ROOT=$RPM_BUILD_ROOT \
144 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
146 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
147 ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
149 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
150 > $RPM_BUILD_ROOT/var/log/faillog
151 > $RPM_BUILD_ROOT/var/log/lastlog
152 > $RPM_BUILD_ROOT/var/log/wtmpx
153 > $RPM_BUILD_ROOT/var/log/btmpx
155 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
156 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
157 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
158 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
159 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
162 rm -rf $RPM_BUILD_ROOT
168 touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
169 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
170 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
171 chown root:utmp /var/log/lastlog
172 chmod 600 %{_sysconfdir}/ioctl.save
173 chmod 640 /var/log/faillog
174 chmod 660 /var/log/lastlog
175 chmod 640 /var/log/btmpx
177 %{_sbindir}/telinit u || :
180 if [ "$1" = "0" ]; then
185 %defattr(644,root,root,755)
186 %doc doc/{Propaganda,Changelog,*.lsm}
188 %attr(755,root,root) /bin/mountpoint
189 %attr(755,root,root) %{_sbindir}/*
190 %attr(755,root,root) %{_bindir}/last
191 %attr(755,root,root) %{_bindir}/lastb
192 %attr(755,root,root) %{_bindir}/mesg
193 %attr(755,root,root) %{_bindir}/utmpx-dump
194 %attr(2755,root,tty) %{_bindir}/wall
196 %attr(640,root,root) /etc/logrotate.d/sysvinit
197 %ghost %{_sysconfdir}/initrunlvl
198 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
199 %attr(640,root,root) %ghost /var/log/faillog
200 %attr(660,root,utmp) %ghost /var/log/lastlog
201 %attr(664,root,utmp) %ghost /var/log/wtmpx
202 %attr(640,root,root) %ghost /var/log/btmpx
204 %{_mandir}/man[158]/*
205 %lang(de) %{_mandir}/de/man[158]/*
206 %lang(es) %{_mandir}/es/man[158]/*
207 %lang(fi) %{_mandir}/fi/man[158]/*
208 %lang(fr) %{_mandir}/fr/man[158]/*
209 %lang(hu) %{_mandir}/hu/man[158]/*
210 %lang(id) %{_mandir}/id/man[158]/*
211 %lang(it) %{_mandir}/it/man[158]/*
212 %lang(ja) %{_mandir}/ja/man[158]/*
213 %lang(ko) %{_mandir}/ko/man[158]/*
214 %lang(pl) %{_mandir}/pl/man[158]/*
217 #%{_includedir}/initreq.h