]> git.pld-linux.org Git - packages/util-vserver.git/blob - util-vserver.spec
- some include deps problems
[packages/util-vserver.git] / util-vserver.spec
1 # TODO
2 # - make build create /dev/std{in,out,err} links
3 # - reject install in %%pretrans if /proc/virtual/info has incompatible version
4 # - unpackaged
5 #   /etc/rc.d/init.d/util-vserver -- # integrate to our initscript (util-vserver sets the path to vshelper and kills all guest processes)
6 # - move to main pkg:
7 #  vserver initng delete
8 #  /usr/lib64/util-vserver/vserver.delete: line 19: /usr/lib64/util-vserver/vserver-build.functions: No such file or directory
9 #  /usr/lib64/util-vserver/vserver.delete: line 20: /usr/lib64/util-vserver/vserver-build.functions.pkgmgmt: No such file or directory
10 #  or move the delete func to -build
11 #
12 # m68k and mips are the only not supported archs
13 #
14 # Conditional build:
15 %bcond_without  dietlibc                # don't use dietlibc (ask for troubles)
16 %bcond_without  doc                     # don't build documentation which needed LaTeX
17 %bcond_without  no_dynamic_context      # disable enforcement of disabled dynamic context
18 %bcond_with     xalan                   # use the xalan xslt processor
19 #
20 %define _vproc_version 0.01
21 # diet compile fails with ccache in %{__cc}
22 %undefine       with_ccache
23 #
24 Summary:        Linux virtual server utilities
25 Summary(pl.UTF-8):      Narzędzia dla linuksowych serwerów wirtualnych
26 Name:           util-vserver
27 Version:        0.30.215
28 Release:        9
29 License:        GPL
30 Group:          Applications/System
31 Source0:        http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2
32 # Source0-md5:  befd9b8e5311e87395b67ee381d83649
33 Source1:        vprocunhide.init
34 Source2:        vservers.init
35 Source3:        vservers-legacy.init
36 Source4:        rebootmgr.init
37 Source5:        vservers.sysconfig
38 Source6:        vservers-legacy.sysconfig
39 Source7:        vrootdevices.init
40 Source8:        vrootdevices.sysconfig
41 # A bit of documentation explaining package management
42 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
43 Source9:        %{name}-pkgmgmt.txt
44 Source10:       %{name}-initpost.sh
45 Source11:       http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{_vproc_version}.tar.bz2
46 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
47 Source12:       %{name}-vhashify.cron
48 Source13:       ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
49 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
50 Source14:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
51 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
52 Patch0:         %{name}-vsysvwrapper.patch
53 Patch1:         %{name}-pld.patch
54 Patch4:         %{name}-m4-diet.patch
55 Patch5:         %{name}-yum-verb-nogpg.patch
56 Patch6:         %{name}-build-umask.patch
57 Patch7:         %{name}-utmpx.patch
58 Patch8:         %{name}-vprocunhide.patch
59 Patch9:         %{name}-dev.patch
60 Patch10:        %{name}-no-dynamic-ctx.patch
61 Patch11:        %{name}-more-ip.patch
62 Patch12:        %{name}-rpm-fake-resolver-badperm-errorlogging.patch
63 Patch13:        %{name}-tmpdir.patch
64 Patch14:        %{name}-rpmpath.patch
65 Patch15:        %{name}-interfaces-ignore-cvs-dir.patch
66 Patch16:        %{name}-personalitymachine.patch
67 Patch17:        %{name}-backupfiles.patch
68 Patch18:        %{name}-trunk_fixes.patch
69 Patch19:        %{name}-vprocunhide-net.patch
70 Patch20:        %{name}-more-caps.patch
71 URL:            http://savannah.nongnu.org/projects/util-vserver/
72 BuildRequires:  autoconf
73 BuildRequires:  automake >= 1.9
74 BuildRequires:  beecrypt-devel
75 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29}
76 BuildRequires:  e2fsprogs-devel
77 BuildRequires:  libstdc++-devel
78 BuildRequires:  libtool >= 1.5.14
79 %ifarch %{x8664}
80 BuildRequires:  sed >= 4.0
81 %endif
82 BuildRequires:  rpmbuild(macros) >= 1.268
83 %if %{with doc}
84 BuildRequires:  doxygen
85 BuildRequires:  graphviz
86 BuildRequires:  libxslt-progs
87 BuildRequires:  tetex-format-pdflatex
88 BuildRequires:  tetex-makeindex
89 # To be removed when tetex-format-pdflatex, tetex-pdftex...
90 # ...and graphviz packages get fixed
91 BuildRequires:  ghostscript
92 BuildRequires:  ghostscript-fonts-std
93 BuildRequires:  tetex-fonts-jknappen
94 BuildRequires:  tetex-metafont
95 %{?with_xalan:BuildRequires:    xalan-j}
96 %endif
97 Requires(post,preun):   /sbin/chkconfig
98 Requires:       %{name}-lib = %{version}-%{release}
99 Requires:       diffutils
100 Requires:       issue
101 Requires:       mktemp >= 1.5-18
102 Requires:       rc-scripts
103 Requires:       tar
104 Requires:       util-linux
105 Obsoletes:      util-vserver-core
106 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
107
108 %if %{with dietlibc}
109 # binaries created with this option have broken segments when using dietlibc
110 %define filterout_ld    -Wl,-z,relro
111 %endif
112
113 # for adapter
114 %define         _usrbin         /usr/bin
115 %define         _usrsbin        /usr/sbin
116 %define         _usrlib         /usr/lib
117
118 %description
119 This package provides the components and a framework to setup virtual
120 servers. A virtual server runs inside a Linux server. It is
121 nevertheless highly independent. As such, you can run various services
122 with normal configuration. The various vservers can't interact with
123 each other and can't interact with services in the main server.
124
125 This requires a special kernel supporting the new new_s_context and
126 set_ipv4root system call.
127
128 This package contains utilities which are required to communicate with
129 the Linux-Vserver enabled kernel.
130
131 %description -l pl.UTF-8
132 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
133 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
134 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
135 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
136 w interakcję z innymi ani z usługami na głównym serwerze.
137
138 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
139 new_s_context i set_ipv4root.
140
141 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
142 włączonym mechanizmem Linux-Vserver.
143
144 %package lib
145 Summary:        Dynamic libraries for util-vserver
146 Summary(pl.UTF-8):      Biblioteki dynamiczne dla pakietu util-vserver
147 Group:          Libraries
148
149 %description lib
150 util-vserver provides the components and a framework to setup virtual
151 servers. A virtual server runs inside a linux server. It is
152 nevertheless highly independent. As such, you can run various services
153 pith normal configuration. The various vservers can't interact with
154 each other and can't interact with services in the main server.
155
156 This package contains the shared libraries needed by all other
157 'util-vserver' subpackages.
158
159 %description lib -l pl.UTF-8
160 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
161 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
162 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
163 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
164 w interakcję z innymi ani z usługami na głównym serwerze.
165
166 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
167 podpakiety util-vserver.
168
169 %package devel
170 Summary:        Development files for Linux vserver libraries
171 Summary(pl.UTF-8):      Pliki programistyczne dla bibliotek linuksowego vserwera
172 Group:          Development/Libraries
173 Requires:       %{name}-lib = %{version}-%{release}
174
175 %description devel
176 This package contains the development files necessary for developing
177 programs which use vserver library.
178
179 %description devel -l pl.UTF-8
180 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
181 programów używających biblioteki vserver.
182
183 %package static
184 Summary:        Static vserver library
185 Summary(pl.UTF-8):      Biblioteka statyczna vservera
186 Group:          Development/Libraries
187 Requires:       %{name}-devel = %{version}-%{release}
188
189 %description static
190 This package contains the static version of vserver library.
191
192 %description static -l pl.UTF-8
193 Ten pakiet zawiera statyczną wersję biblioteki vservera.
194
195 %package build
196 Summary:        Tools which can be used to build vservers
197 Summary(pl.UTF-8):      Narzędzia do budowania vserverów
198 Group:          Applications/System
199 Requires:       %{name} = %{version}-%{release}
200 Requires:       vserver-distro-pld = %{version}-%{release}
201 Conflicts:      poldek < 0.18.8-10
202
203 %description build
204 util-vserver provides the components and a framework to setup virtual
205 servers. A virtual server runs inside a linux server. It is
206 nevertheless highly independent. As such, you can run various services
207 with normal configuration. The various vservers can't interact with
208 each other and can't interact with services in the main server.
209
210 This package contains utilities which assist in building Vservers.
211
212 %description build -l pl.UTF-8
213 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
214 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
215 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
216 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
217 w interakcję z innymi ani z usługami na głównym serwerze.
218
219 Ten pakiet zawiera narzędzia pomagające przy budowaniu Vserwerów.
220
221 %package init
222 Summary:        initscripts for vserver
223 Summary(pl.UTF-8):      Skrypty inicjalizujące dla vserwera
224 Group:          Applications/System
225 Requires(post,preun):   /sbin/chkconfig
226 Requires:       %{name} = %{version}-%{release}
227 Requires:       diffutils
228 Requires:       make
229 Requires:       rc-scripts
230
231 %description init
232 util-vserver provides the components and a framework to setup virtual
233 servers. A virtual server runs inside a linux server. It is
234 nevertheless highly independent. As such, you can run various services
235 with normal configuration. The various vservers can't interact with
236 each other and can't interact with services in the main server.
237
238 This package contains the SysV initscripts which start and stop
239 Vservers and related tools.
240
241 %description init -l pl.UTF-8
242 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
243 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
244 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
245 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
246 w interakcję z innymi ani z usługami na głównym serwerze.
247
248 Ten pakiet zawiera skrypty inicjalizujące SysV uruchamiające i
249 zatrzymujące Vserwery oraz powiązane narzędzia.
250
251 %package legacy
252 Summary:        Legacy utilities for util-vserver
253 Summary(pl.UTF-8):      Stare narzędzia dla util-vserver
254 Group:          Applications/System
255 Requires(post,preun):   /sbin/chkconfig
256 Requires:       %{name} = %{version}-%{release}
257 Requires:       rc-scripts
258
259 %description legacy
260 util-vserver provides the components and a framework to setup virtual
261 servers. A virtual server runs inside a linux server. It is
262 nevertheless highly independent. As such, you can run various services
263 with normal configuration. The various vservers can't interact with
264 each other and can't interact with services in the main server.
265
266 This package contains the tools which are needed to work with Vservers
267 having an old-style configuration.
268
269 %description legacy -l pl.UTF-8
270 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
271 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
272 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
273 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
274 w interakcję z innymi ani z usługami na głównym serwerze.
275
276 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
277 konfigurację w starym stylu.
278
279 %package -n vserver-distro-alpine
280 Summary:        VServer build template for Alpine Linux
281 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji Alpine Linux
282 Group:          Applications/System
283 Requires:       %{name}-build = %{version}-%{release}
284
285 %description -n vserver-distro-alpine
286 VServer build template for Alpine Linux.
287
288 %description -n vserver-distro-alpine -l pl.UTF-8
289 Szablon budowania VServerów dla dystrybucji Alpine Linux.
290
291 %package -n vserver-distro-centos
292 Summary:        VServer build template for CentOS
293 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji CentOS
294 Group:          Applications/System
295 Requires:       %{name}-build = %{version}-%{release}
296 Requires:       yum
297
298 %description -n vserver-distro-centos
299 VServer build template for CentOS 4.2 and 5.
300
301 %description -n vserver-distro-centos -l pl.UTF-8
302 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
303
304 %package -n vserver-distro-debian
305 Summary:        VServer build templates for Debian
306 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Debian
307 Group:          Applications/System
308 Requires:       %{name}-build = %{version}-%{release}
309 Requires:       dpkg
310
311 %description -n vserver-distro-debian
312 VServer build templates for Debian.
313
314 %description -n vserver-distro-debian -l pl.UTF-8
315 Szablony do tworzenia VServerów dla dystrybucji Debian.
316
317 %package -n vserver-distro-fedora
318 Summary:        VServer build templates for Fedora
319 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Fedora
320 Group:          Applications/System
321 Requires:       %{name}-build = %{version}-%{release}
322 Requires:       binutils
323 Requires:       e2fsprogs
324 Requires:       rpm
325 Requires:       wget
326 Requires:       yum
327
328 %description -n vserver-distro-fedora
329 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
330
331 %description -n vserver-distro-fedora -l pl.UTF-8
332 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
333 1,2,3,4,5,6 oraz Fedora 7.
334
335 %package -n vserver-distro-gentoo
336 Summary:        VServer build template for Gentoo
337 Summary(pl.UTF-8):      Szablon budowania VServerów dla Gentoo
338 Group:          Applications/System
339 Requires:       %{name}-build = %{version}-%{release}
340
341 %description -n vserver-distro-gentoo
342 VServer build template for Gentoo.
343
344 %description -n vserver-distro-gentoo -l pl.UTF-8
345 Szablon budowania VServerów dla Gentoo.
346
347 %package -n vserver-distro-pld
348 Summary:        VServer build templates for PLD Linux
349 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji PLD Linux
350 Group:          Applications/System
351 Requires:       %{name}-build = %{version}-%{release}
352 Requires:       /etc/pld-release
353 Requires:       poldek >= 0.30
354
355 %description -n vserver-distro-pld
356 VServer build templates for PLD Linux.
357
358 %description -n vserver-distro-pld -l pl.UTF-8
359 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
360
361 %package -n vserver-distro-redhat
362 Summary:        VServer build template for Red Hat Linux 9
363 Summary(pl.UTF-8):      Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
364 Group:          Applications/System
365 Requires:       %{name}-build = %{version}-%{release}
366 Requires:       binutils
367 Requires:       e2fsprogs
368 Requires:       rpm
369 Requires:       wget
370
371 %description -n vserver-distro-redhat
372 VServer build template for RedHat Linux 9.
373
374 %description -n vserver-distro-redhat -l pl.UTF-8
375 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
376
377 %package -n vserver-distro-suse
378 Summary:        VServer build template for SuSE 9.1
379 Summary(pl.UTF-8):      Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
380 Group:          Applications/System
381 Requires:       %{name}-build = %{version}-%{release}
382 Requires:       binutils
383 Requires:       e2fsprogs
384 Requires:       rpm
385 Requires:       wget
386
387 %description -n vserver-distro-suse
388 VServer build template for SuSE Linux 9.1.
389
390 %description -n vserver-distro-suse -l pl.UTF-8
391 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
392
393 %package -n vserver-distro-ubuntu
394 Summary:        VServer build templates for Ubuntu
395 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Ubuntu
396 Group:          Applications/System
397 Requires:       %{name}-build = %{version}-%{release}
398 Requires:       dpkg
399
400 %description -n vserver-distro-ubuntu
401 VServer build templates for Ubuntu.
402
403 %description -n vserver-distro-ubuntu -l pl.UTF-8
404 Szablony do tworzenia VServerów dla dystrybucji Ubuntu.
405
406 %prep
407 %setup -q -a11
408 %patch0 -p1
409 %patch1 -p1
410 %patch4 -p1
411 %patch5 -p1
412 %patch6 -p1
413 %patch7 -p1
414 %patch8 -p1
415 %patch9 -p1
416 %{?with_no_dynamic_context:%patch10 -p1}
417 %patch11 -p1
418 %patch12 -p1
419 %patch13 -p1
420 %patch14 -p1
421 %patch15 -p1
422 %patch16 -p1
423 %patch17 -p1
424 %patch18 -p1
425 %patch19 -p1
426 %patch20 -p1
427
428 install %{SOURCE9} package-management.txt
429
430 %build
431 unset LD_SYMBOLIC_FUNCTIONS || :
432
433 %if %{with dietlibc}
434 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
435 %endif
436 %{__libtoolize}
437 %{__aclocal} -I m4
438 %{__automake}
439 %{__autoconf}
440 %configure \
441         --with-initrddir=/etc/rc.d/init.d \
442         --enable-release \
443         --enable-apis=NOLEGACY \
444         --with-initscripts=sysv \
445         --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
446         MKTEMP=/bin/mktemp \
447         MOUNT=/bin/mount \
448         PS=/bin/ps \
449         UMOUNT=/bin/umount \
450         IP=/sbin/ip \
451         IPTABLES=%{_usrsbin}/iptables \
452         MODPROBE=/sbin/modprobe \
453         NAMEIF=/sbin/nameif \
454         RMMOD=/sbin/rmmod \
455         VCONFIG=/sbin/vconfig \
456         WGET=%{_usrbin}/wget \
457
458 %{__make} all
459 %{?with_doc:%{__make} doc}
460
461 %{__make} -C vproc-%{_vproc_version} \
462         CC="%{__cc}" \
463         CFLAGS="%{rpmcflags}"
464
465 %install
466 rm -rf $RPM_BUILD_ROOT
467 install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d,cron.d},/dev/pts} \
468         $RPM_BUILD_ROOT{%{_sysconfdir}/vservices,/vservers/.pkg}
469
470 %{__make} -j1 install install-distribution \
471         DESTDIR=$RPM_BUILD_ROOT
472
473 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
474
475 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
476         s=`basename $i | sed s/v_//`
477         cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
478 # IP addresses/interfaces to bound $s service to
479 #IP=10.0.0.1
480 #IP=eth0
481 EOF
482 done
483
484 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
485         $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
486 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
487         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
488 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
489         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
490 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
491         $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
492 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
493         $RPM_BUILD_ROOT/etc/sysconfig/vservers
494
495 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
496
497 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
498 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
499 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
500 install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
501 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
502 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
503 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
504 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost
505 %endif
506 install vproc-%{_vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
507 install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
508
509 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
510 02 2 * * 0      root    %{_libdir}/%{name}/vhashify.cron
511 EOF
512
513 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
514 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
515
516 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
517 cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
518
519 # set arch for pld-ac in pld.conf
520 %ifarch i586 i686 ppc sparc alpha athlon
521 %define         _ftp_arch       %{_target_cpu}
522 %endif
523 %ifarch %{x8664}
524 %define         _ftp_arch       amd64
525 %endif
526 %ifarch i486
527 %define         _ftp_arch       i386
528 %endif
529 %ifarch pentium2 pentium3 pentium4
530 %define         _ftp_arch       i686
531 %endif
532 %ifarch sparcv9 sparc64
533 %define         _ftp_arch       sparc
534 %endif
535 %{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
536
537 # set arch for pld-th in pld.conf
538 %ifarch i486 i686 ppc sparc alpha athlon
539 %define         _ftp_arch       %{_target_cpu}
540 %endif
541 %ifarch %{x8664}
542 %define         _ftp_arch       x86_64
543 %endif
544 %ifarch i586
545 %define         _ftp_arch       i486
546 %endif
547 %ifarch pentium2 pentium3 pentium4
548 %define         _ftp_arch       i686
549 %endif
550 %ifarch sparcv9 sparc64
551 %define         _ftp_arch       sparc
552 %endif
553 %{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
554
555 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
556 # set arch for pld-ti in pld.conf
557 %ifarch i586 i686
558 %define         _ftp_arch       %{_target_cpu}
559 %endif
560 %ifarch %{x8664}
561 %define         _ftp_arch       x86_64
562 %endif
563 %ifarch athlon pentium2 pentium3 pentium4
564 %define         _ftp_arch       i686
565 %endif
566 %{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf
567 %endif
568
569 cat <<'EOF' > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/defaults/rpm/platform
570 # first platform file entry can't contain regexps
571 %{_target_cpu}-%{_target_vendor}-linux
572
573 # x86_64 things
574 %ifarch x86_64
575 amd64-[^-]*-linux(-gnu)?
576 x86_64-[^-]*-linux(-gnu)?
577 %endif
578 %ifarch amd64
579 amd64-[^-]*-linux(-gnu)?
580 x86_64-[^-]*-linux(-gnu)?
581 %endif
582 %ifarch ia32e
583 ia32e-[^-]*-linux(-gnu)?
584 x86_64-[^-]*-linux(-gnu)?
585 %endif
586
587 # x86 things
588 %ifarch athlon %{x8664}
589 athlon-[^-]*-linux(-gnu)?
590 %endif
591 %ifarch pentium4 athlon %{x8664}
592 pentium4-[^-]*-linux(-gnu)?
593 %endif
594 %ifarch pentium3 pentium4 athlon %{x8664}
595 pentium3-[^-]*-linux(-gnu)?
596 %endif
597 %ifarch i686 pentium3 pentium4 athlon %{x8664}
598 i686-[^-]*-linux(-gnu)?
599 %endif
600 %ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
601 i586-[^-]*-linux(-gnu)?
602 %endif
603 %ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
604 i486-[^-]*-linux(-gnu)?
605 %endif
606 %ifarch %{ix86} %{x8664}
607 i386-[^-]*-linux(-gnu)?
608 %endif
609
610 %ifarch alpha
611 alpha-[^-]*-linux(-gnu)?
612 %endif
613
614 %ifarch ia64
615 ia64-[^-]*-linux(-gnu)?
616 %endif
617
618 %ifarch ppc64
619 powerpc64-[^-]*-linux(-gnu)?
620 ppc64-[^-]*-linux(-gnu)?
621 %endif
622 %ifarch ppc ppc64
623 powerpc-[^-]*-linux(-gnu)?
624 ppc-[^-]*-linux(-gnu)?
625 %endif
626
627 %ifarch s390x
628 s390x-[^-]*-linux(-gnu)?
629 %endif
630 %ifarch s390 s390x
631 s390-[^-]*-linux(-gnu)?
632 %endif
633
634 %ifarch sparc64
635 sparc64-[^-]*-linux(-gnu)?
636 sparcv8-[^-]*-linux(-gnu)?
637 sparcv9-[^-]*-linux(-gnu)?
638 %endif
639 %ifarch sparcv9
640 sparcv8-[^-]*-linux(-gnu)?
641 sparcv9-[^-]*-linux(-gnu)?
642 %endif
643 %ifarch sparc sparcv9 sparc64
644 sparc-[^-]*-linux(-gnu)?
645 %endif
646
647 # noarch
648 noarch-[^-]*-.*
649 EOF
650
651 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
652
653 # we have our own initscript which does the same
654 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
655 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
656 rm -rf $RPM_BUILD_ROOT/dev
657 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
658 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
659 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
660
661 %clean
662 rm -rf $RPM_BUILD_ROOT
663
664 %post
665 %{_sbindir}/setattr --barrier /vservers || :
666
667 %post   lib -p /sbin/ldconfig
668 %postun lib -p /sbin/ldconfig
669
670 %post init
671 /sbin/chkconfig --add vrootdevices
672 /sbin/chkconfig --add vprocunhide
673 /sbin/chkconfig --add vservers
674 if [ ! -f /var/lock/subsys/vrootdevices ]; then
675         echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
676 fi
677 if [ ! -f /var/lock/subsys/vprocunhide ]; then
678         echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
679 fi
680 if [ ! -f /var/lock/subsys/vservers ]; then
681         echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
682 fi
683
684 %preun init
685 if [ "$1" = "0" ]; then
686         %service vservers stop
687         %service vprocunhide stop
688         %service vrootdevices stop
689         /sbin/chkconfig --del vservers
690         /sbin/chkconfig --del vprocunhide
691         /sbin/chkconfig --del vrootdevices
692 fi
693
694 %post legacy
695 /sbin/chkconfig --add rebootmgr
696 /sbin/chkconfig --add vservers-legacy
697 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
698         echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
699 fi
700 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
701         echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
702 fi
703
704 %preun legacy
705 if [ "$1" = "0" ]; then
706         %service rebootmgr stop
707         %service vservers-legacy stop
708         /sbin/chkconfig --del rebootmgr
709         /sbin/chkconfig --del vservers-legacy
710 fi
711
712 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
713 for D in ac th ti; do
714         P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
715
716         if [ -f $P/pld-source.conf.rpmsave ]; then
717                 cp -f $P/repos.d/pld.conf{,.rpmnew}
718                 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
719         fi
720 done
721 exit 0
722
723 %files
724 %defattr(644,root,root,755)
725 %doc AUTHORS ChangeLog NEWS THANKS doc/intro.txt
726 %{?with_doc:%doc doc/*.html}
727 %dir %{_sysconfdir}/vservers
728 %dir %{_sysconfdir}/vservers/.defaults
729 %dir %{_sysconfdir}/vservers/.defaults/apps
730 %dir %{_sysconfdir}/vservers/.defaults/files
731 %{_sysconfdir}/vservers/.defaults/vdirbase
732 %{_sysconfdir}/vservers/.defaults/cachebase
733 %{_sysconfdir}/vservers/.defaults/run.rev
734 /sbin/vshelper
735 %attr(755,root,root) %{_sbindir}/chbind
736 %attr(755,root,root) %{_sbindir}/chcontext
737 %attr(755,root,root) %{_sbindir}/chxid
738 %attr(755,root,root) %{_sbindir}/exec-cd
739 %attr(755,root,root) %{_sbindir}/lsxid
740 %attr(755,root,root) %{_sbindir}/naddress
741 %attr(755,root,root) %{_sbindir}/nattribute
742 %attr(755,root,root) %{_sbindir}/ncontext
743 %attr(755,root,root) %{_sbindir}/reducecap
744 %attr(755,root,root) %{_sbindir}/setattr
745 %attr(755,root,root) %{_sbindir}/showattr
746 %attr(755,root,root) %{_sbindir}/vattribute
747 %attr(755,root,root) %{_sbindir}/vcontext
748 %attr(755,root,root) %{_sbindir}/vdlimit
749 %attr(755,root,root) %{_sbindir}/vnamespace
750 %attr(755,root,root) %{_sbindir}/vkill
751 %attr(755,root,root) %{_sbindir}/vlimit
752 %attr(755,root,root) %{_sbindir}/vdevmap
753 %attr(755,root,root) %{_sbindir}/vdu
754 %attr(755,root,root) %{_sbindir}/vmemctrl
755 %attr(755,root,root) %{_sbindir}/vmount
756 %attr(755,root,root) %{_sbindir}/vproc
757 %attr(755,root,root) %{_sbindir}/vps
758 %attr(755,root,root) %{_sbindir}/vpstree
759 %attr(755,root,root) %{_sbindir}/vspace
760 %attr(755,root,root) %{_sbindir}/vrsetup
761 %attr(755,root,root) %{_sbindir}/vsched
762 %attr(755,root,root) %{_sbindir}/vserver
763 %attr(755,root,root) %{_sbindir}/vserver-info
764 %attr(755,root,root) %{_sbindir}/vserver-stat
765 %attr(755,root,root) %{_sbindir}/vsomething
766 %attr(755,root,root) %{_sbindir}/vtag
767 %attr(755,root,root) %{_sbindir}/vtop
768 %attr(755,root,root) %{_sbindir}/vuname
769 %attr(755,root,root) %{_sbindir}/vwait
770 %dir %{_libdir}/%{name}
771 %dir %{_libdir}/%{name}/defaults
772 %{_libdir}/%{name}/FEATURES.txt
773 %{_libdir}/%{name}/util-vserver-vars
774 %{_libdir}/%{name}/defaults/*
775 %attr(755,root,root) %{_libdir}/%{name}/capchroot
776 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
777 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
778 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
779 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
780 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
781 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
782 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
783 %attr(755,root,root) %{_libdir}/%{name}/filetime
784 %{_libdir}/%{name}/functions
785 %attr(755,root,root) %{_libdir}/%{name}/h2ext
786 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
787 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
788 %attr(755,root,root) %{_libdir}/%{name}/lockfile
789 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
790 %attr(755,root,root) %{_libdir}/%{name}/readlink
791 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
792 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
793 %attr(755,root,root) %{_libdir}/%{name}/sigexec
794 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
795 %attr(755,root,root) %{_libdir}/%{name}/tunctl
796 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
797 %{_libdir}/%{name}/vserver.*
798 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
799 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
800 %attr(755,root,root) %{_libdir}/%{name}/vhashify
801 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
802 %attr(755,root,root) %{_libdir}/%{name}/vshelper
803 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
804 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
805 %{_mandir}/man8/chbind.8*
806 %{_mandir}/man8/chcontext.8*
807 %{_mandir}/man8/reducecap.8*
808 %{_mandir}/man8/vps.8*
809 %{_mandir}/man8/vpstree.8*
810 %{_mandir}/man8/vserver-stat.8*
811 %{_mandir}/man8/vserver.8*
812 %{_mandir}/man8/vtop.8*
813 %attr(000,root,root) %dir /vservers
814 %dir /vservers/.pkg
815 %dir %{_localstatedir}/run/vservers
816 %dir %{_localstatedir}/run/vservers.rev
817 %dir %{_localstatedir}/run/vshelper
818 %dir /var/cache/vservers
819 %dir /var/cache/vservers/poldek
820
821 %files lib
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
824 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
825
826 %files devel
827 %defattr(644,root,root,755)
828 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
829 %attr(755,root,root) %{_libdir}/libvserver.so
830 %{_libdir}/lib*.la
831 %{_includedir}/vserver*.h
832 %{_pkgconfigdir}/*.pc
833
834 %files static
835 %defattr(644,root,root,755)
836 %{_libdir}/libvserver.a
837
838 %files build
839 %defattr(644,root,root,755)
840 %doc contrib/yum*.patch package-management.txt
841 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
842 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
843 %dir %{_sysconfdir}/vservers/.distributions
844 %dir %{_sysconfdir}/vservers/.distributions/.common
845 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
846 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
847 %dir %{_libdir}/%{name}/distributions
848 %{_libdir}/%{name}/distributions/defaults
849 %dir %{_libdir}/%{name}/distributions/template
850 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
851 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
852 %dir %{_libdir}/%{name}/distributions/redhat
853 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
854 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
855 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
856 %{_libdir}/%{name}/vserver-setup.functions
857 %{_libdir}/%{name}/vserver-build.*
858 %{_libdir}/%{name}/defaults/fstab
859 %{_libdir}/%{name}/defaults/debootstrap.uri
860 %{_libdir}/%{name}/defaults/vunify-exclude
861 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
862 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
863 %attr(755,root,root) %{_libdir}/%{name}/vclone
864 %attr(755,root,root) %{_libdir}/%{name}/vcopy
865 %attr(755,root,root) %{_libdir}/%{name}/vpkg
866 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
867 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
868 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
869 %attr(755,root,root) %{_libdir}/%{name}/vunify
870 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
871 %attr(755,root,root) %{_sbindir}/vapt-get
872 %attr(755,root,root) %{_sbindir}/vpoldek
873 %attr(755,root,root) %{_sbindir}/vrpm
874 %attr(755,root,root) %{_sbindir}/vyum
875 %{_mandir}/man8/vserver-build.8*
876
877 %files init
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
880 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
881 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
882 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
883 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
884 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
885 %attr(754,root,root) /etc/rc.d/init.d/vservers
886
887 %files legacy
888 %defattr(644,root,root,755)
889 %dir %{_sysconfdir}/vservices
890 %{_sysconfdir}/vservices/*
891 %dir %{_libdir}/%{name}/legacy
892 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
893 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
894 %attr(754,root,root) /etc/rc.d/init.d/v_*
895 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
896 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
897 %attr(755,root,root) %{_sbindir}/vserver-copy
898 %{_mandir}/man8/distrib-info.8*
899 %{_mandir}/man8/rebootmgr.8*
900 %{_mandir}/man8/vserver-copy.8*
901
902 %files -n vserver-distro-alpine
903 %defattr(644,root,root,755)
904 %dir %{_libdir}/%{name}/distributions/alpine
905 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
906 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
907
908 %files -n vserver-distro-centos
909 %defattr(644,root,root,755)
910 %{_libdir}/util-vserver/distributions/centos*
911
912 %files -n vserver-distro-debian
913 %defattr(644,root,root,755)
914 %dir %{_libdir}/%{name}/distributions/debian
915 %{_libdir}/%{name}/distributions/debian/debootstrap.script
916 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
917 %{_libdir}/%{name}/distributions/etch
918 %{_libdir}/%{name}/distributions/lenny
919 %{_libdir}/%{name}/distributions/sid
920
921 %files -n vserver-distro-fedora
922 %defattr(644,root,root,755)
923 %dir %{_sysconfdir}/vservers/.distributions/f7
924 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
925 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
926 %dir %{_sysconfdir}/vservers/.distributions/fc*
927 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
928 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
929 %{_libdir}/%{name}/distributions/f7
930 %{_libdir}/%{name}/distributions/f8
931 %{_libdir}/%{name}/distributions/fc*
932
933 %files -n vserver-distro-gentoo
934 %defattr(644,root,root,755)
935 %dir %{_libdir}/util-vserver/distributions/gentoo
936 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
937 %attr(755,root,root) %{_sbindir}/vdispatch-conf
938 %attr(755,root,root) %{_sbindir}/vemerge
939 %attr(755,root,root) %{_sbindir}/vesync
940 %attr(755,root,root) %{_sbindir}/vupdateworld
941
942 %files -n vserver-distro-pld
943 %defattr(644,root,root,755)
944 %dir %{_libdir}/%{name}/distributions/pld
945 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
946 %dir %{_libdir}/%{name}/distributions/pld-*
947 %{_libdir}/%{name}/distributions/pld-*/pkgs
948 %{_libdir}/%{name}/distributions/pld-*/pubkeys
949 %{_libdir}/%{name}/distributions/pld-*/rpm
950 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
951 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
952 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
953 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
954 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
955 %dir %{_sysconfdir}/vservers/.distributions/pld-th
956 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
957 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
958 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
959 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
960 %dir %{_sysconfdir}/vservers/.distributions/pld-ti
961 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek
962 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d
963 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/*.conf
964 %endif
965
966 %files -n vserver-distro-redhat
967 %defattr(644,root,root,755)
968 %dir %{_sysconfdir}/vservers/.distributions/rh*
969 %dir %{_sysconfdir}/vservers/.distributions/rh*/apt
970 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
971 %{_libdir}/%{name}/distributions/rh*
972
973 %files -n vserver-distro-suse
974 %defattr(644,root,root,755)
975 %dir %{_sysconfdir}/vservers/.distributions/suse*
976 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
977 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
978 %{_libdir}/%{name}/distributions/suse*
979
980 %files -n vserver-distro-ubuntu
981 %defattr(644,root,root,755)
982 %{_libdir}/%{name}/distributions/breezy
983 %{_libdir}/%{name}/distributions/dapper
984 %{_libdir}/%{name}/distributions/edgy
985 %{_libdir}/%{name}/distributions/feisty
986 %{_libdir}/%{name}/distributions/gutsy
987 %{_libdir}/%{name}/distributions/hoary
988 %{_libdir}/%{name}/distributions/warty
This page took 0.134748 seconds and 3 git commands to generate.