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: d6fe16a0dbde811ae0672ca69aaf01c5
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 Patch8: %{name}-vprocunhide.patch
61 Patch9: %{name}-dev.patch
62 Patch10: %{name}-no-dynamic-ctx.patch
63 Patch11: %{name}-more-ip.patch
64 Patch12: %{name}-rpm-fake-resolver-badperm-errorlogging.patch
65 Patch13: %{name}-tmpdir.patch
66 Patch14: %{name}-rpmpath.patch
67 Patch15: %{name}-interfaces-ignore-cvs-dir.patch
68 Patch16: %{name}-personalitymachine.patch
69 Patch17: %{name}-backupfiles.patch
70 Patch18: %{name}-vprocunhide-net.patch
71 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
72 Patch19: %{name}-dbrebuild-internalize4.patch
73 Patch21: %{name}-bash-wrapper.patch
74 Patch22: %{name}-pivot-root-ugly-hack.patch
75 Patch24: vunify-more-exclude.patch
78 Patch27: %{name}-rpm5.patch
79 Patch28: diet-ccache.patch
80 Patch29: %{name}-centos6.patch
81 Patch30: vsysctl-ignore-files.patch
82 URL: http://savannah.nongnu.org/projects/util-vserver/
83 BuildRequires: autoconf
84 BuildRequires: automake >= 1.9
85 BuildRequires: beecrypt-devel
87 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
88 BuildRequires: e2fsprogs-devel
89 BuildRequires: libstdc++-devel
90 BuildRequires: libtool >= 1.5.14
91 BuildRequires: pkgconfig
92 BuildRequires: python-devel
93 BuildRequires: python-modules
94 BuildRequires: rpm-pythonprov
95 BuildRequires: rpmbuild(macros) >= 1.647
96 BuildRequires: sed >= 4.0
98 BuildRequires: doxygen >= 1:1.7.3
99 BuildRequires: graphviz
100 BuildRequires: libxslt-progs
101 BuildRequires: python-devel
102 %if "%{pld_release}" != "th"
103 BuildRequires: tetex-fonts-jknappen
104 BuildRequires: tetex-format-pdflatex
105 BuildRequires: tetex-makeindex
106 BuildRequires: tetex-metafont
108 BuildRequires: texlive-fonts-rsfs
109 BuildRequires: texlive-fonts-type1-urw
110 BuildRequires: texlive-format-pdflatex
111 BuildRequires: texlive-latex-ams
112 BuildRequires: texlive-latex-extend
113 BuildRequires: texlive-latex-ucs
114 BuildRequires: texlive-makeindex
115 BuildRequires: texlive-pdftex
116 BuildRequires: texlive-xetex
118 %{?with_xalan:BuildRequires: xalan-j}
120 Requires(post,preun): /sbin/chkconfig
121 Requires: %{name}-lib = %{version}-%{release}
124 Requires: pld-release
126 Requires: mktemp >= 1.5-18
127 Requires: rc-scripts >= 0.4.3.4
128 #Requires: rpm >= 5.4.10-36
130 Requires: uname(release) >= 2.6.27
131 Requires: util-linux >= 2.13
132 Requires: vserver-distro-pld = %{version}-%{release}
133 Suggests: %{reqdb_pkg}-utils
134 Obsoletes: util-vserver-build
135 Obsoletes: util-vserver-core
136 Obsoletes: util-vserver-init
137 Conflicts: poldek < 0.18.8-10
138 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
141 # binaries created with this option have broken segments when using dietlibc
142 %define filterout_ld -Wl,-z,relro
146 %define _usrbin /usr/bin
147 %define _usrsbin /usr/sbin
148 %define _usrlib /usr/lib
151 This package provides the components and a framework to setup virtual
152 servers. A virtual server runs inside a Linux server. It is
153 nevertheless highly independent. As such, you can run various services
154 with normal configuration. The various vservers can't interact with
155 each other and can't interact with services in the main server.
157 This requires a special kernel supporting the new new_s_context and
158 set_ipv4root system call.
160 This package contains utilities which are required to communicate with
161 the Linux-Vserver enabled kernel, utilities which assist in building
162 Vservers and SysV initscripts which start and stop Vservers and
165 %description -l pl.UTF-8
166 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
167 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
168 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
169 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
170 w interakcję z innymi ani z usługami na głównym serwerze.
172 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
173 new_s_context i set_ipv4root.
175 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
176 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
177 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
178 zatrzymujące Vserwery oraz powiązane narzędzia.
181 Summary: Dynamic libraries for util-vserver
182 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
186 util-vserver provides the components and a framework to setup virtual
187 servers. A virtual server runs inside a linux server. It is
188 nevertheless highly independent. As such, you can run various services
189 pith normal configuration. The various vservers can't interact with
190 each other and can't interact with services in the main server.
192 This package contains the shared libraries needed by all other
193 'util-vserver' subpackages.
195 %description lib -l pl.UTF-8
196 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
197 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
198 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
199 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
200 w interakcję z innymi ani z usługami na głównym serwerze.
202 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
203 podpakiety util-vserver.
206 Summary: Development files for Linux vserver libraries
207 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
208 Group: Development/Libraries
209 Requires: %{name}-lib = %{version}-%{release}
212 This package contains the development files necessary for developing
213 programs which use vserver library.
215 %description devel -l pl.UTF-8
216 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
217 programów używających biblioteki vserver.
220 Summary: Static vserver library
221 Summary(pl.UTF-8): Biblioteka statyczna vservera
222 Group: Development/Libraries
223 Requires: %{name}-devel = %{version}-%{release}
226 This package contains the static version of vserver library.
228 %description static -l pl.UTF-8
229 Ten pakiet zawiera statyczną wersję biblioteki vservera.
232 Summary: Legacy utilities for util-vserver
233 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
234 Group: Applications/System
235 Requires(post,preun): /sbin/chkconfig
236 Requires: %{name} = %{version}-%{release}
240 util-vserver provides the components and a framework to setup virtual
241 servers. A virtual server runs inside a linux server. It is
242 nevertheless highly independent. As such, you can run various services
243 with normal configuration. The various vservers can't interact with
244 each other and can't interact with services in the main server.
246 This package contains the tools which are needed to work with Vservers
247 having an old-style configuration.
249 %description legacy -l pl.UTF-8
250 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
251 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
252 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
253 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
254 w interakcję z innymi ani z usługami na głównym serwerze.
256 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
257 konfigurację w starym stylu.
259 %package -n python-util-vserver
260 Summary: Python interface to libutil-vserver library
261 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
263 Group: Libraries/Python
265 %description -n python-util-vserver
266 Python interface to libutil-vserver library.
268 %description -n python-util-vserver -l pl.UTF-8
269 Pythonowy interfejs do biblioteki libutil-vserver.
271 %package -n vserver-distro-alpine
272 Summary: VServer build template for Alpine Linux
273 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
274 Group: Applications/System
275 Requires: %{name} = %{version}-%{release}
277 %description -n vserver-distro-alpine
278 VServer build template for Alpine Linux.
280 %description -n vserver-distro-alpine -l pl.UTF-8
281 Szablon budowania VServerów dla dystrybucji Alpine Linux.
283 %package -n vserver-distro-centos
284 Summary: VServer build template for CentOS
285 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
286 Group: Applications/System
287 Requires: %{name} = %{version}-%{release}
288 Requires: vserver-distro-redhat = %{version}-%{release}
291 %description -n vserver-distro-centos
292 VServer build template for CentOS 4.2 and 5.
294 %description -n vserver-distro-centos -l pl.UTF-8
295 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
297 %package -n vserver-distro-debian
298 Summary: VServer build templates for Debian and Ubuntu
299 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
300 Group: Applications/System
301 Requires: %{name} = %{version}-%{release}
302 Requires: debootstrap
304 Provides: vserver-distro-ubuntu
305 Obsoletes: vserver-distro-ubuntu
307 %description -n vserver-distro-debian
308 VServer build templates for Debian and Ubuntu.
310 %description -n vserver-distro-debian -l pl.UTF-8
311 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
313 %package -n vserver-distro-fedora
314 Summary: VServer build templates for Fedora
315 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
316 Group: Applications/System
317 Requires: %{name} = %{version}-%{release}
321 Requires: vserver-distro-redhat = %{version}-%{release}
325 %description -n vserver-distro-fedora
326 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
328 %description -n vserver-distro-fedora -l pl.UTF-8
329 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
330 1,2,3,4,5,6 oraz Fedora 7.
332 %package -n vserver-distro-gentoo
333 Summary: VServer build template for Gentoo
334 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
335 Group: Applications/System
336 Requires: %{name} = %{version}-%{release}
338 %description -n vserver-distro-gentoo
339 VServer build template for Gentoo.
341 %description -n vserver-distro-gentoo -l pl.UTF-8
342 Szablon budowania VServerów dla Gentoo.
344 %package -n vserver-distro-pld
345 Summary: VServer build templates for PLD Linux
346 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
347 Group: Applications/System
348 Requires: %{name} = %{version}-%{release}
349 Requires: /etc/pld-release
350 Requires: poldek >= 0.30
352 %description -n vserver-distro-pld
353 VServer build templates for PLD Linux.
355 %description -n vserver-distro-pld -l pl.UTF-8
356 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
358 %package -n vserver-distro-redhat
359 Summary: VServer build template for Red Hat Linux 9
360 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
361 Group: Applications/System
362 Requires: %{name} = %{version}-%{release}
368 %description -n vserver-distro-redhat
369 VServer build template for RedHat Linux 9.
371 %description -n vserver-distro-redhat -l pl.UTF-8
372 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
374 %package -n vserver-distro-suse
375 Summary: VServer build template for SuSE 9.1
376 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
377 Group: Applications/System
378 Requires: %{name} = %{version}-%{release}
384 %description -n vserver-distro-suse
385 VServer build template for SuSE Linux 9.1.
387 %description -n vserver-distro-suse -l pl.UTF-8
388 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
390 %package -n vserver-distro-scientificlinux
391 Summary: VServer build template for Scientific Linux
392 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
393 Group: Applications/System
394 Requires: %{name} = %{version}-%{release}
401 %description -n vserver-distro-scientificlinux
402 VServer build template for Scientific Linux.
404 %description -n vserver-distro-scientificlinux -l pl.UTF-8
405 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
407 %package -n vserver-distro-tld
408 Summary: VServer build templates for Titanium Linux Distribution
409 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
410 Group: Applications/System
411 Requires: %{name} = %{version}-%{release}
412 Requires: poldek >= 0.30
414 %description -n vserver-distro-tld
415 VServer build templates for Titanium Linux Distribution.
417 %description -n vserver-distro-tld -l pl.UTF-8
418 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
421 %setup -q -n %{name}-%{version}-%{snap} -a11
431 %{?with_no_dynamic_context:%patch10 -p1}
451 cp -p %{SOURCE9} package-management.txt
453 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
456 unset LD_SYMBOLIC_FUNCTIONS || :
459 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
466 --with-initrddir=/etc/rc.d/init.d \
468 --enable-apis=NOLEGACY \
469 --with-initscripts=sysv \
470 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
472 IONICE=%{_usrbin}/ionice \
474 IPTABLES=%{_usrsbin}/iptables \
476 MODPROBE=/sbin/modprobe \
478 NAMEIF=/sbin/nameif \
480 RESTORE=/sbin/restore \
482 RSYNC=%{_usrbin}/rsync \
483 STRACE=%{_usrbin}/strace \
485 VCONFIG=/sbin/vconfig \
486 WGET=%{_usrbin}/wget \
491 %{?with_doc:%{__make} doc}
493 %{__make} -C vproc-%{vproc_version} \
495 CFLAGS="%{rpmcflags}"
498 rm -rf $RPM_BUILD_ROOT
499 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
500 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
501 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
503 %{__make} -j1 install install-distribution \
504 %if %{without legacy}
505 scripts_legacy_src_SCRPTS= \
506 scripts_legacy_gen_SCRPTS= \
507 scripts_legacy_src_PRGS= \
511 DESTDIR=$RPM_BUILD_ROOT
514 # fix breakage caused by too many substitiutions on x86
515 %{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libdir}/%{name}/sigexec|g' \
516 $RPM_BUILD_ROOT%{_libdir}/%{name}/vshelper
519 # our libcgroup uses per subsystem mount
520 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
522 chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/*
524 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
525 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
526 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
527 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers
528 sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \
529 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
532 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
534 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
535 s=$(basename $i | sed s/v_//)
536 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
537 # IP addresses/interfaces to bound $s service to
543 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
544 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
545 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
547 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
548 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
549 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
550 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
551 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
554 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
555 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
556 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld
557 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost
558 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost
559 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost
560 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost
561 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
562 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
563 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
565 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
566 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
569 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys
570 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
572 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys
573 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
575 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
577 # set arch for pld-ac in pld.conf
578 %ifarch i586 i686 ppc sparc alpha athlon
579 %define ftp_arch %{_target_cpu}
582 %define ftp_arch amd64
585 %define ftp_arch i386
587 %ifarch pentium2 pentium3 pentium4
588 %define ftp_arch i686
590 %ifarch sparcv9 sparc64
591 %define ftp_arch sparc
593 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
595 # set arch for pld-th in pld.conf
596 %ifarch i486 i686 ppc sparc alpha athlon
597 %define ftp_arch %{_target_cpu}
600 %define ftp_arch x86_64
603 %define ftp_arch i486
605 %ifarch pentium2 pentium3 pentium4
606 %define ftp_arch i686
608 %ifarch sparcv9 sparc64
609 %define ftp_arch sparc
611 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
613 # set arch for tld in tld.conf
614 %ifarch i586 i686 ppc sparc alpha
615 %define ftp_arch %{_target_cpu}
618 %define ftp_arch x86_64
620 %ifarch athlon pentium2 pentium3 pentium4
621 %define ftp_arch i686
623 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
625 # current debootstrap link
626 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \
627 > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri
629 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
632 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
633 # we have our own initscript which does the same
634 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
635 %{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions
636 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
637 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
640 rm -rf $RPM_BUILD_ROOT
642 %triggerun -- util-vserver-init
643 # Prevent preun from util-vserver-init from working
644 chmod a-x /etc/rc.d/init.d/vprocunhide
645 chmod a-x /etc/rc.d/init.d/vrootdevices
646 chmod a-x /etc/rc.d/init.d/vservers
648 %triggerpostun -- util-vserver-init
649 # Restore what triggerun removed
650 chmod ug+x /etc/rc.d/init.d/vprocunhide
651 chmod ug+x /etc/rc.d/init.d/vrootdevices
652 chmod ug+x /etc/rc.d/init.d/vservers
653 /sbin/chkconfig --add vrootdevices
654 /sbin/chkconfig --add vprocunhide
655 /sbin/chkconfig --add vservers
656 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
657 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
658 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
660 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
661 cp -f /etc/sysconfig/vservers{,.rpmnew}
662 mv -f /etc/sysconfig/vservers{.rpmsave,}
666 %{_sbindir}/setattr --barrier /vservers || :
667 /sbin/chkconfig --add util-vserver
668 /sbin/chkconfig --add vrootdevices
669 /sbin/chkconfig --add vprocunhide
670 /sbin/chkconfig --add vservers
671 if [ ! -f /var/lock/subsys/util-vserver ]; then
672 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
674 if [ ! -f /var/lock/subsys/vrootdevices ]; then
675 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
677 if [ ! -f /var/lock/subsys/vprocunhide ]; then
678 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
680 if [ ! -f /var/lock/subsys/vservers ]; then
681 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
685 if [ "$1" = "0" ]; then
686 %service util-vserver stop
687 %service vservers stop
688 %service vprocunhide stop
689 %service vrootdevices stop
690 /sbin/chkconfig --del util-vserver
691 /sbin/chkconfig --del vservers
692 /sbin/chkconfig --del vprocunhide
693 /sbin/chkconfig --del vrootdevices
696 %post lib -p /sbin/ldconfig
697 %postun lib -p /sbin/ldconfig
700 /sbin/chkconfig --add rebootmgr
701 /sbin/chkconfig --add vservers-legacy
702 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
703 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
705 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
706 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
710 if [ "$1" = "0" ]; then
711 %service rebootmgr stop
712 %service vservers-legacy stop
713 /sbin/chkconfig --del rebootmgr
714 /sbin/chkconfig --del vservers-legacy
717 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
718 for D in ac th ti; do
719 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
721 if [ -f $P/pld-source.conf.rpmsave ]; then
722 cp -f $P/repos.d/pld.conf{,.rpmnew}
723 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
729 %defattr(644,root,root,755)
730 %doc AUTHORS NEWS THANKS doc/intro.txt
731 %doc package-management.txt
732 %{?with_doc:%doc doc/*.html}
733 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
734 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
735 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
736 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
737 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
738 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
739 %attr(754,root,root) /etc/rc.d/init.d/vservers
740 %dir %{_sysconfdir}/vservers
741 %dir %{_sysconfdir}/vservers/.defaults
742 %dir %{_sysconfdir}/vservers/.defaults/apps
743 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
744 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
745 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
746 %dir %{_sysconfdir}/vservers/.defaults/cgroup
747 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
748 %dir %{_sysconfdir}/vservers/.defaults/files
749 %{_sysconfdir}/vservers/.defaults/vdirbase
750 %{_sysconfdir}/vservers/.defaults/cachebase
751 %{_sysconfdir}/vservers/.defaults/run.rev
752 %dir %{_sysconfdir}/vservers/.distributions
753 %dir %{_sysconfdir}/vservers/.distributions/.common
754 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
756 %attr(755,root,root) %{_sbindir}/chbind
757 %attr(755,root,root) %{_sbindir}/chcontext
758 %attr(755,root,root) %{_sbindir}/chxid
759 %attr(755,root,root) %{_sbindir}/exec-cd
760 %attr(755,root,root) %{_sbindir}/lsxid
761 %attr(755,root,root) %{_sbindir}/naddress
762 %attr(755,root,root) %{_sbindir}/nattribute
763 %attr(755,root,root) %{_sbindir}/ncontext
764 %attr(755,root,root) %{_sbindir}/reducecap
765 %attr(755,root,root) %{_sbindir}/setattr
766 %attr(755,root,root) %{_sbindir}/showattr
767 %attr(755,root,root) %{_sbindir}/vapt-get
768 %attr(755,root,root) %{_sbindir}/vattribute
769 %attr(755,root,root) %{_sbindir}/vcontext
770 %attr(755,root,root) %{_sbindir}/vdevmap
771 %attr(755,root,root) %{_sbindir}/vdlimit
772 %attr(755,root,root) %{_sbindir}/vdu
773 %attr(755,root,root) %{_sbindir}/vkill
774 %attr(755,root,root) %{_sbindir}/vlimit
775 %attr(755,root,root) %{_sbindir}/vmemctrl
776 %attr(755,root,root) %{_sbindir}/vmount
777 %attr(755,root,root) %{_sbindir}/vnamespace
778 %attr(755,root,root) %{_sbindir}/vpoldek
779 %attr(755,root,root) %{_sbindir}/vproc
780 %attr(755,root,root) %{_sbindir}/vps
781 %attr(755,root,root) %{_sbindir}/vpstree
782 %attr(755,root,root) %{_sbindir}/vrpm
783 %attr(755,root,root) %{_sbindir}/vrsetup
784 %attr(755,root,root) %{_sbindir}/vsched
785 %attr(755,root,root) %{_sbindir}/vserver
786 %attr(755,root,root) %{_sbindir}/vserver-info
787 %attr(755,root,root) %{_sbindir}/vserver-stat
788 %attr(755,root,root) %{_sbindir}/vsomething
789 %attr(755,root,root) %{_sbindir}/vspace
790 %attr(755,root,root) %{_sbindir}/vtag
791 %attr(755,root,root) %{_sbindir}/vtop
792 %attr(755,root,root) %{_sbindir}/vuname
793 %attr(755,root,root) %{_sbindir}/vurpm
794 %attr(755,root,root) %{_sbindir}/vwait
795 %attr(755,root,root) %{_sbindir}/vyum
796 %dir %{_datadir}/%{name}
797 %dir %{_datadir}/%{name}/defaults
798 %{_datadir}/%{name}/defaults/fstab
799 %{_datadir}/%{name}/defaults/debootstrap.*
800 %{_datadir}/%{name}/defaults/vunify-exclude
801 %{_datadir}/%{name}/defaults/context.start
802 %{_datadir}/%{name}/defaults/environment
803 %{_datadir}/%{name}/defaults/h2ext.desc
804 %{_datadir}/%{name}/defaults/mtab
805 %{_datadir}/%{name}/defaults/vprocunhide-files
806 %dir %{_datadir}/%{name}/distributions
807 %{_datadir}/%{name}/distributions/defaults
808 %dir %{_datadir}/%{name}/distributions/template
809 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost
810 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre
811 %{_datadir}/%{name}/FEATURES.txt
812 %{_datadir}/%{name}/util-vserver-vars
813 %{_datadir}/%{name}/functions
814 %{_datadir}/%{name}/vserver-build.*
815 %{_datadir}/%{name}/vserver-setup.functions
816 %{_datadir}/%{name}/vserver.*
817 %dir %{_libdir}/%{name}
818 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
819 %attr(755,root,root) %{_libdir}/%{name}/capchroot
820 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
821 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
822 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
823 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
824 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
825 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
826 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
827 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
828 %attr(755,root,root) %{_libdir}/%{name}/filetime
829 %attr(755,root,root) %{_libdir}/%{name}/h2ext
830 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
831 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
832 %attr(755,root,root) %{_libdir}/%{name}/lockfile
833 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
834 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
835 %attr(755,root,root) %{_libdir}/%{name}/readlink
836 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
837 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
838 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
839 %attr(755,root,root) %{_libdir}/%{name}/sigexec
840 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
841 %attr(755,root,root) %{_libdir}/%{name}/tunctl
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}/vhashify
846 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
847 %attr(755,root,root) %{_libdir}/%{name}/vpkg
848 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
849 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
850 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
851 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
852 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
853 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
854 %attr(755,root,root) %{_libdir}/%{name}/vshelper
855 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
856 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
857 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
858 %attr(755,root,root) %{_libdir}/%{name}/vunify
859 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
860 %{_mandir}/man8/chbind.8*
861 %{_mandir}/man8/chcontext.8*
862 %{_mandir}/man8/reducecap.8*
863 %{_mandir}/man8/vps.8*
864 %{_mandir}/man8/vpstree.8*
865 %{_mandir}/man8/vserver-build.8*
866 %{_mandir}/man8/vserver-stat.8*
867 %{_mandir}/man8/vserver.8*
868 %{_mandir}/man8/vtop.8*
869 %attr(000,root,root) %dir /vservers
871 %{systemdtmpfilesdir}/%{name}.conf
872 %dir %{_localstatedir}/run/vservers
873 %dir %{_localstatedir}/run/vservers.rev
874 %dir %{_localstatedir}/run/vshelper
875 %dir /var/cache/vservers
876 %dir /var/cache/vservers/poldek
879 %defattr(644,root,root,755)
880 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
881 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
884 %defattr(644,root,root,755)
885 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
886 %attr(755,root,root) %{_libdir}/libvserver.so
888 %{_includedir}/vserver*.h
889 %{_pkgconfigdir}/*.pc
892 %defattr(644,root,root,755)
893 %{_libdir}/libvserver.a
897 %defattr(644,root,root,755)
898 %dir %{_sysconfdir}/vservices
899 %{_sysconfdir}/vservices/*
900 %dir %{_libdir}/%{name}/legacy
901 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
902 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
903 %attr(754,root,root) /etc/rc.d/init.d/v_*
904 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
905 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
906 %attr(755,root,root) %{_sbindir}/vserver-copy
907 %{_mandir}/man8/distrib-info.8*
908 %{_mandir}/man8/rebootmgr.8*
909 %{_mandir}/man8/vserver-copy.8*
912 %files -n python-util-vserver
913 %defattr(644,root,root,755)
914 %attr(755,root,root) %{py_sitedir}/_libvserver.so
915 %{py_sitedir}/libvserver.py
917 %files -n vserver-distro-alpine
918 %defattr(644,root,root,755)
919 %dir %{_datadir}/%{name}/distributions/alpine
920 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost
921 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre
923 %files -n vserver-distro-centos
924 %defattr(644,root,root,755)
925 %{_datadir}/util-vserver/distributions/centos*
927 %files -n vserver-distro-debian
928 %defattr(644,root,root,755)
929 %dir %{_datadir}/%{name}/distributions/debian
930 %attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost
931 %{_datadir}/%{name}/distributions/etch
932 %{_datadir}/%{name}/distributions/lenny
933 %{_datadir}/%{name}/distributions/sid
934 %{_datadir}/%{name}/distributions/squeeze
935 %{_datadir}/%{name}/distributions/wheezy
937 %files -n vserver-distro-fedora
938 %defattr(644,root,root,755)
939 %dir %{_sysconfdir}/vservers/.distributions/f7
940 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
941 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
942 %dir %{_sysconfdir}/vservers/.distributions/fc*
943 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
944 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
945 %{_datadir}/%{name}/distributions/f7
946 %{_datadir}/%{name}/distributions/f8
947 %{_datadir}/%{name}/distributions/f9
948 %{_datadir}/%{name}/distributions/f10
949 %{_datadir}/%{name}/distributions/f11
950 %{_datadir}/%{name}/distributions/f12
951 %{_datadir}/%{name}/distributions/f13
952 %{_datadir}/%{name}/distributions/f14
953 %{_datadir}/%{name}/distributions/fc1
954 %{_datadir}/%{name}/distributions/fc2
955 %{_datadir}/%{name}/distributions/fc3
956 %{_datadir}/%{name}/distributions/fc4
957 %{_datadir}/%{name}/distributions/fc5
958 %{_datadir}/%{name}/distributions/fc6
960 %files -n vserver-distro-gentoo
961 %defattr(644,root,root,755)
962 %dir %{_datadir}/util-vserver/distributions/gentoo
963 %attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/*
964 %attr(755,root,root) %{_sbindir}/vdispatch-conf
965 %attr(755,root,root) %{_sbindir}/vemerge
966 %attr(755,root,root) %{_sbindir}/vesync
967 %attr(755,root,root) %{_sbindir}/vupdateworld
969 %files -n vserver-distro-pld
970 %defattr(644,root,root,755)
971 %dir %{_datadir}/%{name}/distributions/pld
972 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost
973 %dir %{_datadir}/%{name}/distributions/pld-*
974 %{_datadir}/%{name}/distributions/pld-*/pkgs
975 %{_datadir}/%{name}/distributions/pld-*/pubkeys
976 %{_datadir}/%{name}/distributions/pld-*/rpm
977 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost
978 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
979 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
980 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
981 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
982 %dir %{_sysconfdir}/vservers/.distributions/pld-th
983 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
984 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
985 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
987 %files -n vserver-distro-redhat
988 %defattr(644,root,root,755)
989 %dir %{_sysconfdir}/vservers/.distributions/rh9
990 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
991 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
992 %{_datadir}/%{name}/distributions/rh9
993 %dir %{_datadir}/%{name}/distributions/redhat
994 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl
995 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost
996 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre
997 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit
999 %files -n vserver-distro-suse
1000 %defattr(644,root,root,755)
1001 %dir %{_sysconfdir}/vservers/.distributions/suse*
1002 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1003 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1004 %{_datadir}/%{name}/distributions/suse*
1006 %files -n vserver-distro-scientificlinux
1007 %defattr(644,root,root,755)
1008 %dir %{_datadir}/%{name}/distributions/sl6
1009 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost
1010 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre
1011 %{_datadir}/%{name}/distributions/sl6/pkgs
1012 %{_datadir}/%{name}/distributions/sl6/yum
1013 %{_datadir}/%{name}/distributions/sl6/yum.repos.d
1015 %files -n vserver-distro-tld
1016 %defattr(644,root,root,755)
1017 %dir %{_datadir}/%{name}/distributions/tld
1018 %attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost
1019 %{_datadir}/%{name}/distributions/tld/pkgs
1020 %{_datadir}/%{name}/distributions/tld/rpm
1021 %dir %{_sysconfdir}/vservers/.distributions/tld
1022 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1023 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1024 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf