2 # - m68k and mips are the only not supported archs
5 %bcond_without dietlibc # don't use dietlibc (ask for troubles)
6 %bcond_without doc # don't build documentation which needed LaTeX
7 %bcond_without no_dynamic_context # disable enforcement of disabled dynamic context
8 %bcond_with xalan # use the xalan xslt processor
9 %bcond_with legacy # build legacy 1.x utils
11 %define vproc_version 0.01
14 # pdflatex: refman: Invalid argument
18 # reqdb_pkg and reqdb_ver must match value from current rpm package in distro
20 %define reqdb_pkg db%{reqdb_ver}
23 Summary: Linux virtual server utilities
24 Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
27 Release: 1.%{snap}.%{rel}
29 Group: Applications/System
30 Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
31 # Source0-md5: c0f708814ff48532802a5fb04514a86c
32 Source1: vprocunhide.init
33 Source2: vservers.init
34 Source3: vservers-legacy.init
35 Source4: rebootmgr.init
36 Source5: vservers.sysconfig
37 Source6: vservers-legacy.sysconfig
38 Source7: vrootdevices.init
39 Source8: vrootdevices.sysconfig
40 # A bit of documentation explaining package management
41 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
42 Source9: %{name}-pkgmgmt.txt
43 Source10: %{name}-initpost.sh
44 Source11: http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2
45 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
46 Source12: %{name}-vhashify.cron
47 Source13: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
48 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
49 Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
50 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
51 Source15: %{name}.init
52 Source16: %{name}.tmpfiles
53 Patch0: %{name}-vsysvwrapper.patch
54 Patch1: %{name}-pld.patch
55 Patch2: %{name}-centos.patch
56 Patch3: %{name}-tld.patch
57 Patch4: %{name}-m4-diet.patch
58 Patch5: %{name}-yum-verb-nogpg.patch
59 Patch6: %{name}-build-umask.patch
60 Patch7: %{name}-utmpx.patch
61 Patch8: %{name}-vprocunhide.patch
62 Patch9: %{name}-dev.patch
63 Patch10: %{name}-no-dynamic-ctx.patch
64 Patch11: %{name}-more-ip.patch
65 Patch12: %{name}-rpm-fake-resolver-badperm-errorlogging.patch
66 Patch13: %{name}-tmpdir.patch
67 Patch14: %{name}-rpmpath.patch
68 Patch15: %{name}-interfaces-ignore-cvs-dir.patch
69 Patch16: %{name}-personalitymachine.patch
70 Patch17: %{name}-backupfiles.patch
71 Patch18: %{name}-vprocunhide-net.patch
72 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
73 Patch19: %{name}-dbrebuild-internalize4.patch
74 Patch21: %{name}-bash-wrapper.patch
75 Patch22: %{name}-pivot-root-ugly-hack.patch
76 Patch24: vunify-more-exclude.patch
78 Patch26: %{name}-am.patch
79 Patch27: %{name}-rpm5.patch
80 Patch28: diet-ccache.patch
81 URL: http://savannah.nongnu.org/projects/util-vserver/
82 BuildRequires: autoconf
83 BuildRequires: automake >= 1.9
84 BuildRequires: beecrypt-devel
86 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
87 BuildRequires: e2fsprogs-devel
88 BuildRequires: libstdc++-devel
89 BuildRequires: libtool >= 1.5.14
90 BuildRequires: pkgconfig
91 BuildRequires: python-devel
92 BuildRequires: python-modules
93 BuildRequires: rpm-pythonprov
94 BuildRequires: rpmbuild(macros) >= 1.647
95 BuildRequires: sed >= 4.0
97 BuildRequires: doxygen >= 1:1.7.3
98 BuildRequires: graphviz
99 BuildRequires: libxslt-progs
100 BuildRequires: python-devel
101 %if "%{pld_release}" != "th"
102 BuildRequires: tetex-fonts-jknappen
103 BuildRequires: tetex-format-pdflatex
104 BuildRequires: tetex-makeindex
105 BuildRequires: tetex-metafont
107 BuildRequires: texlive-fonts-rsfs
108 BuildRequires: texlive-fonts-type1-urw
109 BuildRequires: texlive-format-pdflatex
110 BuildRequires: texlive-latex-ams
111 BuildRequires: texlive-latex-extend
112 BuildRequires: texlive-latex-ucs
113 BuildRequires: texlive-makeindex
114 BuildRequires: texlive-pdftex
115 BuildRequires: texlive-xetex
117 %{?with_xalan:BuildRequires: xalan-j}
119 Requires(post,preun): /sbin/chkconfig
120 Requires: %{name}-lib = %{version}-%{release}
125 Requires: mktemp >= 1.5-18
126 Requires: rc-scripts >= 0.4.3.4
127 #Requires: rpm >= 3.4.10-36
129 Requires: uname(release) >= 2.6.27
130 Requires: util-linux >= 2.13
131 Requires: vserver-distro-pld = %{version}-%{release}
132 Suggests: %{reqdb_pkg}-utils
133 Obsoletes: util-vserver-build
134 Obsoletes: util-vserver-core
135 Obsoletes: util-vserver-init
136 Conflicts: poldek < 0.18.8-10
137 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
140 # binaries created with this option have broken segments when using dietlibc
141 %define filterout_ld -Wl,-z,relro
145 %define _usrbin /usr/bin
146 %define _usrsbin /usr/sbin
147 %define _usrlib /usr/lib
150 This package provides the components and a framework to setup virtual
151 servers. A virtual server runs inside a Linux server. It is
152 nevertheless highly independent. As such, you can run various services
153 with normal configuration. The various vservers can't interact with
154 each other and can't interact with services in the main server.
156 This requires a special kernel supporting the new new_s_context and
157 set_ipv4root system call.
159 This package contains utilities which are required to communicate with
160 the Linux-Vserver enabled kernel, utilities which assist in building
161 Vservers and SysV initscripts which start and stop Vservers and
164 %description -l pl.UTF-8
165 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
166 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
167 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
168 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
169 w interakcję z innymi ani z usługami na głównym serwerze.
171 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
172 new_s_context i set_ipv4root.
174 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
175 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
176 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
177 zatrzymujące Vserwery oraz powiązane narzędzia.
180 Summary: Dynamic libraries for util-vserver
181 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
185 util-vserver provides the components and a framework to setup virtual
186 servers. A virtual server runs inside a linux server. It is
187 nevertheless highly independent. As such, you can run various services
188 pith normal configuration. The various vservers can't interact with
189 each other and can't interact with services in the main server.
191 This package contains the shared libraries needed by all other
192 'util-vserver' subpackages.
194 %description lib -l pl.UTF-8
195 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
196 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
197 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
198 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
199 w interakcję z innymi ani z usługami na głównym serwerze.
201 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
202 podpakiety util-vserver.
205 Summary: Development files for Linux vserver libraries
206 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
207 Group: Development/Libraries
208 Requires: %{name}-lib = %{version}-%{release}
211 This package contains the development files necessary for developing
212 programs which use vserver library.
214 %description devel -l pl.UTF-8
215 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
216 programów używających biblioteki vserver.
219 Summary: Static vserver library
220 Summary(pl.UTF-8): Biblioteka statyczna vservera
221 Group: Development/Libraries
222 Requires: %{name}-devel = %{version}-%{release}
225 This package contains the static version of vserver library.
227 %description static -l pl.UTF-8
228 Ten pakiet zawiera statyczną wersję biblioteki vservera.
231 Summary: Legacy utilities for util-vserver
232 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
233 Group: Applications/System
234 Requires(post,preun): /sbin/chkconfig
235 Requires: %{name} = %{version}-%{release}
239 util-vserver provides the components and a framework to setup virtual
240 servers. A virtual server runs inside a linux server. It is
241 nevertheless highly independent. As such, you can run various services
242 with normal configuration. The various vservers can't interact with
243 each other and can't interact with services in the main server.
245 This package contains the tools which are needed to work with Vservers
246 having an old-style configuration.
248 %description legacy -l pl.UTF-8
249 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
250 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
251 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
252 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
253 w interakcję z innymi ani z usługami na głównym serwerze.
255 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
256 konfigurację w starym stylu.
258 %package -n python-util-vserver
259 Summary: Python interface to libutil-vserver library
260 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
262 Group: Libraries/Python
264 %description -n python-util-vserver
265 Python interface to libutil-vserver library.
267 %description -n python-util-vserver -l pl.UTF-8
268 Pythonowy interfejs do biblioteki libutil-vserver.
270 %package -n vserver-distro-alpine
271 Summary: VServer build template for Alpine Linux
272 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
273 Group: Applications/System
274 Requires: %{name} = %{version}-%{release}
276 %description -n vserver-distro-alpine
277 VServer build template for Alpine Linux.
279 %description -n vserver-distro-alpine -l pl.UTF-8
280 Szablon budowania VServerów dla dystrybucji Alpine Linux.
282 %package -n vserver-distro-centos
283 Summary: VServer build template for CentOS
284 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
285 Group: Applications/System
286 Requires: %{name} = %{version}-%{release}
287 Requires: vserver-distro-redhat = %{version}-%{release}
290 %description -n vserver-distro-centos
291 VServer build template for CentOS 4.2 and 5.
293 %description -n vserver-distro-centos -l pl.UTF-8
294 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
296 %package -n vserver-distro-debian
297 Summary: VServer build templates for Debian and Ubuntu
298 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
299 Group: Applications/System
300 Requires: %{name} = %{version}-%{release}
301 Requires: debootstrap
303 Provides: vserver-distro-ubuntu
304 Obsoletes: vserver-distro-ubuntu
306 %description -n vserver-distro-debian
307 VServer build templates for Debian and Ubuntu.
309 %description -n vserver-distro-debian -l pl.UTF-8
310 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
312 %package -n vserver-distro-fedora
313 Summary: VServer build templates for Fedora
314 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
315 Group: Applications/System
316 Requires: %{name} = %{version}-%{release}
320 Requires: vserver-distro-redhat = %{version}-%{release}
324 %description -n vserver-distro-fedora
325 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
327 %description -n vserver-distro-fedora -l pl.UTF-8
328 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
329 1,2,3,4,5,6 oraz Fedora 7.
331 %package -n vserver-distro-gentoo
332 Summary: VServer build template for Gentoo
333 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
334 Group: Applications/System
335 Requires: %{name} = %{version}-%{release}
337 %description -n vserver-distro-gentoo
338 VServer build template for Gentoo.
340 %description -n vserver-distro-gentoo -l pl.UTF-8
341 Szablon budowania VServerów dla Gentoo.
343 %package -n vserver-distro-pld
344 Summary: VServer build templates for PLD Linux
345 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
346 Group: Applications/System
347 Requires: %{name} = %{version}-%{release}
348 Requires: /etc/pld-release
349 Requires: poldek >= 0.30
351 %description -n vserver-distro-pld
352 VServer build templates for PLD Linux.
354 %description -n vserver-distro-pld -l pl.UTF-8
355 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
357 %package -n vserver-distro-redhat
358 Summary: VServer build template for Red Hat Linux 9
359 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
360 Group: Applications/System
361 Requires: %{name} = %{version}-%{release}
367 %description -n vserver-distro-redhat
368 VServer build template for RedHat Linux 9.
370 %description -n vserver-distro-redhat -l pl.UTF-8
371 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
373 %package -n vserver-distro-suse
374 Summary: VServer build template for SuSE 9.1
375 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
376 Group: Applications/System
377 Requires: %{name} = %{version}-%{release}
383 %description -n vserver-distro-suse
384 VServer build template for SuSE Linux 9.1.
386 %description -n vserver-distro-suse -l pl.UTF-8
387 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
389 %package -n vserver-distro-scientificlinux
390 Summary: VServer build template for Scientific Linux
391 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
392 Group: Applications/System
393 Requires: %{name} = %{version}-%{release}
400 %description -n vserver-distro-scientificlinux
401 VServer build template for Scientific Linux.
403 %description -n vserver-distro-scientificlinux -l pl.UTF-8
404 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
406 %package -n vserver-distro-tld
407 Summary: VServer build templates for Titanium Linux Distribution
408 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
409 Group: Applications/System
410 Requires: %{name} = %{version}-%{release}
411 Requires: poldek >= 0.30
413 %description -n vserver-distro-tld
414 VServer build templates for Titanium Linux Distribution.
416 %description -n vserver-distro-tld -l pl.UTF-8
417 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
420 %setup -q -n %{name}-%{version}-%{snap} -a11
431 %{?with_no_dynamic_context:%patch10 -p1}
449 cp -p %{SOURCE9} package-management.txt
451 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
454 unset LD_SYMBOLIC_FUNCTIONS || :
457 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
464 --with-initrddir=/etc/rc.d/init.d \
466 --enable-apis=NOLEGACY \
467 --with-initscripts=sysv \
468 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
470 IONICE=%{_usrbin}/ionice \
472 IPTABLES=%{_usrsbin}/iptables \
474 MODPROBE=/sbin/modprobe \
476 NAMEIF=/sbin/nameif \
478 RESTORE=/sbin/restore \
480 RSYNC=%{_usrbin}/rsync \
481 STRACE=%{_usrbin}/strace \
483 VCONFIG=/sbin/vconfig \
484 WGET=%{_usrbin}/wget \
489 %{?with_doc:%{__make} doc}
491 %{__make} -C vproc-%{vproc_version} \
493 CFLAGS="%{rpmcflags}"
496 rm -rf $RPM_BUILD_ROOT
497 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
498 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
499 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
501 %{__make} -j1 install install-distribution \
502 %if %{without legacy}
503 scripts_legacy_src_SCRPTS= \
504 scripts_legacy_gen_SCRPTS= \
505 scripts_legacy_src_PRGS= \
509 DESTDIR=$RPM_BUILD_ROOT
511 # our libcgroup uses per subsystem mount
512 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
514 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
516 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
517 $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
518 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
519 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
520 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
521 $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
522 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
523 $RPM_BUILD_ROOT/etc/sysconfig/vservers
524 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
525 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
528 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
530 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
531 s=$(basename $i | sed s/v_//)
532 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
533 # IP addresses/interfaces to bound $s service to
539 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
540 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
541 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
542 $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
543 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
545 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
546 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
547 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
548 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
549 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
552 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
553 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
554 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
555 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
556 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
557 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
558 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
559 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
560 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
561 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
563 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
564 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
567 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
568 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
570 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
571 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
573 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
575 # set arch for pld-ac in pld.conf
576 %ifarch i586 i686 ppc sparc alpha athlon
577 %define ftp_arch %{_target_cpu}
580 %define ftp_arch amd64
583 %define ftp_arch i386
585 %ifarch pentium2 pentium3 pentium4
586 %define ftp_arch i686
588 %ifarch sparcv9 sparc64
589 %define ftp_arch sparc
591 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
593 # set arch for pld-th in pld.conf
594 %ifarch i486 i686 ppc sparc alpha athlon
595 %define ftp_arch %{_target_cpu}
598 %define ftp_arch x86_64
601 %define ftp_arch i486
603 %ifarch pentium2 pentium3 pentium4
604 %define ftp_arch i686
606 %ifarch sparcv9 sparc64
607 %define ftp_arch sparc
609 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
611 # set arch for tld in tld.conf
612 %ifarch i586 i686 ppc sparc alpha
613 %define ftp_arch %{_target_cpu}
616 %define ftp_arch x86_64
618 %ifarch athlon pentium2 pentium3 pentium4
619 %define ftp_arch i686
621 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
623 # current debootstrap link
624 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
625 > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
627 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
630 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
631 # we have our own initscript which does the same
632 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
633 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
634 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
635 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
638 rm -rf $RPM_BUILD_ROOT
640 %triggerun -- util-vserver-init
641 # Prevent preun from util-vserver-init from working
642 chmod a-x /etc/rc.d/init.d/vprocunhide
643 chmod a-x /etc/rc.d/init.d/vrootdevices
644 chmod a-x /etc/rc.d/init.d/vservers
646 %triggerpostun -- util-vserver-init
647 # Restore what triggerun removed
648 chmod ug+x /etc/rc.d/init.d/vprocunhide
649 chmod ug+x /etc/rc.d/init.d/vrootdevices
650 chmod ug+x /etc/rc.d/init.d/vservers
651 /sbin/chkconfig --add vrootdevices
652 /sbin/chkconfig --add vprocunhide
653 /sbin/chkconfig --add vservers
654 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
655 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
656 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
658 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
659 cp -f /etc/sysconfig/vservers{,.rpmnew}
660 mv -f /etc/sysconfig/vservers{.rpmsave,}
664 %{_sbindir}/setattr --barrier /vservers || :
665 /sbin/chkconfig --add util-vserver
666 /sbin/chkconfig --add vrootdevices
667 /sbin/chkconfig --add vprocunhide
668 /sbin/chkconfig --add vservers
669 if [ ! -f /var/lock/subsys/util-vserver ]; then
670 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
672 if [ ! -f /var/lock/subsys/vrootdevices ]; then
673 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
675 if [ ! -f /var/lock/subsys/vprocunhide ]; then
676 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
678 if [ ! -f /var/lock/subsys/vservers ]; then
679 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
683 if [ "$1" = "0" ]; then
684 %service util-vserver stop
685 %service vservers stop
686 %service vprocunhide stop
687 %service vrootdevices stop
688 /sbin/chkconfig --del util-vserver
689 /sbin/chkconfig --del vservers
690 /sbin/chkconfig --del vprocunhide
691 /sbin/chkconfig --del vrootdevices
694 %post lib -p /sbin/ldconfig
695 %postun lib -p /sbin/ldconfig
698 /sbin/chkconfig --add rebootmgr
699 /sbin/chkconfig --add vservers-legacy
700 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
701 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
703 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
704 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
708 if [ "$1" = "0" ]; then
709 %service rebootmgr stop
710 %service vservers-legacy stop
711 /sbin/chkconfig --del rebootmgr
712 /sbin/chkconfig --del vservers-legacy
715 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
716 for D in ac th ti; do
717 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
719 if [ -f $P/pld-source.conf.rpmsave ]; then
720 cp -f $P/repos.d/pld.conf{,.rpmnew}
721 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
727 %defattr(644,root,root,755)
728 %doc AUTHORS NEWS THANKS doc/intro.txt
729 %doc package-management.txt
730 %{?with_doc:%doc doc/*.html}
731 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
732 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
733 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
734 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
735 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
736 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
737 %attr(754,root,root) /etc/rc.d/init.d/vservers
738 %dir %{_sysconfdir}/vservers
739 %dir %{_sysconfdir}/vservers/.defaults
740 %dir %{_sysconfdir}/vservers/.defaults/apps
741 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
742 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
743 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
744 %dir %{_sysconfdir}/vservers/.defaults/cgroup
745 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
746 %dir %{_sysconfdir}/vservers/.defaults/files
747 %{_sysconfdir}/vservers/.defaults/vdirbase
748 %{_sysconfdir}/vservers/.defaults/cachebase
749 %{_sysconfdir}/vservers/.defaults/run.rev
750 %dir %{_sysconfdir}/vservers/.distributions
751 %dir %{_sysconfdir}/vservers/.distributions/.common
752 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
754 %attr(755,root,root) %{_sbindir}/chbind
755 %attr(755,root,root) %{_sbindir}/chcontext
756 %attr(755,root,root) %{_sbindir}/chxid
757 %attr(755,root,root) %{_sbindir}/exec-cd
758 %attr(755,root,root) %{_sbindir}/lsxid
759 %attr(755,root,root) %{_sbindir}/naddress
760 %attr(755,root,root) %{_sbindir}/nattribute
761 %attr(755,root,root) %{_sbindir}/ncontext
762 %attr(755,root,root) %{_sbindir}/reducecap
763 %attr(755,root,root) %{_sbindir}/setattr
764 %attr(755,root,root) %{_sbindir}/showattr
765 %attr(755,root,root) %{_sbindir}/vapt-get
766 %attr(755,root,root) %{_sbindir}/vattribute
767 %attr(755,root,root) %{_sbindir}/vcontext
768 %attr(755,root,root) %{_sbindir}/vdevmap
769 %attr(755,root,root) %{_sbindir}/vdlimit
770 %attr(755,root,root) %{_sbindir}/vdu
771 %attr(755,root,root) %{_sbindir}/vkill
772 %attr(755,root,root) %{_sbindir}/vlimit
773 %attr(755,root,root) %{_sbindir}/vmemctrl
774 %attr(755,root,root) %{_sbindir}/vmount
775 %attr(755,root,root) %{_sbindir}/vnamespace
776 %attr(755,root,root) %{_sbindir}/vpoldek
777 %attr(755,root,root) %{_sbindir}/vproc
778 %attr(755,root,root) %{_sbindir}/vps
779 %attr(755,root,root) %{_sbindir}/vpstree
780 %attr(755,root,root) %{_sbindir}/vrpm
781 %attr(755,root,root) %{_sbindir}/vrsetup
782 %attr(755,root,root) %{_sbindir}/vsched
783 %attr(755,root,root) %{_sbindir}/vserver
784 %attr(755,root,root) %{_sbindir}/vserver-info
785 %attr(755,root,root) %{_sbindir}/vserver-stat
786 %attr(755,root,root) %{_sbindir}/vsomething
787 %attr(755,root,root) %{_sbindir}/vspace
788 %attr(755,root,root) %{_sbindir}/vtag
789 %attr(755,root,root) %{_sbindir}/vtop
790 %attr(755,root,root) %{_sbindir}/vuname
791 %attr(755,root,root) %{_sbindir}/vurpm
792 %attr(755,root,root) %{_sbindir}/vwait
793 %attr(755,root,root) %{_sbindir}/vyum
794 %dir %{_libdir}/%{name}
795 %dir %{_libdir}/%{name}/defaults
796 %{_libdir}/%{name}/defaults/fstab
797 %{_libdir}/%{name}/defaults/debootstrap.*
798 %{_libdir}/%{name}/defaults/vunify-exclude
799 %{_libdir}/%{name}/defaults/context.start
800 %{_libdir}/%{name}/defaults/environment
801 %{_libdir}/%{name}/defaults/h2ext.desc
802 %{_libdir}/%{name}/defaults/mtab
803 %{_libdir}/%{name}/defaults/vprocunhide-files
804 %dir %{_libdir}/%{name}/distributions
805 %{_libdir}/%{name}/distributions/defaults
806 %dir %{_libdir}/%{name}/distributions/template
807 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
808 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
809 %{_libdir}/%{name}/FEATURES.txt
810 %{_libdir}/%{name}/util-vserver-vars
811 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
812 %attr(755,root,root) %{_libdir}/%{name}/capchroot
813 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
814 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
815 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
816 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
817 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
818 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
819 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
820 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
821 %attr(755,root,root) %{_libdir}/%{name}/filetime
822 %{_libdir}/%{name}/functions
823 %attr(755,root,root) %{_libdir}/%{name}/h2ext
824 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
825 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
826 %attr(755,root,root) %{_libdir}/%{name}/lockfile
827 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
828 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
829 %attr(755,root,root) %{_libdir}/%{name}/readlink
830 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
831 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
832 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
833 %attr(755,root,root) %{_libdir}/%{name}/sigexec
834 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
835 %attr(755,root,root) %{_libdir}/%{name}/tunctl
836 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
837 %attr(755,root,root) %{_libdir}/%{name}/vclone
838 %attr(755,root,root) %{_libdir}/%{name}/vcopy
839 %attr(755,root,root) %{_libdir}/%{name}/vhashify
840 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
841 %attr(755,root,root) %{_libdir}/%{name}/vpkg
842 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
843 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
844 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
845 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
846 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
847 %{_libdir}/%{name}/vserver-build.*
848 %{_libdir}/%{name}/vserver-setup.functions
849 %{_libdir}/%{name}/vserver.*
850 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
851 %attr(755,root,root) %{_libdir}/%{name}/vshelper
852 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
853 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
854 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
855 %attr(755,root,root) %{_libdir}/%{name}/vunify
856 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
857 %{_mandir}/man8/chbind.8*
858 %{_mandir}/man8/chcontext.8*
859 %{_mandir}/man8/reducecap.8*
860 %{_mandir}/man8/vps.8*
861 %{_mandir}/man8/vpstree.8*
862 %{_mandir}/man8/vserver-build.8*
863 %{_mandir}/man8/vserver-stat.8*
864 %{_mandir}/man8/vserver.8*
865 %{_mandir}/man8/vtop.8*
866 %attr(000,root,root) %dir /vservers
868 %{systemdtmpfilesdir}/%{name}.conf
869 %dir %{_localstatedir}/run/vservers
870 %dir %{_localstatedir}/run/vservers.rev
871 %dir %{_localstatedir}/run/vshelper
872 %dir /var/cache/vservers
873 %dir /var/cache/vservers/poldek
876 %defattr(644,root,root,755)
877 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
878 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
881 %defattr(644,root,root,755)
882 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
883 %attr(755,root,root) %{_libdir}/libvserver.so
885 %{_includedir}/vserver*.h
886 %{_pkgconfigdir}/*.pc
889 %defattr(644,root,root,755)
890 %{_libdir}/libvserver.a
894 %defattr(644,root,root,755)
895 %dir %{_sysconfdir}/vservices
896 %{_sysconfdir}/vservices/*
897 %dir %{_libdir}/%{name}/legacy
898 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
899 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
900 %attr(754,root,root) /etc/rc.d/init.d/v_*
901 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
902 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
903 %attr(755,root,root) %{_sbindir}/vserver-copy
904 %{_mandir}/man8/distrib-info.8*
905 %{_mandir}/man8/rebootmgr.8*
906 %{_mandir}/man8/vserver-copy.8*
909 %files -n python-util-vserver
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{py_sitedir}/_libvserver.so
912 %{py_sitedir}/libvserver.py
914 %files -n vserver-distro-alpine
915 %defattr(644,root,root,755)
916 %dir %{_libdir}/%{name}/distributions/alpine
917 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
918 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
920 %files -n vserver-distro-centos
921 %defattr(644,root,root,755)
922 %{_libdir}/util-vserver/distributions/centos*
924 %files -n vserver-distro-debian
925 %defattr(644,root,root,755)
926 %dir %{_libdir}/%{name}/distributions/debian
927 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
928 %{_libdir}/%{name}/distributions/etch
929 %{_libdir}/%{name}/distributions/lenny
930 %{_libdir}/%{name}/distributions/sid
931 %{_libdir}/%{name}/distributions/squeeze
932 %{_libdir}/%{name}/distributions/wheezy
934 %files -n vserver-distro-fedora
935 %defattr(644,root,root,755)
936 %dir %{_sysconfdir}/vservers/.distributions/f7
937 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
938 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
939 %dir %{_sysconfdir}/vservers/.distributions/fc*
940 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
941 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
942 %{_libdir}/%{name}/distributions/f7
943 %{_libdir}/%{name}/distributions/f8
944 %{_libdir}/%{name}/distributions/f9
945 %{_libdir}/%{name}/distributions/f10
946 %{_libdir}/%{name}/distributions/f11
947 %{_libdir}/%{name}/distributions/f12
948 %{_libdir}/%{name}/distributions/f13
949 %{_libdir}/%{name}/distributions/f14
950 %{_libdir}/%{name}/distributions/fc1
951 %{_libdir}/%{name}/distributions/fc2
952 %{_libdir}/%{name}/distributions/fc3
953 %{_libdir}/%{name}/distributions/fc4
954 %{_libdir}/%{name}/distributions/fc5
955 %{_libdir}/%{name}/distributions/fc6
957 %files -n vserver-distro-gentoo
958 %defattr(644,root,root,755)
959 %dir %{_libdir}/util-vserver/distributions/gentoo
960 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
961 %attr(755,root,root) %{_sbindir}/vdispatch-conf
962 %attr(755,root,root) %{_sbindir}/vemerge
963 %attr(755,root,root) %{_sbindir}/vesync
964 %attr(755,root,root) %{_sbindir}/vupdateworld
966 %files -n vserver-distro-pld
967 %defattr(644,root,root,755)
968 %dir %{_libdir}/%{name}/distributions/pld
969 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
970 %dir %{_libdir}/%{name}/distributions/pld-*
971 %{_libdir}/%{name}/distributions/pld-*/pkgs
972 %{_libdir}/%{name}/distributions/pld-*/pubkeys
973 %{_libdir}/%{name}/distributions/pld-*/rpm
974 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
975 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
976 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
977 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
978 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
979 %dir %{_sysconfdir}/vservers/.distributions/pld-th
980 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
981 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
982 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
984 %files -n vserver-distro-redhat
985 %defattr(644,root,root,755)
986 %dir %{_sysconfdir}/vservers/.distributions/rh9
987 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
988 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
989 %{_libdir}/%{name}/distributions/rh9
990 %dir %{_libdir}/%{name}/distributions/redhat
991 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
992 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
993 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
994 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
996 %files -n vserver-distro-suse
997 %defattr(644,root,root,755)
998 %dir %{_sysconfdir}/vservers/.distributions/suse*
999 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1000 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1001 %{_libdir}/%{name}/distributions/suse*
1003 %files -n vserver-distro-scientificlinux
1004 %defattr(644,root,root,755)
1005 %dir %{_libdir}/%{name}/distributions/sl6
1006 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpost
1007 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpre
1008 %{_libdir}/%{name}/distributions/sl6/pkgs
1009 %{_libdir}/%{name}/distributions/sl6/yum
1010 %{_libdir}/%{name}/distributions/sl6/yum.repos.d
1012 %files -n vserver-distro-tld
1013 %defattr(644,root,root,755)
1014 %dir %{_libdir}/%{name}/distributions/tld
1015 %attr(755,root,root) %{_libdir}/%{name}/distributions/tld/initpost
1016 %{_libdir}/%{name}/distributions/tld/pkgs
1017 %{_libdir}/%{name}/distributions/tld/rpm
1018 %dir %{_sysconfdir}/vservers/.distributions/tld
1019 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1020 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1021 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf