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