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