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}
125 Requires: pld-release
127 Requires: mktemp >= 1.5-18
128 Requires: rc-scripts >= 0.4.3.4
129 #Requires: rpm >= 5.4.10-36
131 Requires: uname(release) >= 2.6.27
132 Requires: util-linux >= 2.13
133 Requires: vserver-distro-pld = %{version}-%{release}
134 Suggests: %{reqdb_pkg}-utils
135 Obsoletes: util-vserver-build
136 Obsoletes: util-vserver-core
137 Obsoletes: util-vserver-init
138 Conflicts: poldek < 0.18.8-10
139 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
142 # binaries created with this option have broken segments when using dietlibc
143 %define filterout_ld -Wl,-z,relro
147 %define _usrbin /usr/bin
148 %define _usrsbin /usr/sbin
149 %define _usrlib /usr/lib
152 This package provides the components and a framework to setup virtual
153 servers. A virtual server runs inside a Linux server. It is
154 nevertheless highly independent. As such, you can run various services
155 with normal configuration. The various vservers can't interact with
156 each other and can't interact with services in the main server.
158 This requires a special kernel supporting the new new_s_context and
159 set_ipv4root system call.
161 This package contains utilities which are required to communicate with
162 the Linux-Vserver enabled kernel, utilities which assist in building
163 Vservers and SysV initscripts which start and stop Vservers and
166 %description -l pl.UTF-8
167 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
168 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
169 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
170 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
171 w interakcję z innymi ani z usługami na głównym serwerze.
173 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
174 new_s_context i set_ipv4root.
176 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
177 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
178 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
179 zatrzymujące Vserwery oraz powiązane narzędzia.
182 Summary: Dynamic libraries for util-vserver
183 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
187 util-vserver provides the components and a framework to setup virtual
188 servers. A virtual server runs inside a linux server. It is
189 nevertheless highly independent. As such, you can run various services
190 pith normal configuration. The various vservers can't interact with
191 each other and can't interact with services in the main server.
193 This package contains the shared libraries needed by all other
194 'util-vserver' subpackages.
196 %description lib -l pl.UTF-8
197 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
198 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
199 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
200 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
201 w interakcję z innymi ani z usługami na głównym serwerze.
203 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
204 podpakiety util-vserver.
207 Summary: Development files for Linux vserver libraries
208 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
209 Group: Development/Libraries
210 Requires: %{name}-lib = %{version}-%{release}
213 This package contains the development files necessary for developing
214 programs which use vserver library.
216 %description devel -l pl.UTF-8
217 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
218 programów używających biblioteki vserver.
221 Summary: Static vserver library
222 Summary(pl.UTF-8): Biblioteka statyczna vservera
223 Group: Development/Libraries
224 Requires: %{name}-devel = %{version}-%{release}
227 This package contains the static version of vserver library.
229 %description static -l pl.UTF-8
230 Ten pakiet zawiera statyczną wersję biblioteki vservera.
233 Summary: Legacy utilities for util-vserver
234 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
235 Group: Applications/System
236 Requires(post,preun): /sbin/chkconfig
237 Requires: %{name} = %{version}-%{release}
241 util-vserver provides the components and a framework to setup virtual
242 servers. A virtual server runs inside a linux server. It is
243 nevertheless highly independent. As such, you can run various services
244 with normal configuration. The various vservers can't interact with
245 each other and can't interact with services in the main server.
247 This package contains the tools which are needed to work with Vservers
248 having an old-style configuration.
250 %description legacy -l pl.UTF-8
251 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
252 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
253 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
254 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
255 w interakcję z innymi ani z usługami na głównym serwerze.
257 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
258 konfigurację w starym stylu.
260 %package -n python-util-vserver
261 Summary: Python interface to libutil-vserver library
262 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
264 Group: Libraries/Python
266 %description -n python-util-vserver
267 Python interface to libutil-vserver library.
269 %description -n python-util-vserver -l pl.UTF-8
270 Pythonowy interfejs do biblioteki libutil-vserver.
272 %package -n vserver-distro-alpine
273 Summary: VServer build template for Alpine Linux
274 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
275 Group: Applications/System
276 Requires: %{name} = %{version}-%{release}
278 %description -n vserver-distro-alpine
279 VServer build template for Alpine Linux.
281 %description -n vserver-distro-alpine -l pl.UTF-8
282 Szablon budowania VServerów dla dystrybucji Alpine Linux.
284 %package -n vserver-distro-centos
285 Summary: VServer build template for CentOS
286 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
287 Group: Applications/System
288 Requires: %{name} = %{version}-%{release}
289 Requires: vserver-distro-redhat = %{version}-%{release}
292 %description -n vserver-distro-centos
293 VServer build template for CentOS 4.2 and 5.
295 %description -n vserver-distro-centos -l pl.UTF-8
296 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
298 %package -n vserver-distro-debian
299 Summary: VServer build templates for Debian and Ubuntu
300 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
301 Group: Applications/System
302 Requires: %{name} = %{version}-%{release}
303 Requires: debootstrap
305 Provides: vserver-distro-ubuntu
306 Obsoletes: vserver-distro-ubuntu
308 %description -n vserver-distro-debian
309 VServer build templates for Debian and Ubuntu.
311 %description -n vserver-distro-debian -l pl.UTF-8
312 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
314 %package -n vserver-distro-fedora
315 Summary: VServer build templates for Fedora
316 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
317 Group: Applications/System
318 Requires: %{name} = %{version}-%{release}
322 Requires: vserver-distro-redhat = %{version}-%{release}
326 %description -n vserver-distro-fedora
327 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
329 %description -n vserver-distro-fedora -l pl.UTF-8
330 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
331 1,2,3,4,5,6 oraz Fedora 7.
333 %package -n vserver-distro-gentoo
334 Summary: VServer build template for Gentoo
335 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
336 Group: Applications/System
337 Requires: %{name} = %{version}-%{release}
339 %description -n vserver-distro-gentoo
340 VServer build template for Gentoo.
342 %description -n vserver-distro-gentoo -l pl.UTF-8
343 Szablon budowania VServerów dla Gentoo.
345 %package -n vserver-distro-pld
346 Summary: VServer build templates for PLD Linux
347 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
348 Group: Applications/System
349 Requires: %{name} = %{version}-%{release}
350 Requires: /etc/pld-release
351 Requires: poldek >= 0.30
353 %description -n vserver-distro-pld
354 VServer build templates for PLD Linux.
356 %description -n vserver-distro-pld -l pl.UTF-8
357 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
359 %package -n vserver-distro-redhat
360 Summary: VServer build template for Red Hat Linux 9
361 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
362 Group: Applications/System
363 Requires: %{name} = %{version}-%{release}
369 %description -n vserver-distro-redhat
370 VServer build template for RedHat Linux 9.
372 %description -n vserver-distro-redhat -l pl.UTF-8
373 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
375 %package -n vserver-distro-suse
376 Summary: VServer build template for SuSE 9.1
377 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
378 Group: Applications/System
379 Requires: %{name} = %{version}-%{release}
385 %description -n vserver-distro-suse
386 VServer build template for SuSE Linux 9.1.
388 %description -n vserver-distro-suse -l pl.UTF-8
389 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
391 %package -n vserver-distro-scientificlinux
392 Summary: VServer build template for Scientific Linux
393 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
394 Group: Applications/System
395 Requires: %{name} = %{version}-%{release}
402 %description -n vserver-distro-scientificlinux
403 VServer build template for Scientific Linux.
405 %description -n vserver-distro-scientificlinux -l pl.UTF-8
406 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
408 %package -n vserver-distro-tld
409 Summary: VServer build templates for Titanium Linux Distribution
410 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
411 Group: Applications/System
412 Requires: %{name} = %{version}-%{release}
413 Requires: poldek >= 0.30
415 %description -n vserver-distro-tld
416 VServer build templates for Titanium Linux Distribution.
418 %description -n vserver-distro-tld -l pl.UTF-8
419 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
422 %setup -q -n %{name}-%{version}-%{snap} -a11
432 %{?with_no_dynamic_context:%patch10 -p1}
452 cp -p %{SOURCE9} package-management.txt
454 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
457 unset LD_SYMBOLIC_FUNCTIONS || :
460 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
467 --with-initrddir=/etc/rc.d/init.d \
469 --enable-apis=NOLEGACY \
470 --with-initscripts=sysv \
471 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
473 IONICE=%{_usrbin}/ionice \
475 IPTABLES=%{_usrsbin}/iptables \
477 MODPROBE=/sbin/modprobe \
479 NAMEIF=/sbin/nameif \
481 RESTORE=/sbin/restore \
483 RSYNC=%{_usrbin}/rsync \
484 STRACE=%{_usrbin}/strace \
486 VCONFIG=/sbin/vconfig \
487 WGET=%{_usrbin}/wget \
492 %{?with_doc:%{__make} doc}
494 %{__make} -C vproc-%{vproc_version} \
496 CFLAGS="%{rpmcflags}"
499 rm -rf $RPM_BUILD_ROOT
500 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
501 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
502 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
504 %{__make} -j1 install install-distribution \
505 %if %{without legacy}
506 scripts_legacy_src_SCRPTS= \
507 scripts_legacy_gen_SCRPTS= \
508 scripts_legacy_src_PRGS= \
512 DESTDIR=$RPM_BUILD_ROOT
515 # fix breakage caused by too many substitiutions on x86
516 %{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libdir}/%{name}/sigexec|g' \
517 $RPM_BUILD_ROOT%{_libdir}/%{name}/vshelper
520 # our libcgroup uses per subsystem mount
521 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
523 chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/*
525 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
526 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
527 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
528 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers
529 sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \
530 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
533 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
535 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
536 s=$(basename $i | sed s/v_//)
537 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
538 # IP addresses/interfaces to bound $s service to
544 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
545 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
546 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
548 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
549 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
550 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
551 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
552 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
555 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
556 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
557 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld
558 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost
559 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost
560 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost
561 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost
562 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
563 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
564 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
566 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
567 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
570 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys
571 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
573 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys
574 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
576 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
578 # set arch for pld-ac in pld.conf
579 %ifarch i586 i686 ppc sparc alpha athlon
580 %define ftp_arch %{_target_cpu}
583 %define ftp_arch amd64
586 %define ftp_arch i386
588 %ifarch pentium2 pentium3 pentium4
589 %define ftp_arch i686
591 %ifarch sparcv9 sparc64
592 %define ftp_arch sparc
594 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
596 # set arch for pld-th in pld.conf
597 %ifarch i486 i686 ppc sparc alpha athlon
598 %define ftp_arch %{_target_cpu}
601 %define ftp_arch x86_64
604 %define ftp_arch i486
606 %ifarch pentium2 pentium3 pentium4
607 %define ftp_arch i686
609 %ifarch sparcv9 sparc64
610 %define ftp_arch sparc
612 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
614 # set arch for tld in tld.conf
615 %ifarch i586 i686 ppc sparc alpha
616 %define ftp_arch %{_target_cpu}
619 %define ftp_arch x86_64
621 %ifarch athlon pentium2 pentium3 pentium4
622 %define ftp_arch i686
624 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
626 # current debootstrap link
627 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \
628 > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri
630 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
633 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
634 # we have our own initscript which does the same
635 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
636 %{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions
637 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
638 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
641 rm -rf $RPM_BUILD_ROOT
643 %triggerun -- util-vserver-init
644 # Prevent preun from util-vserver-init from working
645 chmod a-x /etc/rc.d/init.d/vprocunhide
646 chmod a-x /etc/rc.d/init.d/vrootdevices
647 chmod a-x /etc/rc.d/init.d/vservers
649 %triggerpostun -- util-vserver-init
650 # Restore what triggerun removed
651 chmod ug+x /etc/rc.d/init.d/vprocunhide
652 chmod ug+x /etc/rc.d/init.d/vrootdevices
653 chmod ug+x /etc/rc.d/init.d/vservers
654 /sbin/chkconfig --add vrootdevices
655 /sbin/chkconfig --add vprocunhide
656 /sbin/chkconfig --add vservers
657 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
658 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
659 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
661 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
662 cp -f /etc/sysconfig/vservers{,.rpmnew}
663 mv -f /etc/sysconfig/vservers{.rpmsave,}
667 %{_sbindir}/setattr --barrier /vservers || :
668 /sbin/chkconfig --add util-vserver
669 /sbin/chkconfig --add vrootdevices
670 /sbin/chkconfig --add vprocunhide
671 /sbin/chkconfig --add vservers
672 if [ ! -f /var/lock/subsys/util-vserver ]; then
673 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
675 if [ ! -f /var/lock/subsys/vrootdevices ]; then
676 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
678 if [ ! -f /var/lock/subsys/vprocunhide ]; then
679 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
681 if [ ! -f /var/lock/subsys/vservers ]; then
682 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
686 if [ "$1" = "0" ]; then
687 %service util-vserver stop
688 %service vservers stop
689 %service vprocunhide stop
690 %service vrootdevices stop
691 /sbin/chkconfig --del util-vserver
692 /sbin/chkconfig --del vservers
693 /sbin/chkconfig --del vprocunhide
694 /sbin/chkconfig --del vrootdevices
697 %post lib -p /sbin/ldconfig
698 %postun lib -p /sbin/ldconfig
701 /sbin/chkconfig --add rebootmgr
702 /sbin/chkconfig --add vservers-legacy
703 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
704 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
706 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
707 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
711 if [ "$1" = "0" ]; then
712 %service rebootmgr stop
713 %service vservers-legacy stop
714 /sbin/chkconfig --del rebootmgr
715 /sbin/chkconfig --del vservers-legacy
718 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
719 for D in ac th ti; do
720 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
722 if [ -f $P/pld-source.conf.rpmsave ]; then
723 cp -f $P/repos.d/pld.conf{,.rpmnew}
724 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
730 %defattr(644,root,root,755)
731 %doc AUTHORS NEWS THANKS doc/intro.txt
732 %doc package-management.txt
733 %{?with_doc:%doc doc/*.html}
734 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
735 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
736 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
737 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
738 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
739 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
740 %attr(754,root,root) /etc/rc.d/init.d/vservers
741 %dir %{_sysconfdir}/vservers
742 %dir %{_sysconfdir}/vservers/.defaults
743 %dir %{_sysconfdir}/vservers/.defaults/apps
744 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
745 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
746 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
747 %dir %{_sysconfdir}/vservers/.defaults/cgroup
748 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
749 %dir %{_sysconfdir}/vservers/.defaults/files
750 %{_sysconfdir}/vservers/.defaults/vdirbase
751 %{_sysconfdir}/vservers/.defaults/cachebase
752 %{_sysconfdir}/vservers/.defaults/run.rev
753 %dir %{_sysconfdir}/vservers/.distributions
754 %dir %{_sysconfdir}/vservers/.distributions/.common
755 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
757 %attr(755,root,root) %{_sbindir}/chbind
758 %attr(755,root,root) %{_sbindir}/chcontext
759 %attr(755,root,root) %{_sbindir}/chxid
760 %attr(755,root,root) %{_sbindir}/exec-cd
761 %attr(755,root,root) %{_sbindir}/lsxid
762 %attr(755,root,root) %{_sbindir}/naddress
763 %attr(755,root,root) %{_sbindir}/nattribute
764 %attr(755,root,root) %{_sbindir}/ncontext
765 %attr(755,root,root) %{_sbindir}/reducecap
766 %attr(755,root,root) %{_sbindir}/setattr
767 %attr(755,root,root) %{_sbindir}/showattr
768 %attr(755,root,root) %{_sbindir}/vapt-get
769 %attr(755,root,root) %{_sbindir}/vattribute
770 %attr(755,root,root) %{_sbindir}/vcontext
771 %attr(755,root,root) %{_sbindir}/vdevmap
772 %attr(755,root,root) %{_sbindir}/vdlimit
773 %attr(755,root,root) %{_sbindir}/vdu
774 %attr(755,root,root) %{_sbindir}/vkill
775 %attr(755,root,root) %{_sbindir}/vlimit
776 %attr(755,root,root) %{_sbindir}/vmemctrl
777 %attr(755,root,root) %{_sbindir}/vmount
778 %attr(755,root,root) %{_sbindir}/vnamespace
779 %attr(755,root,root) %{_sbindir}/vpoldek
780 %attr(755,root,root) %{_sbindir}/vproc
781 %attr(755,root,root) %{_sbindir}/vps
782 %attr(755,root,root) %{_sbindir}/vpstree
783 %attr(755,root,root) %{_sbindir}/vrpm
784 %attr(755,root,root) %{_sbindir}/vrsetup
785 %attr(755,root,root) %{_sbindir}/vsched
786 %attr(755,root,root) %{_sbindir}/vserver
787 %attr(755,root,root) %{_sbindir}/vserver-info
788 %attr(755,root,root) %{_sbindir}/vserver-stat
789 %attr(755,root,root) %{_sbindir}/vsomething
790 %attr(755,root,root) %{_sbindir}/vspace
791 %attr(755,root,root) %{_sbindir}/vtag
792 %attr(755,root,root) %{_sbindir}/vtop
793 %attr(755,root,root) %{_sbindir}/vuname
794 %attr(755,root,root) %{_sbindir}/vurpm
795 %attr(755,root,root) %{_sbindir}/vwait
796 %attr(755,root,root) %{_sbindir}/vyum
797 %dir %{_datadir}/%{name}
798 %dir %{_datadir}/%{name}/defaults
799 %{_datadir}/%{name}/defaults/fstab
800 %{_datadir}/%{name}/defaults/debootstrap.*
801 %{_datadir}/%{name}/defaults/vunify-exclude
802 %{_datadir}/%{name}/defaults/context.start
803 %{_datadir}/%{name}/defaults/environment
804 %{_datadir}/%{name}/defaults/h2ext.desc
805 %{_datadir}/%{name}/defaults/mtab
806 %{_datadir}/%{name}/defaults/vprocunhide-files
807 %dir %{_datadir}/%{name}/distributions
808 %{_datadir}/%{name}/distributions/defaults
809 %dir %{_datadir}/%{name}/distributions/template
810 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost
811 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre
812 %{_datadir}/%{name}/FEATURES.txt
813 %{_datadir}/%{name}/util-vserver-vars
814 %{_datadir}/%{name}/functions
815 %{_datadir}/%{name}/vserver-build.*
816 %{_datadir}/%{name}/vserver-setup.functions
817 %{_datadir}/%{name}/vserver.*
818 %dir %{_libdir}/%{name}
819 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
820 %attr(755,root,root) %{_libdir}/%{name}/capchroot
821 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
822 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
823 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
824 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
825 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
826 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
827 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
828 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
829 %attr(755,root,root) %{_libdir}/%{name}/filetime
830 %attr(755,root,root) %{_libdir}/%{name}/h2ext
831 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
832 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
833 %attr(755,root,root) %{_libdir}/%{name}/lockfile
834 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
835 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
836 %attr(755,root,root) %{_libdir}/%{name}/readlink
837 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
838 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
839 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
840 %attr(755,root,root) %{_libdir}/%{name}/sigexec
841 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
842 %attr(755,root,root) %{_libdir}/%{name}/tunctl
843 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
844 %attr(755,root,root) %{_libdir}/%{name}/vclone
845 %attr(755,root,root) %{_libdir}/%{name}/vcopy
846 %attr(755,root,root) %{_libdir}/%{name}/vhashify
847 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
848 %attr(755,root,root) %{_libdir}/%{name}/vpkg
849 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
850 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
851 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
852 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
853 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
854 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
855 %attr(755,root,root) %{_libdir}/%{name}/vshelper
856 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
857 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
858 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
859 %attr(755,root,root) %{_libdir}/%{name}/vunify
860 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
861 %{_mandir}/man8/chbind.8*
862 %{_mandir}/man8/chcontext.8*
863 %{_mandir}/man8/reducecap.8*
864 %{_mandir}/man8/vps.8*
865 %{_mandir}/man8/vpstree.8*
866 %{_mandir}/man8/vserver-build.8*
867 %{_mandir}/man8/vserver-stat.8*
868 %{_mandir}/man8/vserver.8*
869 %{_mandir}/man8/vtop.8*
870 %attr(000,root,root) %dir /vservers
872 %{systemdtmpfilesdir}/%{name}.conf
873 %dir %{_localstatedir}/run/vservers
874 %dir %{_localstatedir}/run/vservers.rev
875 %dir %{_localstatedir}/run/vshelper
876 %dir /var/cache/vservers
877 %dir /var/cache/vservers/poldek
880 %defattr(644,root,root,755)
881 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
882 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
885 %defattr(644,root,root,755)
886 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
887 %attr(755,root,root) %{_libdir}/libvserver.so
889 %{_includedir}/vserver*.h
890 %{_pkgconfigdir}/*.pc
893 %defattr(644,root,root,755)
894 %{_libdir}/libvserver.a
898 %defattr(644,root,root,755)
899 %dir %{_sysconfdir}/vservices
900 %{_sysconfdir}/vservices/*
901 %dir %{_libdir}/%{name}/legacy
902 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
903 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
904 %attr(754,root,root) /etc/rc.d/init.d/v_*
905 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
906 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
907 %attr(755,root,root) %{_sbindir}/vserver-copy
908 %{_mandir}/man8/distrib-info.8*
909 %{_mandir}/man8/rebootmgr.8*
910 %{_mandir}/man8/vserver-copy.8*
913 %files -n python-util-vserver
914 %defattr(644,root,root,755)
915 %attr(755,root,root) %{py_sitedir}/_libvserver.so
916 %{py_sitedir}/libvserver.py
918 %files -n vserver-distro-alpine
919 %defattr(644,root,root,755)
920 %dir %{_datadir}/%{name}/distributions/alpine
921 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost
922 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre
924 %files -n vserver-distro-centos
925 %defattr(644,root,root,755)
926 %{_datadir}/util-vserver/distributions/centos*
928 %files -n vserver-distro-debian
929 %defattr(644,root,root,755)
930 %dir %{_datadir}/%{name}/distributions/debian
931 %attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost
932 %{_datadir}/%{name}/distributions/etch
933 %{_datadir}/%{name}/distributions/lenny
934 %{_datadir}/%{name}/distributions/sid
935 %{_datadir}/%{name}/distributions/squeeze
936 %{_datadir}/%{name}/distributions/wheezy
938 %files -n vserver-distro-fedora
939 %defattr(644,root,root,755)
940 %dir %{_sysconfdir}/vservers/.distributions/f7
941 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
942 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
943 %dir %{_sysconfdir}/vservers/.distributions/fc*
944 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
945 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
946 %{_datadir}/%{name}/distributions/f7
947 %{_datadir}/%{name}/distributions/f8
948 %{_datadir}/%{name}/distributions/f9
949 %{_datadir}/%{name}/distributions/f10
950 %{_datadir}/%{name}/distributions/f11
951 %{_datadir}/%{name}/distributions/f12
952 %{_datadir}/%{name}/distributions/f13
953 %{_datadir}/%{name}/distributions/f14
954 %{_datadir}/%{name}/distributions/fc1
955 %{_datadir}/%{name}/distributions/fc2
956 %{_datadir}/%{name}/distributions/fc3
957 %{_datadir}/%{name}/distributions/fc4
958 %{_datadir}/%{name}/distributions/fc5
959 %{_datadir}/%{name}/distributions/fc6
961 %files -n vserver-distro-gentoo
962 %defattr(644,root,root,755)
963 %dir %{_datadir}/util-vserver/distributions/gentoo
964 %attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/*
965 %attr(755,root,root) %{_sbindir}/vdispatch-conf
966 %attr(755,root,root) %{_sbindir}/vemerge
967 %attr(755,root,root) %{_sbindir}/vesync
968 %attr(755,root,root) %{_sbindir}/vupdateworld
970 %files -n vserver-distro-pld
971 %defattr(644,root,root,755)
972 %dir %{_datadir}/%{name}/distributions/pld
973 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost
974 %dir %{_datadir}/%{name}/distributions/pld-*
975 %{_datadir}/%{name}/distributions/pld-*/pkgs
976 %{_datadir}/%{name}/distributions/pld-*/pubkeys
977 %{_datadir}/%{name}/distributions/pld-*/rpm
978 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost
979 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
980 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
981 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
982 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
983 %dir %{_sysconfdir}/vservers/.distributions/pld-th
984 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
985 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
986 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
988 %files -n vserver-distro-redhat
989 %defattr(644,root,root,755)
990 %dir %{_sysconfdir}/vservers/.distributions/rh9
991 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
992 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
993 %{_datadir}/%{name}/distributions/rh9
994 %dir %{_datadir}/%{name}/distributions/redhat
995 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl
996 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost
997 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre
998 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit
1000 %files -n vserver-distro-suse
1001 %defattr(644,root,root,755)
1002 %dir %{_sysconfdir}/vservers/.distributions/suse*
1003 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1004 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1005 %{_datadir}/%{name}/distributions/suse*
1007 %files -n vserver-distro-scientificlinux
1008 %defattr(644,root,root,755)
1009 %dir %{_datadir}/%{name}/distributions/sl6
1010 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost
1011 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre
1012 %{_datadir}/%{name}/distributions/sl6/pkgs
1013 %{_datadir}/%{name}/distributions/sl6/yum
1014 %{_datadir}/%{name}/distributions/sl6/yum.repos.d
1016 %files -n vserver-distro-tld
1017 %defattr(644,root,root,755)
1018 %dir %{_datadir}/%{name}/distributions/tld
1019 %attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost
1020 %{_datadir}/%{name}/distributions/tld/pkgs
1021 %{_datadir}/%{name}/distributions/tld/rpm
1022 %dir %{_sysconfdir}/vservers/.distributions/tld
1023 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1024 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1025 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf