]> git.pld-linux.org Git - packages/SysVinit.git/blob - SysVinit.spec
- drop utmpdump, sulogin (now in util-linux); TODO: C/R with newer util-linux
[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:        8.1
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 # Source2-md5:  9ae8a63a4685368fae19707f95475cca
24 Patch0:         sysvinit-paths.patch
25 Patch1:         sysvinit-bequiet.patch
26 Patch2:         sysvinit-wtmp.patch
27 Patch3:         sysvinit-man.patch
28 Patch4:         sysvinit-halt.patch
29 Patch5:         sysvinit-autofsck.patch
30 Patch6:         sysvinit-pidof.patch
31 Patch7:         sysvinit-killall5.patch
32 Patch8:         sysvinit-nopowerstates-single.patch
33 Patch9:         sysvinit-lastlog.patch
34 Patch10:        sysvinit-alt-fixes.patch
35 Patch11:        sysvinit-quiet.patch
36 Patch12:        sysvinit-rebootconfirmation.patch
37 URL:            http://savannah.nongnu.org/projects/sysvinit/
38 %if %{with selinux}
39 BuildRequires:  libselinux-devel >= 1.28
40 BuildRequires:  libsepol-devel
41 %endif
42 BuildRequires:  rpmbuild(macros) >= 1.202
43 Requires(postun):       /usr/sbin/groupdel
44 Requires(pre):  /usr/bin/getgid
45 Requires(pre):  /usr/sbin/groupadd
46 Requires:       %{name}-tools = %{version}-%{release}
47 Requires:       /bin/awk
48 %{?with_selinux:Requires:       libselinux >= 1.18}
49 Requires:       login
50 Requires:       mingetty
51 Requires:       util-linux >= 2.20-5
52 Provides:       group(utmp)
53 Provides:       virtual(init-daemon)
54 Obsoletes:      virtual(init-daemon)
55 Obsoletes:      vserver-SysVinit
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %define         _sbindir        /sbin
59 # as in original flags
60 %define         specflags       -fomit-frame-pointer
61
62 %description
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
67 other programs.
68
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
72 anderen Programme.
73
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
77 los otros programas.
78
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.
83
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
87 innych programów.
88
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.
93
94 %description -l ru.UTF-8
95 Пакет SysVinit содержит группу процессов, которые управляют самыми
96 базовыми функциями вашей системы. SysVinit включает программу init,
97 самую первую программу, которая запускается ядром Linux при загрузке
98 системы. После этого init управляет запуском, исполнением и остановом
99 всех остальных программ.
100
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.
105
106 %description -l uk.UTF-8
107 Пакет SysVinit містить групу процесів, котрі керують самими базовими
108 функціями вашої системи. SysVinit містить програму init, першу
109 програму, яку запускає ядро Linux під час загрузки системи. Після
110 цього init керує запуском, виконанням та зупинкою всіх інших програм.
111
112 %package tools
113 Summary:        Tools used for process and utmp management
114 Summary(pl.UTF-8):      Narzędzia do zarządzania procesami i bazą utmp
115 Group:          Base
116 Obsoletes:      upstart-SysVinit
117 Conflicts:      SysVinit < 2.86-27
118 Conflicts:      rc-scripts < 0.4.5.1-6
119
120 %description tools
121 This package contains various tools used for process management.
122
123 %description tools -l pl.UTF-8
124 Ten pakiet zawiera różne narzędzia do zarządzania procesami.
125
126 %prep
127 %setup -q -n sysvinit-%{version}dsf
128 %patch0 -p1
129 %patch1 -p1
130 %patch2 -p1
131 %patch3 -p1
132 %patch4 -p1
133 %patch5 -p1
134 %patch6 -p1
135 %patch7 -p1
136 %patch8 -p1
137 %patch9 -p1
138 %patch10 -p1
139 %patch11 -p1
140 %patch12 -p0
141
142 %build
143 %{__make} -C src \
144         %{?with_selinux:WITH_SELINUX=yes} \
145         CC="%{__cc}" \
146         LCRYPT="-lcrypt" \
147         CFLAGS="%{rpmcflags}" \
148         LDFLAGS="%{rpmldflags}"
149
150 %install
151 rm -rf $RPM_BUILD_ROOT
152 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
153         $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
154
155 %{__make} install -C src \
156         ROOT=$RPM_BUILD_ROOT \
157         BIN_OWNER=`id -u` \
158         BIN_GROUP=`id -g`
159
160 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
161
162 ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
163 ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
164 ln -s utmpdump $RPM_BUILD_ROOT%{_bindir}/utmpx-dump
165
166 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
167 > $RPM_BUILD_ROOT/var/log/btmpx
168 > $RPM_BUILD_ROOT/var/log/faillog
169 > $RPM_BUILD_ROOT/var/log/lastlog
170 > $RPM_BUILD_ROOT/var/log/wtmpx
171 > $RPM_BUILD_ROOT/var/run/initrunlvl
172
173 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
174 echo .so utmpdump.1 > $RPM_BUILD_ROOT%{_mandir}/man1/utmpx-dump.1
175 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
176 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
177 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
178 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
179 %{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h
180 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
181
182 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
183
184 # in util-linux
185 rm $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
186 rm $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
187 rm $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
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/{btmpx,{fail,last}log}
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/btmpx
202 chmod 640 /var/log/faillog
203 chmod 664 /var/log/lastlog
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)
220 %doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
221
222 %attr(755,root,root) %{_sbindir}/bootlogd
223 %attr(755,root,root) %{_sbindir}/halt
224 %attr(755,root,root) %{_sbindir}/init
225 %attr(755,root,root) %{_sbindir}/poweroff
226 %attr(755,root,root) %{_sbindir}/reboot
227 %attr(755,root,root) %{_sbindir}/runlevel
228 %attr(755,root,root) %{_sbindir}/shutdown
229 %attr(755,root,root) %{_sbindir}/telinit
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit
231 %ghost %{_sysconfdir}/initrunlvl
232 %ghost /var/run/initrunlvl
233 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
234 %attr(640,root,root) %ghost /var/log/btmpx
235 %attr(664,root,utmp) %ghost /var/log/wtmpx
236
237 %{_mandir}/man5/inittab.5*
238 %{_mandir}/man5/initscript.5*
239 %{_mandir}/man8/bootlogd.8*
240 %{_mandir}/man8/halt.8*
241 %{_mandir}/man8/init.8*
242 %{_mandir}/man8/lastlog.8*
243 %{_mandir}/man8/poweroff.8
244 %{_mandir}/man8/reboot.8
245 %{_mandir}/man8/runlevel.8*
246 %{_mandir}/man8/shutdown.8*
247 %{_mandir}/man8/telinit.8
248 %lang(de) %{_mandir}/de/man8/init.8*
249 %lang(de) %{_mandir}/de/man8/telinit.8
250 %lang(es) %{_mandir}/es/man5/initscript.5*
251 %lang(es) %{_mandir}/es/man5/inittab.5*
252 %lang(es) %{_mandir}/es/man8/halt.8*
253 %lang(es) %{_mandir}/es/man8/init.8*
254 %lang(es) %{_mandir}/es/man8/poweroff.8
255 %lang(es) %{_mandir}/es/man8/reboot.8
256 %lang(es) %{_mandir}/es/man8/runlevel.8*
257 %lang(es) %{_mandir}/es/man8/shutdown.8*
258 %lang(es) %{_mandir}/es/man8/telinit.8
259 %lang(fr) %{_mandir}/fr/man8/halt.8*
260 %lang(fr) %{_mandir}/fr/man8/reboot.8
261 %lang(fr) %{_mandir}/fr/man8/runlevel.8*
262 %lang(fr) %{_mandir}/fr/man8/shutdown.8*
263 %lang(hu) %{_mandir}/hu/man5/inittab.5*
264 %lang(hu) %{_mandir}/hu/man8/init.8*
265 %lang(hu) %{_mandir}/hu/man8/shutdown.8*
266 %lang(hu) %{_mandir}/hu/man8/telinit.8
267 %lang(id) %{_mandir}/id/man8/halt.8*
268 %lang(id) %{_mandir}/id/man8/reboot.8
269 %lang(id) %{_mandir}/id/man8/shutdown.8*
270 %lang(it) %{_mandir}/it/man5/initscript.5*
271 %lang(it) %{_mandir}/it/man5/inittab.5*
272 %lang(it) %{_mandir}/it/man8/halt.8*
273 %lang(it) %{_mandir}/it/man8/init.8*
274 %lang(it) %{_mandir}/it/man8/reboot.8
275 %lang(it) %{_mandir}/it/man8/runlevel.8*
276 %lang(it) %{_mandir}/it/man8/shutdown.8*
277 %lang(it) %{_mandir}/it/man8/telinit.8
278 %lang(ja) %{_mandir}/ja/man5/initscript.5*
279 %lang(ja) %{_mandir}/ja/man5/inittab.5*
280 %lang(ja) %{_mandir}/ja/man8/halt.8*
281 %lang(ja) %{_mandir}/ja/man8/init.8*
282 %lang(ja) %{_mandir}/ja/man8/poweroff.8
283 %lang(ja) %{_mandir}/ja/man8/reboot.8
284 %lang(ja) %{_mandir}/ja/man8/runlevel.8*
285 %lang(ja) %{_mandir}/ja/man8/shutdown.8*
286 %lang(ja) %{_mandir}/ja/man8/telinit.8
287 %lang(ko) %{_mandir}/ko/man5/initscript.5*
288 %lang(ko) %{_mandir}/ko/man5/inittab.5*
289 %lang(ko) %{_mandir}/ko/man8/halt.8*
290 %lang(ko) %{_mandir}/ko/man8/init.8*
291 %lang(ko) %{_mandir}/ko/man8/reboot.8
292 %lang(ko) %{_mandir}/ko/man8/runlevel.8*
293 %lang(ko) %{_mandir}/ko/man8/shutdown.8*
294 %lang(ko) %{_mandir}/ko/man8/telinit.8
295 %lang(pl) %{_mandir}/pl/man5/initscript.5*
296 %lang(pl) %{_mandir}/pl/man5/inittab.5*
297 %lang(pl) %{_mandir}/pl/man8/halt.8*
298 %lang(pl) %{_mandir}/pl/man8/init.8*
299 %lang(pl) %{_mandir}/pl/man8/poweroff.8
300 %lang(pl) %{_mandir}/pl/man8/reboot.8
301 %lang(pl) %{_mandir}/pl/man8/runlevel.8*
302 %lang(pl) %{_mandir}/pl/man8/shutdown.8*
303 %lang(pl) %{_mandir}/pl/man8/telinit.8
304
305 # devel?
306 #%{_includedir}/initreq.h
307
308 %files tools
309 %defattr(644,root,root,755)
310 %attr(755,root,root) /bin/pidof
311 %attr(755,root,root) %{_sbindir}/fstab-decode
312 %attr(755,root,root) %{_sbindir}/killall5
313 %attr(755,root,root) %{_sbindir}/lastlog
314 %attr(755,root,root) %{_sbindir}/pidof
315 %attr(755,root,root) %{_bindir}/last
316 %attr(755,root,root) %{_bindir}/lastb
317 %attr(755,root,root) %{_bindir}/mesg
318 %attr(755,root,root) %{_bindir}/utmpx-dump
319 %attr(755,root,root) %{_bindir}/wall
320 %attr(640,root,root) %ghost /var/log/faillog
321 %attr(664,root,utmp) %ghost /var/log/lastlog
322 %{_mandir}/man1/last.1*
323 %{_mandir}/man1/lastb.1*
324 %{_mandir}/man1/mesg.1*
325 %{_mandir}/man1/wall.1*
326 %{_mandir}/man1/utmpx-dump.1*
327 %{_mandir}/man8/killall5.8*
328 %{_mandir}/man8/pidof.8*
329 %{_mandir}/man8/fstab-decode.8*
330 %lang(cs) %{_mandir}/cs/man8/lastlog.8*
331 %lang(es) %{_mandir}/es/man1/last.1*
332 %lang(es) %{_mandir}/es/man1/lastb.1
333 %lang(es) %{_mandir}/es/man1/mesg.1*
334 %lang(es) %{_mandir}/es/man1/wall.1*
335 %lang(es) %{_mandir}/es/man8/killall5.8*
336 %lang(es) %{_mandir}/es/man8/pidof.8*
337 %lang(fi) %{_mandir}/fi/man1/last.1*
338 %lang(fi) %{_mandir}/fi/man1/mesg.1*
339 %lang(fi) %{_mandir}/fi/man1/wall.1*
340 %lang(fr) %{_mandir}/fr/man1/last.1*
341 %lang(fr) %{_mandir}/fr/man1/mesg.1*
342 %lang(fr) %{_mandir}/fr/man1/wall.1*
343 %lang(fr) %{_mandir}/fr/man8/killall5.8*
344 %lang(fr) %{_mandir}/fr/man8/lastlog.8*
345 %lang(fr) %{_mandir}/fr/man8/pidof.8*
346 %lang(hu) %{_mandir}/hu/man1/last.1*
347 %lang(hu) %{_mandir}/hu/man1/mesg.1*
348 %lang(hu) %{_mandir}/hu/man1/wall.1*
349 %lang(hu) %{_mandir}/hu/man8/lastlog.8*
350 %lang(it) %{_mandir}/it/man1/last.1*
351 %lang(it) %{_mandir}/it/man1/lastb.1
352 %lang(it) %{_mandir}/it/man1/mesg.1*
353 %lang(it) %{_mandir}/it/man1/wall.1*
354 %lang(it) %{_mandir}/it/man8/killall5.8*
355 %lang(it) %{_mandir}/it/man8/lastlog.8*
356 %lang(it) %{_mandir}/it/man8/pidof.8*
357 %lang(ja) %{_mandir}/ja/man1/last.1*
358 %lang(ja) %{_mandir}/ja/man1/lastb.1
359 %lang(ja) %{_mandir}/ja/man1/mesg.1*
360 %lang(ja) %{_mandir}/ja/man1/wall.1*
361 %lang(ja) %{_mandir}/ja/man8/killall5.8*
362 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
363 %lang(ja) %{_mandir}/ja/man8/pidof.8*
364 %lang(ko) %{_mandir}/ko/man1/last.1*
365 %lang(ko) %{_mandir}/ko/man1/lastb.1
366 %lang(ko) %{_mandir}/ko/man1/mesg.1*
367 %lang(ko) %{_mandir}/ko/man8/killall5.8*
368 %lang(ko) %{_mandir}/ko/man8/pidof.8*
369 %lang(pl) %{_mandir}/pl/man1/last.1*
370 %lang(pl) %{_mandir}/pl/man1/lastb.1
371 %lang(pl) %{_mandir}/pl/man1/mesg.1*
372 %lang(pl) %{_mandir}/pl/man1/wall.1*
373 %lang(pl) %{_mandir}/pl/man8/killall5.8*
374 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
375 %lang(pl) %{_mandir}/pl/man8/pidof.8*
376 %lang(ru) %{_mandir}/ru/man8/lastlog.8*
377 %lang(sv) %{_mandir}/sv/man8/lastlog.8*
This page took 0.0858 seconds and 3 git commands to generate.