]>
Commit | Line | Data |
---|---|---|
151a330a AM |
1 | # |
2 | # Conditional build: | |
3 | %bcond_with preconfigured | |
4 | %bcond_without selinux # build without SELinux support | |
5 | # | |
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): Програми, що керують базовими системними процесами | |
15 | Name: SysVinit | |
16 | Version: 2.86 | |
b75d4e58 | 17 | Release: 25 |
151a330a AM |
18 | License: GPL |
19 | Group: Base | |
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 | |
39 | Patch14: sysvinit-chroot.patch | |
40 | Patch15: sysvinit-console-open.patch | |
41 | Patch16: sysvinit-godot.patch | |
42 | Patch17: sysvinit-haltname.patch | |
43 | Patch18: sysvinit-ipv6.patch | |
44 | Patch19: sysvinit-maxproclen.patch | |
45 | Patch20: sysvinit-quiet.patch | |
46 | Patch21: sysvinit-timeval.patch | |
47 | Patch22: sysvinit-no-abort.patch | |
48 | Patch23: sysvinit-rebootconfirmation.patch | |
49 | %if %{with selinux} | |
50 | BuildRequires: libselinux-devel >= 1.28 | |
51 | BuildRequires: libsepol-devel | |
52 | %endif | |
53 | BuildRequires: rpmbuild(macros) >= 1.202 | |
54 | Requires(post): fileutils | |
55 | Requires(postun): /usr/sbin/groupdel | |
56 | Requires(pre): /usr/bin/getgid | |
57 | Requires(pre): /usr/sbin/groupadd | |
58 | Requires: /bin/awk | |
59 | %{?with_selinux:Requires: libselinux >= 1.18} | |
60 | Requires: login | |
151a330a AM |
61 | Requires: mingetty |
62 | Provides: group(utmp) | |
63 | Provides: virtual(init-daemon) | |
64 | Obsoletes: virtual(init-daemon) | |
65 | Obsoletes: vserver-SysVinit | |
b75d4e58 | 66 | Obsoletes: upstart-SysVinit |
151a330a AM |
67 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
68 | ||
69 | %define _sbindir /sbin | |
70 | # as in original flags | |
71 | %define specflags -fomit-frame-pointer | |
72 | ||
73 | %description | |
74 | The SysVinit package contains a group of processes that control the | |
75 | very basic functions of your system. SysVinit includes the init | |
76 | program, the first program started by the Linux kernel when the system | |
77 | boots. Init then controls the startup, running and shutdown of all | |
78 | other programs. | |
79 | ||
80 | %description -l de.UTF-8 | |
81 | SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel | |
82 | gestartet wird. Es steuert das Starten, Ausführen und Beenden aller | |
83 | anderen Programme. | |
84 | ||
85 | %description -l es.UTF-8 | |
86 | SysVinit es el primer programa ejecutado por el kernel Linux cuando se | |
87 | inicia el sistema. Controla arranque, funcionamiento y cierre de todos | |
88 | los otros programas. | |
89 | ||
90 | %description -l fr.UTF-8 | |
91 | SysVinit est le premier programme exécuté par le noyau de Linux | |
92 | lorsque le système démarre, il contrôle le lancement, l'exécution et | |
93 | l'arrêt de tous les autres programmes. | |
94 | ||
95 | %description -l pl.UTF-8 | |
96 | SysVinit jest pierwszym programem uruchamianym przez jądro podczas | |
97 | startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich | |
98 | innych programów. | |
99 | ||
100 | %description -l pt_BR.UTF-8 | |
101 | SysVinit é o primeiro programa executado pelo kernel Linux quando o | |
102 | sistema é inicializado. Controla inicialização, funcionamento e | |
103 | finalização de todos os outros programas. | |
104 | ||
105 | %description -l ru.UTF-8 | |
106 | Пакет SysVinit содержит группу процессов, которые управляют самыми | |
107 | базовыми функциями вашей системы. SysVinit включает программу init, | |
108 | самую первую программу, которая запускается ядром Linux при загрузке | |
109 | системы. После этого init управляет запуском, исполнением и остановом | |
110 | всех остальных программ. | |
111 | ||
112 | %description -l tr.UTF-8 | |
113 | SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk | |
114 | programdır. Diğer programların başlamalarını, çalışmalarını ve | |
115 | sonlanmalarını sağlar/denetler. | |
116 | ||
117 | %description -l uk.UTF-8 | |
118 | Пакет SysVinit містить групу процесів, котрі керують самими базовими | |
119 | функціями вашої системи. SysVinit містить програму init, першу | |
120 | програму, яку запускає ядро Linux під час загрузки системи. Після | |
121 | цього init керує запуском, виконанням та зупинкою всіх інших програм. | |
122 | ||
123 | %prep | |
124 | %setup -q -n sysvinit-%{version} | |
125 | %patch0 -p1 | |
126 | %patch1 -p1 | |
127 | %patch2 -p1 | |
128 | %patch3 -p1 | |
129 | %patch4 -p1 | |
130 | %patch5 -p1 | |
131 | %patch6 -p1 | |
132 | %patch7 -p1 | |
133 | %patch8 -p1 | |
134 | %patch9 -p1 | |
135 | %{?with_selinux:%patch10 -p1} | |
136 | %patch11 -p1 | |
137 | %patch12 -p1 | |
138 | %patch13 -p1 | |
139 | %patch14 -p1 | |
140 | %patch15 -p1 | |
141 | %patch16 -p1 | |
142 | %patch17 -p1 | |
143 | %patch18 -p1 | |
144 | %patch19 -p1 | |
145 | %patch20 -p1 | |
146 | %patch21 -p1 | |
147 | %patch22 -p1 | |
148 | %patch23 -p0 | |
149 | ||
150 | %build | |
151 | %{__make} -C src \ | |
152 | CC="%{__cc}" \ | |
153 | LCRYPT="-lcrypt" \ | |
154 | OPTIMIZE="%{rpmcflags}" \ | |
155 | LDFLAGS="%{rpmldflags}" | |
156 | ||
157 | %install | |
158 | rm -rf $RPM_BUILD_ROOT | |
159 | install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \ | |
160 | $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}} | |
161 | ||
162 | %{__make} install -C src \ | |
163 | ROOT=$RPM_BUILD_ROOT \ | |
164 | BIN_OWNER=`id -u` \ | |
165 | BIN_GROUP=`id -g` | |
166 | ||
167 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit | |
168 | ||
169 | ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir} | |
170 | ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof | |
171 | ||
172 | > $RPM_BUILD_ROOT/var/run/initrunlvl | |
173 | > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save | |
174 | > $RPM_BUILD_ROOT/var/log/faillog | |
175 | > $RPM_BUILD_ROOT/var/log/lastlog | |
176 | > $RPM_BUILD_ROOT/var/log/wtmpx | |
177 | > $RPM_BUILD_ROOT/var/log/btmpx | |
178 | ||
179 | echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1 | |
180 | echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8 | |
181 | echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8 | |
182 | echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8 | |
183 | bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} | |
184 | rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h | |
185 | rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages | |
186 | ||
187 | cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir} | |
188 | ||
189 | %clean | |
190 | rm -rf $RPM_BUILD_ROOT | |
191 | ||
192 | %pre | |
193 | %groupadd -g 22 utmp | |
194 | ||
195 | %post | |
196 | touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx} | |
197 | chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log | |
198 | chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog | |
199 | chown root:utmp /var/log/lastlog | |
200 | chmod 600 %{_sysconfdir}/ioctl.save | |
201 | chmod 640 /var/log/faillog | |
20955d5b | 202 | chmod 664 /var/log/lastlog |
151a330a AM |
203 | chmod 640 /var/log/btmpx |
204 | if [ -p /dev/initctl ]; then | |
205 | %{_sbindir}/telinit u || : | |
206 | fi | |
207 | ||
208 | %triggerpostun -- glibc | |
209 | if [ -p /dev/initctl ]; then | |
210 | %{_sbindir}/telinit u || : | |
211 | fi | |
212 | ||
213 | %postun | |
214 | if [ "$1" = "0" ]; then | |
215 | %groupremove utmp | |
216 | fi | |
217 | ||
218 | %files | |
219 | %defattr(644,root,root,755) | |
18a15977 | 220 | %doc doc/{Propaganda,Changelog,*.lsm} src/initscript.sample |
151a330a AM |
221 | |
222 | %attr(755,root,root) /bin/mountpoint | |
102c7d61 | 223 | %attr(755,root,root) /bin/pidof |
151a330a AM |
224 | %attr(755,root,root) %{_sbindir}/* |
225 | %attr(755,root,root) %{_bindir}/last | |
226 | %attr(755,root,root) %{_bindir}/lastb | |
227 | %attr(755,root,root) %{_bindir}/mesg | |
228 | %attr(755,root,root) %{_bindir}/utmpx-dump | |
229 | %attr(2755,root,tty) %{_bindir}/wall | |
230 | ||
231 | %attr(640,root,root) /etc/logrotate.d/sysvinit | |
232 | %ghost %{_sysconfdir}/initrunlvl | |
233 | %ghost /var/run/initrunlvl | |
234 | %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save | |
235 | %attr(640,root,root) %ghost /var/log/faillog | |
20955d5b | 236 | %attr(664,root,utmp) %ghost /var/log/lastlog |
151a330a AM |
237 | %attr(664,root,utmp) %ghost /var/log/wtmpx |
238 | %attr(640,root,root) %ghost /var/log/btmpx | |
239 | ||
240 | %{_mandir}/man[158]/* | |
241 | %lang(cs) %{_mandir}/cs/man[158]/* | |
242 | %lang(de) %{_mandir}/de/man[158]/* | |
243 | %lang(es) %{_mandir}/es/man[158]/* | |
244 | %lang(fi) %{_mandir}/fi/man[158]/* | |
245 | %lang(fr) %{_mandir}/fr/man[158]/* | |
246 | %lang(hu) %{_mandir}/hu/man[158]/* | |
247 | %lang(id) %{_mandir}/id/man[158]/* | |
248 | %lang(it) %{_mandir}/it/man[158]/* | |
249 | %lang(ja) %{_mandir}/ja/man[158]/* | |
250 | %lang(ko) %{_mandir}/ko/man[158]/* | |
251 | %lang(pl) %{_mandir}/pl/man[158]/* | |
252 | %lang(ru) %{_mandir}/ru/man[158]/* | |
253 | %lang(sv) %{_mandir}/sv/man[158]/* | |
254 | ||
255 | # devel? | |
256 | #%{_includedir}/initreq.h |