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