3 %bcond_with preconfigured
4 %bcond_without selinux # build without SELinux support
6 Summary: System V initialization program
7 Summary(de.UTF-8): System V-Intialisierungsprogramm
8 Summary(es.UTF-8): Programa de inicialización System V
9 Summary(fr.UTF-8): Programme d'initialisation Sys V
10 Summary(pl.UTF-8): Program inicjalizujący w Systemie V
11 Summary(pt_BR.UTF-8): Programa de inicialização System V
12 Summary(ru.UTF-8): Программы, управляющие базовыми системными процессами
13 Summary(tr.UTF-8): System V başlatma programı
14 Summary(uk.UTF-8): Програми, що керують базовими системними процесами
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 Patch10: sysvinit-selinux.patch
36 Patch11: sysvinit-nopowerstates-single.patch
37 Patch12: sysvinit-lastlog.patch
38 Patch13: sysvinit-alt-fixes.patch
40 BuildRequires: libselinux-devel >= 1.28
42 BuildRequires: rpmbuild(macros) >= 1.202
43 Requires(post): fileutils
44 Requires(postun): /usr/sbin/groupdel
45 Requires(pre): /usr/bin/getgid
46 Requires(pre): /usr/sbin/groupadd
48 %{?with_selinux:Requires: libselinux >= 1.18}
53 Provides: virtual(init-daemon)
54 Obsoletes: virtual(init-daemon)
55 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
69 %description -l de.UTF-8
70 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
71 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
74 %description -l es.UTF-8
75 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
76 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
79 %description -l fr.UTF-8
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.
84 %description -l pl.UTF-8
85 SysVinit jest pierwszym programem uruchamianym przez jądro podczas
86 startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
89 %description -l pt_BR.UTF-8
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.
94 %description -l ru.UTF-8
95 Пакет SysVinit содержит группу процессов, которые управляют самыми
96 базовыми функциями вашей системы. SysVinit включает программу init,
97 самую первую программу, которая запускается ядром Linux при загрузке
98 системы. После этого init управляет запуском, исполнением и остановом
99 всех остальных программ.
101 %description -l tr.UTF-8
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.
106 %description -l uk.UTF-8
107 Пакет SysVinit містить групу процесів, котрі керують самими базовими
108 функціями вашої системи. SysVinit містить програму init, першу
109 програму, яку запускає ядро Linux під час загрузки системи. Після
110 цього init керує запуском, виконанням та зупинкою всіх інших програм.
113 %setup -q -n sysvinit-%{version}
124 %{?with_selinux:%patch10 -p1}
133 OPTIMIZE="%{rpmcflags}" \
134 LDFLAGS="%{rpmldflags}"
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
139 $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
141 %{__make} install -C src \
142 ROOT=$RPM_BUILD_ROOT \
146 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
148 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
149 ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
151 > $RPM_BUILD_ROOT/var/run/initrunlvl
152 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
153 > $RPM_BUILD_ROOT/var/log/faillog
154 > $RPM_BUILD_ROOT/var/log/lastlog
155 > $RPM_BUILD_ROOT/var/log/wtmpx
156 > $RPM_BUILD_ROOT/var/log/btmpx
158 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
159 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
160 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
161 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
162 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
163 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
164 rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
166 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
169 rm -rf $RPM_BUILD_ROOT
175 touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
176 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
177 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
178 chown root:utmp /var/log/lastlog
179 chmod 600 %{_sysconfdir}/ioctl.save
180 chmod 640 /var/log/faillog
181 chmod 660 /var/log/lastlog
182 chmod 640 /var/log/btmpx
183 if [ -p /dev/initctl ]; then
184 %{_sbindir}/telinit u || :
187 %triggerpostun -- glibc
188 if [ -p /dev/initctl ]; then
189 %{_sbindir}/telinit u || :
193 if [ "$1" = "0" ]; then
198 %defattr(644,root,root,755)
199 %doc doc/{Propaganda,Changelog,*.lsm}
201 %attr(755,root,root) /bin/mountpoint
202 %attr(755,root,root) %{_sbindir}/*
203 %attr(755,root,root) %{_bindir}/last
204 %attr(755,root,root) %{_bindir}/lastb
205 %attr(755,root,root) %{_bindir}/mesg
206 %attr(755,root,root) %{_bindir}/utmpx-dump
207 %attr(2755,root,tty) %{_bindir}/wall
209 %attr(640,root,root) /etc/logrotate.d/sysvinit
210 %ghost %{_sysconfdir}/initrunlvl
211 %ghost /var/run/initrunlvl
212 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
213 %attr(640,root,root) %ghost /var/log/faillog
214 %attr(660,root,utmp) %ghost /var/log/lastlog
215 %attr(664,root,utmp) %ghost /var/log/wtmpx
216 %attr(640,root,root) %ghost /var/log/btmpx
218 %{_mandir}/man[158]/*
219 %lang(cs) %{_mandir}/cs/man[158]/*
220 %lang(de) %{_mandir}/de/man[158]/*
221 %lang(es) %{_mandir}/es/man[158]/*
222 %lang(fi) %{_mandir}/fi/man[158]/*
223 %lang(fr) %{_mandir}/fr/man[158]/*
224 %lang(hu) %{_mandir}/hu/man[158]/*
225 %lang(id) %{_mandir}/id/man[158]/*
226 %lang(it) %{_mandir}/it/man[158]/*
227 %lang(ja) %{_mandir}/ja/man[158]/*
228 %lang(ko) %{_mandir}/ko/man[158]/*
229 %lang(pl) %{_mandir}/pl/man[158]/*
230 %lang(ru) %{_mandir}/ru/man[158]/*
231 %lang(sv) %{_mandir}/sv/man[158]/*
234 #%{_includedir}/initreq.h