]> git.pld-linux.org Git - packages/SysVinit.git/blob - SysVinit.spec
- rel 25; O: upstart-SysVinit directly
[packages/SysVinit.git] / SysVinit.spec
1 #
2 # Conditional build:
3 %bcond_with     preconfigured
4 %bcond_without  selinux         # build without SELinux support
5 #
6 Summary:        System V initialization program
7 Summary(de.UTF-8):      System V-Intialisierungsprogramm
8 Summary(es.UTF-8):      Programa de inicialización System V
9 Summary(fr.UTF-8):      Programme d'initialisation Sys V
10 Summary(pl.UTF-8):      Program inicjalizujący w Systemie V
11 Summary(pt_BR.UTF-8):   Programa de inicialização System V
12 Summary(ru.UTF-8):      Программы, управляющие базовыми системными процессами
13 Summary(tr.UTF-8):      System V başlatma programı
14 Summary(uk.UTF-8):      Програми, що керують базовими системними процесами
15 Name:           SysVinit
16 Version:        2.86
17 Release:        25
18 License:        GPL
19 Group:          Base
20 Source0:        ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
21 # Source0-md5:  7d5d61c026122ab791ac04c8a84db967
22 Source1:        sysvinit.logrotate
23 Source2:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
24 # Source2-md5:  9ae8a63a4685368fae19707f95475cca
25 Patch0:         sysvinit-paths.patch
26 Patch1:         sysvinit-bequiet.patch
27 Patch2:         sysvinit-md5-bigendian.patch
28 Patch3:         sysvinit-wtmp.patch
29 Patch4:         sysvinit-man.patch
30 Patch5:         sysvinit-halt.patch
31 Patch6:         sysvinit-blowfish.patch
32 Patch7:         sysvinit-autofsck.patch
33 Patch8:         sysvinit-pidof.patch
34 Patch9:         sysvinit-killall5.patch
35 Patch10:        sysvinit-selinux.patch
36 Patch11:        sysvinit-nopowerstates-single.patch
37 Patch12:        sysvinit-lastlog.patch
38 Patch13:        sysvinit-alt-fixes.patch
39 Patch14:        sysvinit-chroot.patch
40 Patch15:        sysvinit-console-open.patch
41 Patch16:        sysvinit-godot.patch
42 Patch17:        sysvinit-haltname.patch
43 Patch18:        sysvinit-ipv6.patch
44 Patch19:        sysvinit-maxproclen.patch
45 Patch20:        sysvinit-quiet.patch
46 Patch21:        sysvinit-timeval.patch
47 Patch22:        sysvinit-no-abort.patch
48 Patch23:        sysvinit-rebootconfirmation.patch
49 %if %{with selinux}
50 BuildRequires:  libselinux-devel >= 1.28
51 BuildRequires:  libsepol-devel
52 %endif
53 BuildRequires:  rpmbuild(macros) >= 1.202
54 Requires(post): fileutils
55 Requires(postun):       /usr/sbin/groupdel
56 Requires(pre):  /usr/bin/getgid
57 Requires(pre):  /usr/sbin/groupadd
58 Requires:       /bin/awk
59 %{?with_selinux:Requires:       libselinux >= 1.18}
60 Requires:       login
61 Requires:       mingetty
62 Provides:       group(utmp)
63 Provides:       virtual(init-daemon)
64 Obsoletes:      virtual(init-daemon)
65 Obsoletes:      vserver-SysVinit
66 Obsoletes:      upstart-SysVinit
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         _sbindir        /sbin
70 # as in original flags
71 %define         specflags       -fomit-frame-pointer
72
73 %description
74 The SysVinit package contains a group of processes that control the
75 very basic functions of your system. SysVinit includes the init
76 program, the first program started by the Linux kernel when the system
77 boots. Init then controls the startup, running and shutdown of all
78 other programs.
79
80 %description -l de.UTF-8
81 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
82 gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
83 anderen Programme.
84
85 %description -l es.UTF-8
86 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
87 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
88 los otros programas.
89
90 %description -l fr.UTF-8
91 SysVinit est le premier programme exécuté par le noyau de Linux
92 lorsque le système démarre, il contrôle le lancement, l'exécution et
93 l'arrêt de tous les autres programmes.
94
95 %description -l pl.UTF-8
96 SysVinit jest pierwszym programem uruchamianym przez jądro podczas
97 startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
98 innych programów.
99
100 %description -l pt_BR.UTF-8
101 SysVinit é o primeiro programa executado pelo kernel Linux quando o
102 sistema é inicializado. Controla inicialização, funcionamento e
103 finalização de todos os outros programas.
104
105 %description -l ru.UTF-8
106 Пакет SysVinit содержит группу процессов, которые управляют самыми
107 базовыми функциями вашей системы. SysVinit включает программу init,
108 самую первую программу, которая запускается ядром Linux при загрузке
109 системы. После этого init управляет запуском, исполнением и остановом
110 всех остальных программ.
111
112 %description -l tr.UTF-8
113 SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk
114 programdır. Diğer programların başlamalarını, çalışmalarını ve
115 sonlanmalarını sağlar/denetler.
116
117 %description -l uk.UTF-8
118 Пакет SysVinit містить групу процесів, котрі керують самими базовими
119 функціями вашої системи. SysVinit містить програму init, першу
120 програму, яку запускає ядро Linux під час загрузки системи. Після
121 цього init керує запуском, виконанням та зупинкою всіх інших програм.
122
123 %prep
124 %setup -q -n sysvinit-%{version}
125 %patch0 -p1
126 %patch1 -p1
127 %patch2 -p1
128 %patch3 -p1
129 %patch4 -p1
130 %patch5 -p1
131 %patch6 -p1
132 %patch7 -p1
133 %patch8 -p1
134 %patch9 -p1
135 %{?with_selinux:%patch10 -p1}
136 %patch11 -p1
137 %patch12 -p1
138 %patch13 -p1
139 %patch14 -p1
140 %patch15 -p1
141 %patch16 -p1
142 %patch17 -p1
143 %patch18 -p1
144 %patch19 -p1
145 %patch20 -p1
146 %patch21 -p1
147 %patch22 -p1
148 %patch23 -p0
149
150 %build
151 %{__make} -C src \
152         CC="%{__cc}" \
153         LCRYPT="-lcrypt" \
154         OPTIMIZE="%{rpmcflags}" \
155         LDFLAGS="%{rpmldflags}"
156
157 %install
158 rm -rf $RPM_BUILD_ROOT
159 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
160         $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
161
162 %{__make} install -C src \
163         ROOT=$RPM_BUILD_ROOT \
164         BIN_OWNER=`id -u` \
165         BIN_GROUP=`id -g`
166
167 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
168
169 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
170 ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
171
172 > $RPM_BUILD_ROOT/var/run/initrunlvl
173 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
174 > $RPM_BUILD_ROOT/var/log/faillog
175 > $RPM_BUILD_ROOT/var/log/lastlog
176 > $RPM_BUILD_ROOT/var/log/wtmpx
177 > $RPM_BUILD_ROOT/var/log/btmpx
178
179 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
180 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
181 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
182 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
183 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
184 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
185 rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
186
187 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
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/{{fail,last}log,btmpx}
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/faillog
202 chmod 664 /var/log/lastlog
203 chmod 640 /var/log/btmpx
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 doc/{Propaganda,Changelog,*.lsm} src/initscript.sample
221
222 %attr(755,root,root) /bin/mountpoint
223 %attr(755,root,root) /bin/pidof
224 %attr(755,root,root) %{_sbindir}/*
225 %attr(755,root,root) %{_bindir}/last
226 %attr(755,root,root) %{_bindir}/lastb
227 %attr(755,root,root) %{_bindir}/mesg
228 %attr(755,root,root) %{_bindir}/utmpx-dump
229 %attr(2755,root,tty) %{_bindir}/wall
230
231 %attr(640,root,root) /etc/logrotate.d/sysvinit
232 %ghost %{_sysconfdir}/initrunlvl
233 %ghost /var/run/initrunlvl
234 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
235 %attr(640,root,root) %ghost /var/log/faillog
236 %attr(664,root,utmp) %ghost /var/log/lastlog
237 %attr(664,root,utmp) %ghost /var/log/wtmpx
238 %attr(640,root,root) %ghost /var/log/btmpx
239
240 %{_mandir}/man[158]/*
241 %lang(cs) %{_mandir}/cs/man[158]/*
242 %lang(de) %{_mandir}/de/man[158]/*
243 %lang(es) %{_mandir}/es/man[158]/*
244 %lang(fi) %{_mandir}/fi/man[158]/*
245 %lang(fr) %{_mandir}/fr/man[158]/*
246 %lang(hu) %{_mandir}/hu/man[158]/*
247 %lang(id) %{_mandir}/id/man[158]/*
248 %lang(it) %{_mandir}/it/man[158]/*
249 %lang(ja) %{_mandir}/ja/man[158]/*
250 %lang(ko) %{_mandir}/ko/man[158]/*
251 %lang(pl) %{_mandir}/pl/man[158]/*
252 %lang(ru) %{_mandir}/ru/man[158]/*
253 %lang(sv) %{_mandir}/sv/man[158]/*
254
255 # devel?
256 #%{_includedir}/initreq.h
This page took 0.070728 seconds and 4 git commands to generate.