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