]> git.pld-linux.org Git - packages/SysVinit.git/blob - SysVinit.spec
c2ff90b2ac7a4d5983b208c26a62ac60222d001f
[packages/SysVinit.git] / SysVinit.spec
1 #
2 # Conditional build:
3 %bcond_without  selinux         # build without SELinux support
4 #
5 Summary:        System V initialization program
6 Summary(de.UTF-8):      System V-Intialisierungsprogramm
7 Summary(es.UTF-8):      Programa de inicialización System V
8 Summary(fr.UTF-8):      Programme d'initialisation Sys V
9 Summary(pl.UTF-8):      Program inicjalizujący w Systemie V
10 Summary(pt_BR.UTF-8):   Programa de inicialização System V
11 Summary(ru.UTF-8):      Программы, управляющие базовыми системными процессами
12 Summary(tr.UTF-8):      System V başlatma programı
13 Summary(uk.UTF-8):      Програми, що керують базовими системними процесами
14 Name:           SysVinit
15 Version:        2.88
16 Release:        12
17 License:        GPL v2+
18 Group:          Base
19 Source0:        http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}dsf.tar.bz2
20 # Source0-md5:  6eda8a97b86e0a6f59dabbf25202aa6f
21 Source1:        sysvinit.logrotate
22 Source2:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
23 Source3:        crypttab.5
24 # Source2-md5:  9ae8a63a4685368fae19707f95475cca
25 Patch0:         sysvinit-paths.patch
26 Patch1:         sysvinit-bequiet.patch
27 Patch2:         sysvinit-wtmp.patch
28 Patch3:         sysvinit-man.patch
29 Patch4:         sysvinit-halt.patch
30 Patch5:         sysvinit-autofsck.patch
31 Patch6:         sysvinit-pidof.patch
32 Patch7:         sysvinit-killall5.patch
33 Patch8:         sysvinit-nopowerstates-single.patch
34 Patch9:         sysvinit-lastlog.patch
35 Patch10:        sysvinit-alt-fixes.patch
36 Patch11:        sysvinit-quiet.patch
37 Patch12:        sysvinit-rebootconfirmation.patch
38 URL:            http://savannah.nongnu.org/projects/sysvinit/
39 %if %{with selinux}
40 BuildRequires:  libselinux-devel >= 1.28
41 BuildRequires:  libsepol-devel
42 %endif
43 BuildRequires:  rpmbuild(macros) >= 1.202
44 Requires(postun):       /usr/sbin/groupdel
45 Requires(pre):  /usr/bin/getgid
46 Requires(pre):  /usr/sbin/groupadd
47 Requires:       %{name}-tools = %{version}-%{release}
48 Requires:       /bin/awk
49 %{?with_selinux:Requires:       libselinux >= 1.18}
50 Requires:       login
51 Requires:       mingetty
52 Requires:       util-linux >= 2.20-5
53 Provides:       group(utmp)
54 Provides:       virtual(init-daemon)
55 Obsoletes:      virtual(init-daemon)
56 Obsoletes:      vserver-SysVinit
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %define         _sbindir        /sbin
60 # as in original flags
61 %define         specflags       -fomit-frame-pointer
62
63 %description
64 The SysVinit package contains a group of processes that control the
65 very basic functions of your system. SysVinit includes the init
66 program, the first program started by the Linux kernel when the system
67 boots. Init then controls the startup, running and shutdown of all
68 other programs.
69
70 %description -l de.UTF-8
71 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
72 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
73 anderen Programme.
74
75 %description -l es.UTF-8
76 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
77 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
78 los otros programas.
79
80 %description -l fr.UTF-8
81 SysVinit est le premier programme exécuté par le noyau de Linux
82 lorsque le système démarre, il contrôle le lancement, l'exécution et
83 l'arrêt de tous les autres programmes.
84
85 %description -l pl.UTF-8
86 SysVinit jest pierwszym programem uruchamianym przez jądro podczas
87 startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
88 innych programów.
89
90 %description -l pt_BR.UTF-8
91 SysVinit é o primeiro programa executado pelo kernel Linux quando o
92 sistema é inicializado. Controla inicialização, funcionamento e
93 finalização de todos os outros programas.
94
95 %description -l ru.UTF-8
96 Пакет SysVinit содержит группу процессов, которые управляют самыми
97 базовыми функциями вашей системы. SysVinit включает программу init,
98 самую первую программу, которая запускается ядром Linux при загрузке
99 системы. После этого init управляет запуском, исполнением и остановом
100 всех остальных программ.
101
102 %description -l tr.UTF-8
103 SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk
104 programdır. Diğer programların başlamalarını, çalışmalarını ve
105 sonlanmalarını sağlar/denetler.
106
107 %description -l uk.UTF-8
108 Пакет SysVinit містить групу процесів, котрі керують самими базовими
109 функціями вашої системи. SysVinit містить програму init, першу
110 програму, яку запускає ядро Linux під час загрузки системи. Після
111 цього init керує запуском, виконанням та зупинкою всіх інших програм.
112
113 %package tools
114 Summary:        Tools used for process and utmp management
115 Summary(pl.UTF-8):      Narzędzia do zarządzania procesami i bazą utmp
116 Group:          Base
117 Obsoletes:      upstart-SysVinit
118 Conflicts:      SysVinit < 2.86-27
119 Conflicts:      rc-scripts < 0.4.5.1-6
120 Conflicts:      util-linux < 2.22
121
122 %description tools
123 This package contains various tools used for process management.
124
125 %description tools -l pl.UTF-8
126 Ten pakiet zawiera różne narzędzia do zarządzania procesami.
127
128 %prep
129 %setup -q -n sysvinit-%{version}dsf
130 %patch0 -p1
131 %patch1 -p1
132 %patch2 -p1
133 %patch3 -p1
134 %patch4 -p1
135 %patch5 -p1
136 %patch6 -p1
137 %patch7 -p1
138 %patch8 -p1
139 %patch9 -p1
140 %patch10 -p1
141 %patch11 -p1
142 %patch12 -p0
143
144 %build
145 %{__make} -C src \
146         %{?with_selinux:WITH_SELINUX=yes} \
147         CC="%{__cc}" \
148         LCRYPT="-lcrypt" \
149         CFLAGS="%{rpmcflags}" \
150         LDFLAGS="%{rpmldflags}"
151
152 %install
153 rm -rf $RPM_BUILD_ROOT
154 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
155         $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
156
157 %{__make} install -C src \
158         ROOT=$RPM_BUILD_ROOT \
159         BIN_OWNER=`id -u` \
160         BIN_GROUP=`id -g`
161
162 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
163
164 ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
165 ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
166 ln -s utmpdump $RPM_BUILD_ROOT%{_bindir}/utmpx-dump
167
168 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
169 > $RPM_BUILD_ROOT/var/log/btmpx
170 > $RPM_BUILD_ROOT/var/log/faillog
171 > $RPM_BUILD_ROOT/var/log/lastlog
172 > $RPM_BUILD_ROOT/var/log/wtmpx
173 > $RPM_BUILD_ROOT/var/run/initrunlvl
174
175 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
176 echo .so utmpdump.1 > $RPM_BUILD_ROOT%{_mandir}/man1/utmpx-dump.1
177 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
178 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
179 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
180 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
181 %{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h
182 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
183
184 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
185
186 cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5
187
188 # in util-linux
189 rm $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
190 rm $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
191 rm $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
192
193 # fools rpm-build-macros, don't package this file
194 :>$RPM_BUILD_ROOT%{_mandir}/man1/utmpdump.1
195
196 %clean
197 rm -rf $RPM_BUILD_ROOT
198
199 %pre
200 %groupadd -g 22 utmp
201
202 %post
203 touch %{_sysconfdir}/ioctl.save /var/log/{btmpx,{fail,last}log}
204 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
205 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
206 chown root:utmp /var/log/lastlog
207 chmod 600 %{_sysconfdir}/ioctl.save
208 chmod 640 /var/log/btmpx
209 chmod 640 /var/log/faillog
210 chmod 664 /var/log/lastlog
211 if [ -p /dev/initctl ]; then
212         %{_sbindir}/telinit u || :
213 fi
214
215 %triggerpostun -- glibc
216 if [ -p /dev/initctl ]; then
217         %{_sbindir}/telinit u || :
218 fi
219
220 %postun
221 if [ "$1" = "0" ]; then
222         %groupremove utmp
223 fi
224
225 %files
226 %defattr(644,root,root,755)
227 %doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
228
229 %attr(755,root,root) %{_sbindir}/bootlogd
230 %attr(755,root,root) %{_sbindir}/halt
231 %attr(755,root,root) %{_sbindir}/init
232 %attr(755,root,root) %{_sbindir}/poweroff
233 %attr(755,root,root) %{_sbindir}/reboot
234 %attr(755,root,root) %{_sbindir}/runlevel
235 %attr(755,root,root) %{_sbindir}/shutdown
236 %attr(755,root,root) %{_sbindir}/telinit
237 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit
238 %ghost %{_sysconfdir}/initrunlvl
239 %ghost /var/run/initrunlvl
240 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
241 %attr(640,root,root) %ghost /var/log/btmpx
242 %attr(664,root,utmp) %ghost /var/log/wtmpx
243
244 %{_mandir}/man5/crypttab.5*
245 %{_mandir}/man5/inittab.5*
246 %{_mandir}/man5/initscript.5*
247 %{_mandir}/man8/bootlogd.8*
248 %{_mandir}/man8/halt.8*
249 %{_mandir}/man8/init.8*
250 %{_mandir}/man8/lastlog.8*
251 %{_mandir}/man8/poweroff.8
252 %{_mandir}/man8/reboot.8
253 %{_mandir}/man8/runlevel.8*
254 %{_mandir}/man8/shutdown.8*
255 %{_mandir}/man8/telinit.8
256 %lang(de) %{_mandir}/de/man8/init.8*
257 %lang(de) %{_mandir}/de/man8/telinit.8
258 %lang(es) %{_mandir}/es/man5/initscript.5*
259 %lang(es) %{_mandir}/es/man5/inittab.5*
260 %lang(es) %{_mandir}/es/man8/halt.8*
261 %lang(es) %{_mandir}/es/man8/init.8*
262 %lang(es) %{_mandir}/es/man8/poweroff.8
263 %lang(es) %{_mandir}/es/man8/reboot.8
264 %lang(es) %{_mandir}/es/man8/runlevel.8*
265 %lang(es) %{_mandir}/es/man8/shutdown.8*
266 %lang(es) %{_mandir}/es/man8/telinit.8
267 %lang(fr) %{_mandir}/fr/man8/halt.8*
268 %lang(fr) %{_mandir}/fr/man8/reboot.8
269 %lang(fr) %{_mandir}/fr/man8/runlevel.8*
270 %lang(fr) %{_mandir}/fr/man8/shutdown.8*
271 %lang(hu) %{_mandir}/hu/man5/inittab.5*
272 %lang(hu) %{_mandir}/hu/man8/init.8*
273 %lang(hu) %{_mandir}/hu/man8/shutdown.8*
274 %lang(hu) %{_mandir}/hu/man8/telinit.8
275 %lang(id) %{_mandir}/id/man8/halt.8*
276 %lang(id) %{_mandir}/id/man8/reboot.8
277 %lang(id) %{_mandir}/id/man8/shutdown.8*
278 %lang(it) %{_mandir}/it/man5/initscript.5*
279 %lang(it) %{_mandir}/it/man5/inittab.5*
280 %lang(it) %{_mandir}/it/man8/halt.8*
281 %lang(it) %{_mandir}/it/man8/init.8*
282 %lang(it) %{_mandir}/it/man8/reboot.8
283 %lang(it) %{_mandir}/it/man8/runlevel.8*
284 %lang(it) %{_mandir}/it/man8/shutdown.8*
285 %lang(it) %{_mandir}/it/man8/telinit.8
286 %lang(ja) %{_mandir}/ja/man5/initscript.5*
287 %lang(ja) %{_mandir}/ja/man5/inittab.5*
288 %lang(ja) %{_mandir}/ja/man8/halt.8*
289 %lang(ja) %{_mandir}/ja/man8/init.8*
290 %lang(ja) %{_mandir}/ja/man8/poweroff.8
291 %lang(ja) %{_mandir}/ja/man8/reboot.8
292 %lang(ja) %{_mandir}/ja/man8/runlevel.8*
293 %lang(ja) %{_mandir}/ja/man8/shutdown.8*
294 %lang(ja) %{_mandir}/ja/man8/telinit.8
295 %lang(ko) %{_mandir}/ko/man5/initscript.5*
296 %lang(ko) %{_mandir}/ko/man5/inittab.5*
297 %lang(ko) %{_mandir}/ko/man8/halt.8*
298 %lang(ko) %{_mandir}/ko/man8/init.8*
299 %lang(ko) %{_mandir}/ko/man8/reboot.8
300 %lang(ko) %{_mandir}/ko/man8/runlevel.8*
301 %lang(ko) %{_mandir}/ko/man8/shutdown.8*
302 %lang(ko) %{_mandir}/ko/man8/telinit.8
303 %lang(pl) %{_mandir}/pl/man5/initscript.5*
304 %lang(pl) %{_mandir}/pl/man5/inittab.5*
305 %lang(pl) %{_mandir}/pl/man8/halt.8*
306 %lang(pl) %{_mandir}/pl/man8/init.8*
307 %lang(pl) %{_mandir}/pl/man8/poweroff.8
308 %lang(pl) %{_mandir}/pl/man8/reboot.8
309 %lang(pl) %{_mandir}/pl/man8/runlevel.8*
310 %lang(pl) %{_mandir}/pl/man8/shutdown.8*
311 %lang(pl) %{_mandir}/pl/man8/telinit.8
312
313 # devel?
314 #%{_includedir}/initreq.h
315
316 %files tools
317 %defattr(644,root,root,755)
318 %attr(755,root,root) /bin/pidof
319 %attr(755,root,root) %{_sbindir}/fstab-decode
320 %attr(755,root,root) %{_sbindir}/killall5
321 %attr(755,root,root) %{_sbindir}/lastlog
322 %attr(755,root,root) %{_sbindir}/pidof
323 %attr(755,root,root) %{_bindir}/last
324 %attr(755,root,root) %{_bindir}/lastb
325 %attr(755,root,root) %{_bindir}/mesg
326 %attr(755,root,root) %{_bindir}/utmpx-dump
327 %attr(755,root,root) %{_bindir}/wall
328 %attr(640,root,root) %ghost /var/log/faillog
329 %attr(664,root,utmp) %ghost /var/log/lastlog
330 %{_mandir}/man1/last.1*
331 %{_mandir}/man1/lastb.1*
332 %{_mandir}/man1/mesg.1*
333 %{_mandir}/man1/wall.1*
334 %{_mandir}/man1/utmpx-dump.1*
335 %{_mandir}/man8/killall5.8*
336 %{_mandir}/man8/pidof.8*
337 %{_mandir}/man8/fstab-decode.8*
338 %lang(cs) %{_mandir}/cs/man8/lastlog.8*
339 %lang(es) %{_mandir}/es/man1/last.1*
340 %lang(es) %{_mandir}/es/man1/lastb.1
341 %lang(es) %{_mandir}/es/man1/mesg.1*
342 %lang(es) %{_mandir}/es/man1/wall.1*
343 %lang(es) %{_mandir}/es/man8/killall5.8*
344 %lang(es) %{_mandir}/es/man8/pidof.8*
345 %lang(fi) %{_mandir}/fi/man1/last.1*
346 %lang(fi) %{_mandir}/fi/man1/mesg.1*
347 %lang(fi) %{_mandir}/fi/man1/wall.1*
348 %lang(fr) %{_mandir}/fr/man1/last.1*
349 %lang(fr) %{_mandir}/fr/man1/mesg.1*
350 %lang(fr) %{_mandir}/fr/man1/wall.1*
351 %lang(fr) %{_mandir}/fr/man8/killall5.8*
352 %lang(fr) %{_mandir}/fr/man8/lastlog.8*
353 %lang(fr) %{_mandir}/fr/man8/pidof.8*
354 %lang(hu) %{_mandir}/hu/man1/last.1*
355 %lang(hu) %{_mandir}/hu/man1/mesg.1*
356 %lang(hu) %{_mandir}/hu/man1/wall.1*
357 %lang(hu) %{_mandir}/hu/man8/lastlog.8*
358 %lang(it) %{_mandir}/it/man1/last.1*
359 %lang(it) %{_mandir}/it/man1/lastb.1
360 %lang(it) %{_mandir}/it/man1/mesg.1*
361 %lang(it) %{_mandir}/it/man1/wall.1*
362 %lang(it) %{_mandir}/it/man8/killall5.8*
363 %lang(it) %{_mandir}/it/man8/lastlog.8*
364 %lang(it) %{_mandir}/it/man8/pidof.8*
365 %lang(ja) %{_mandir}/ja/man1/last.1*
366 %lang(ja) %{_mandir}/ja/man1/lastb.1
367 %lang(ja) %{_mandir}/ja/man1/mesg.1*
368 %lang(ja) %{_mandir}/ja/man1/wall.1*
369 %lang(ja) %{_mandir}/ja/man8/killall5.8*
370 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
371 %lang(ja) %{_mandir}/ja/man8/pidof.8*
372 %lang(ko) %{_mandir}/ko/man1/last.1*
373 %lang(ko) %{_mandir}/ko/man1/lastb.1
374 %lang(ko) %{_mandir}/ko/man1/mesg.1*
375 %lang(ko) %{_mandir}/ko/man8/killall5.8*
376 %lang(ko) %{_mandir}/ko/man8/pidof.8*
377 %lang(pl) %{_mandir}/pl/man1/last.1*
378 %lang(pl) %{_mandir}/pl/man1/lastb.1
379 %lang(pl) %{_mandir}/pl/man1/mesg.1*
380 %lang(pl) %{_mandir}/pl/man1/wall.1*
381 %lang(pl) %{_mandir}/pl/man8/killall5.8*
382 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
383 %lang(pl) %{_mandir}/pl/man8/pidof.8*
384 %lang(ru) %{_mandir}/ru/man8/lastlog.8*
385 %lang(sv) %{_mandir}/sv/man8/lastlog.8*
This page took 0.131602 seconds and 2 git commands to generate.