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