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 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
38 BuildRequires: libsepol-devel
39 BuildRequires: rpmbuild(macros) >= 1.159
40 Requires(pre): /usr/bin/getgid
41 Requires(pre): /usr/sbin/groupadd
42 Requires(post): fileutils
43 Requires(postun): /usr/sbin/groupdel
46 %if %{with preconfigured}
50 %{?with_selinux:Requires: libselinux >= 1.18}
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 %define _sbindir /sbin
55 # as in original flags
56 %define specflags -fomit-frame-pointer
59 The SysVinit package contains a group of processes that control the
60 very basic functions of your system. SysVinit includes the init
61 program, the first program started by the Linux kernel when the system
62 boots. Init then controls the startup, running and shutdown of all
66 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
67 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
71 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
72 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
76 SysVinit est le premier programme exécuté par le noyau de Linux
77 lorsque le système démarre, il contrôle le lancement, l'exécution et
78 l'arrêt de tous les autres programmes.
81 SysVinit jest pierwszym programem uruchamianym przez j±dro podczas
82 startu systemu. Kontroluje start, pracê oraz zamykanie wszystkich
86 SysVinit é o primeiro programa executado pelo kernel Linux quando o
87 sistema é inicializado. Controla inicialização, funcionamento e
88 finalização de todos os outros programas.
91 ðÁËÅÔ SysVinit ÓÏÄÅÒÖÉÔ ÇÒÕÐÐÕ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÙÅ ÕÐÒÁ×ÌÑÀÔ ÓÁÍÙÍÉ
92 ÂÁÚÏ×ÙÍÉ ÆÕÎËÃÉÑÍÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. SysVinit ×ËÌÀÞÁÅÔ ÐÒÏÇÒÁÍÍÕ init,
93 ÓÁÍÕÀ ÐÅÒ×ÕÀ ÐÒÏÇÒÁÍÍÕ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ÑÄÒÏÍ Linux ÐÒÉ ÚÁÇÒÕÚËÅ
94 ÓÉÓÔÅÍÙ. ðÏÓÌÅ ÜÔÏÇÏ init ÕÐÒÁ×ÌÑÅÔ ÚÁÐÕÓËÏÍ, ÉÓÐÏÌÎÅÎÉÅÍ É ÏÓÔÁÎÏ×ÏÍ
95 ×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÐÒÏÇÒÁÍÍ.
98 SysVinit, sistem açýlýrken Linux çekirdeði tarafýndan çalýþtýrýlan ilk
99 programdýr. Diðer programlarýn baþlamalarýný, çalýþmalarýný ve
100 sonlanmalarýný saðlar/denetler.
103 ðÁËÅÔ SysVinit ͦÓÔÉÔØ ÇÒÕÐÕ ÐÒÏÃÅÓ¦×, ËÏÔÒ¦ ËÅÒÕÀÔØ ÓÁÍÉÍÉ ÂÁÚÏ×ÉÍÉ
104 ÆÕÎËæÑÍÉ ×ÁÛϧ ÓÉÓÔÅÍÉ. SysVinit ͦÓÔÉÔØ ÐÒÏÇÒÁÍÕ init, ÐÅÒÛÕ
105 ÐÒÏÇÒÁÍÕ, ÑËÕ ÚÁÐÕÓËÁ¤ ÑÄÒÏ Linux Ð¦Ä ÞÁÓ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÉ. ð¦ÓÌÑ
106 ÃØÏÇÏ init ËÅÒÕ¤ ÚÁÐÕÓËÏÍ, ×ÉËÏÎÁÎÎÑÍ ÔÁ ÚÕÐÉÎËÏÀ ×Ó¦È ¦ÎÛÉÈ ÐÒÏÇÒÁÍ.
109 %setup -q -n sysvinit-%{version}
120 %{?with_selinux:%patch10 -p1}
126 OPTIMIZE="%{rpmcflags}" \
127 LDFLAGS="%{rpmldflags}"
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
132 $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/log}
134 %{__make} install -C src \
135 ROOT=$RPM_BUILD_ROOT \
139 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
141 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
142 ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
144 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
145 > $RPM_BUILD_ROOT/var/log/faillog
146 > $RPM_BUILD_ROOT/var/log/lastlog
147 > $RPM_BUILD_ROOT/var/log/wtmpx
148 > $RPM_BUILD_ROOT/var/log/btmpx
150 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
151 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
152 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
153 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
154 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
157 rm -rf $RPM_BUILD_ROOT
160 if [ -n "`/usr/bin/getgid utmp`" ]; then
161 if [ "`/usr/bin/getgid utmp`" != 22 ]; then
162 echo "Error: group utmp doesn't have gid=22. Correct this before installing SysVinit." 1>&2
166 /usr/sbin/groupadd -g 22 utmp 1>&2
170 touch %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
171 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
172 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
173 chown root:utmp /var/log/lastlog
174 chmod 600 %{_sysconfdir}/ioctl.save
175 chmod 640 /var/log/faillog
176 chmod 660 /var/log/lastlog
178 %{_sbindir}/telinit u || :
181 if [ "$1" = "0" ]; then
186 %defattr(644,root,root,755)
187 %doc doc/{Propaganda,Changelog,*.lsm}
189 %attr(755,root,root) /bin/mountpoint
190 %attr(755,root,root) %{_sbindir}/*
191 %attr(755,root,root) %{_bindir}/last
192 %attr(755,root,root) %{_bindir}/lastb
193 %attr(755,root,root) %{_bindir}/mesg
194 %attr(755,root,root) %{_bindir}/utmpx-dump
195 %attr(2755,root,tty) %{_bindir}/wall
197 %attr(640,root,root) /etc/logrotate.d/sysvinit
198 %ghost %{_sysconfdir}/initrunlvl
199 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
200 %attr(640,root,root) %ghost /var/log/faillog
201 %attr(660,root,utmp) %ghost /var/log/lastlog
202 %attr(664,root,utmp) %ghost /var/log/wtmpx
203 %attr(640,root,root) %ghost /var/log/btmpx
205 %{_mandir}/man[158]/*
206 %lang(de) %{_mandir}/de/man[158]/*
207 %lang(es) %{_mandir}/es/man[158]/*
208 %lang(fi) %{_mandir}/fi/man[158]/*
209 %lang(fr) %{_mandir}/fr/man[158]/*
210 %lang(hu) %{_mandir}/hu/man[158]/*
211 %lang(id) %{_mandir}/id/man[158]/*
212 %lang(it) %{_mandir}/it/man[158]/*
213 %lang(ja) %{_mandir}/ja/man[158]/*
214 %lang(ko) %{_mandir}/ko/man[158]/*
215 %lang(pl) %{_mandir}/pl/man[158]/*
218 #%{_includedir}/initreq.h