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