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
39 BuildRequires: libselinux-devel >= 1.28
41 BuildRequires: rpmbuild(macros) >= 1.202
42 Requires(post): fileutils
43 Requires(postun): /usr/sbin/groupdel
44 Requires(pre): /usr/bin/getgid
45 Requires(pre): /usr/sbin/groupadd
48 %if %{with preconfigured}
51 %{?with_selinux:Requires: libselinux >= 1.18}
54 Obsoletes: vserver-SysVinit
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _sbindir /sbin
58 # as in original flags
59 %define specflags -fomit-frame-pointer
62 The SysVinit package contains a group of processes that control the
63 very basic functions of your system. SysVinit includes the init
64 program, the first program started by the Linux kernel when the system
65 boots. Init then controls the startup, running and shutdown of all
68 %description -l de.UTF-8
69 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
70 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
73 %description -l es.UTF-8
74 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
75 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
78 %description -l fr.UTF-8
79 SysVinit est le premier programme exécuté par le noyau de Linux
80 lorsque le système démarre, il contrôle le lancement, l'exécution et
81 l'arrêt de tous les autres programmes.
83 %description -l pl.UTF-8
84 SysVinit jest pierwszym programem uruchamianym przez jądro podczas
85 startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
88 %description -l pt_BR.UTF-8
89 SysVinit é o primeiro programa executado pelo kernel Linux quando o
90 sistema é inicializado. Controla inicialização, funcionamento e
91 finalização de todos os outros programas.
93 %description -l ru.UTF-8
94 Пакет SysVinit содержит группу процессов, которые управляют самыми
95 базовыми функциями вашей системы. SysVinit включает программу init,
96 самую первую программу, которая запускается ядром Linux при загрузке
97 системы. После этого init управляет запуском, исполнением и остановом
98 всех остальных программ.
100 %description -l tr.UTF-8
101 SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk
102 programdır. Diğer programların başlamalarını, çalışmalarını ve
103 sonlanmalarını sağlar/denetler.
105 %description -l uk.UTF-8
106 Пакет SysVinit містить групу процесів, котрі керують самими базовими
107 функціями вашої системи. SysVinit містить програму init, першу
108 програму, яку запускає ядро Linux під час загрузки системи. Після
109 цього init керує запуском, виконанням та зупинкою всіх інших програм.
112 %setup -q -n sysvinit-%{version}
123 %{?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,run}}
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/var/run/initrunlvl
150 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
151 > $RPM_BUILD_ROOT/var/log/faillog
152 > $RPM_BUILD_ROOT/var/log/lastlog
153 > $RPM_BUILD_ROOT/var/log/wtmpx
154 > $RPM_BUILD_ROOT/var/log/btmpx
156 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
157 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
158 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
159 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
160 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
161 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
162 rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
164 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
167 rm -rf $RPM_BUILD_ROOT
173 touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
174 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
175 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
176 chown root:utmp /var/log/lastlog
177 chmod 600 %{_sysconfdir}/ioctl.save
178 chmod 640 /var/log/faillog
179 chmod 660 /var/log/lastlog
180 chmod 640 /var/log/btmpx
182 %{_sbindir}/telinit u || :
185 if [ "$1" = "0" ]; then
190 %defattr(644,root,root,755)
191 %doc doc/{Propaganda,Changelog,*.lsm}
193 %attr(755,root,root) /bin/mountpoint
194 %attr(755,root,root) %{_sbindir}/*
195 %attr(755,root,root) %{_bindir}/last
196 %attr(755,root,root) %{_bindir}/lastb
197 %attr(755,root,root) %{_bindir}/mesg
198 %attr(755,root,root) %{_bindir}/utmpx-dump
199 %attr(2755,root,tty) %{_bindir}/wall
201 %attr(640,root,root) /etc/logrotate.d/sysvinit
202 %ghost %{_sysconfdir}/initrunlvl
203 %ghost /var/run/initrunlvl
204 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
205 %attr(640,root,root) %ghost /var/log/faillog
206 %attr(660,root,utmp) %ghost /var/log/lastlog
207 %attr(664,root,utmp) %ghost /var/log/wtmpx
208 %attr(640,root,root) %ghost /var/log/btmpx
210 %{_mandir}/man[158]/*
211 %lang(cs) %{_mandir}/cs/man[158]/*
212 %lang(de) %{_mandir}/de/man[158]/*
213 %lang(es) %{_mandir}/es/man[158]/*
214 %lang(fi) %{_mandir}/fi/man[158]/*
215 %lang(fr) %{_mandir}/fr/man[158]/*
216 %lang(hu) %{_mandir}/hu/man[158]/*
217 %lang(id) %{_mandir}/id/man[158]/*
218 %lang(it) %{_mandir}/it/man[158]/*
219 %lang(ja) %{_mandir}/ja/man[158]/*
220 %lang(ko) %{_mandir}/ko/man[158]/*
221 %lang(pl) %{_mandir}/pl/man[158]/*
222 %lang(ru) %{_mandir}/ru/man[158]/*
223 %lang(sv) %{_mandir}/sv/man[158]/*
226 #%{_includedir}/initreq.h