]> git.pld-linux.org Git - packages/SysVinit.git/blob - SysVinit.spec
d28c966f8b3733e8bb0496589d25520093036a66
[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:        10.1
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 %if %{with selinux}
40 BuildRequires:  libselinux-devel >= 1.28
41 %endif
42 BuildRequires:  rpmbuild(macros) >= 1.202
43 Requires(post): fileutils
44 Requires(postun):       /usr/sbin/groupdel
45 Requires(pre):  /usr/bin/getgid
46 Requires(pre):  /usr/sbin/groupadd
47 Requires:       /bin/awk
48 Requires:       login
49 %if %{with preconfigured}
50 Requires:       logrotate
51 %endif
52 %{?with_selinux:Requires:       libselinux >= 1.18}
53 Requires:       mingetty
54 Provides:       group(utmp)
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 %prep
113 %setup -q -n sysvinit-%{version}
114 %patch0 -p1
115 %patch1 -p1
116 %patch2 -p1
117 %patch3 -p1
118 %patch4 -p1
119 %patch5 -p1
120 %patch6 -p1
121 %patch7 -p1
122 %patch8 -p1
123 %patch9 -p1
124 %{?with_selinux:%patch10 -p1}
125 %patch11 -p1
126 %patch12 -p1
127 %patch13 -p1
128
129 %build
130 %{__make} -C src \
131         CC="%{__cc}" \
132         LCRYPT="-lcrypt" \
133         OPTIMIZE="%{rpmcflags}" \
134         LDFLAGS="%{rpmldflags}"
135
136 %install
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
139         $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/{log,run}}
140
141 %{__make} install -C src \
142         ROOT=$RPM_BUILD_ROOT \
143         BIN_OWNER=`id -u` \
144         BIN_GROUP=`id -g`
145
146 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
147
148 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
149 ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
150
151 > $RPM_BUILD_ROOT/var/run/initrunlvl
152 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
153 > $RPM_BUILD_ROOT/var/log/faillog
154 > $RPM_BUILD_ROOT/var/log/lastlog
155 > $RPM_BUILD_ROOT/var/log/wtmpx
156 > $RPM_BUILD_ROOT/var/log/btmpx
157
158 echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
159 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
160 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
161 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
162 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
163 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
164 rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
165
166 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
167
168 %clean
169 rm -rf $RPM_BUILD_ROOT
170
171 %pre
172 %groupadd -g 22 utmp
173
174 %post
175 touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
176 chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
177 chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
178 chown root:utmp /var/log/lastlog
179 chmod 600 %{_sysconfdir}/ioctl.save
180 chmod 640 /var/log/faillog
181 chmod 660 /var/log/lastlog
182 chmod 640 /var/log/btmpx
183 %{_sbindir}/telinit u || :
184
185 %triggerpostun -- glibc
186 %{_sbindir}/telinit u || :
187
188 %postun
189 if [ "$1" = "0" ]; then
190         %groupremove utmp
191 fi
192
193 %files
194 %defattr(644,root,root,755)
195 %doc doc/{Propaganda,Changelog,*.lsm}
196
197 %attr(755,root,root) /bin/mountpoint
198 %attr(755,root,root) %{_sbindir}/*
199 %attr(755,root,root) %{_bindir}/last
200 %attr(755,root,root) %{_bindir}/lastb
201 %attr(755,root,root) %{_bindir}/mesg
202 %attr(755,root,root) %{_bindir}/utmpx-dump
203 %attr(2755,root,tty) %{_bindir}/wall
204
205 %attr(640,root,root) /etc/logrotate.d/sysvinit
206 %ghost %{_sysconfdir}/initrunlvl
207 %ghost /var/run/initrunlvl
208 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
209 %attr(640,root,root) %ghost /var/log/faillog
210 %attr(660,root,utmp) %ghost /var/log/lastlog
211 %attr(664,root,utmp) %ghost /var/log/wtmpx
212 %attr(640,root,root) %ghost /var/log/btmpx
213
214 %{_mandir}/man[158]/*
215 %lang(cs) %{_mandir}/cs/man[158]/*
216 %lang(de) %{_mandir}/de/man[158]/*
217 %lang(es) %{_mandir}/es/man[158]/*
218 %lang(fi) %{_mandir}/fi/man[158]/*
219 %lang(fr) %{_mandir}/fr/man[158]/*
220 %lang(hu) %{_mandir}/hu/man[158]/*
221 %lang(id) %{_mandir}/id/man[158]/*
222 %lang(it) %{_mandir}/it/man[158]/*
223 %lang(ja) %{_mandir}/ja/man[158]/*
224 %lang(ko) %{_mandir}/ko/man[158]/*
225 %lang(pl) %{_mandir}/pl/man[158]/*
226 %lang(ru) %{_mandir}/ru/man[158]/*
227 %lang(sv) %{_mandir}/sv/man[158]/*
228
229 # devel?
230 #%{_includedir}/initreq.h
This page took 0.068686 seconds and 2 git commands to generate.