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