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.xz
31 # Source0-md5: 24eccf79dd1c1793818630fb0ac250a0
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
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.33-4}
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-latex-wasysym
115 BuildRequires: texlive-makeindex
116 BuildRequires: texlive-pdftex
117 BuildRequires: texlive-xetex
119 %{?with_xalan:BuildRequires: xalan-j}
121 Requires(post,preun): /sbin/chkconfig
122 Requires: %{name}-lib = %{version}-%{release}
127 Requires: mktemp >= 1.5-18
128 Requires: pld-release
129 Requires: rc-scripts >= 0.4.3.4
130 #Requires: rpm >= 5.4.10-36
132 Requires: uname(release) >= 2.6.27
133 Requires: util-linux >= 2.13
134 Requires: vserver-distro-pld = %{version}-%{release}
135 Suggests: %{reqdb_pkg}-utils
137 Obsoletes: util-vserver-build
138 Obsoletes: util-vserver-core
139 Obsoletes: util-vserver-init
140 Conflicts: poldek < 0.18.8-10
141 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
144 # binaries created with this option have broken segments when using dietlibc
145 %define filterout_ld -Wl,-z,relro
149 %define _usrbin /usr/bin
150 %define _usrsbin /usr/sbin
151 %define _usrlib /usr/lib
154 This package provides the components and a framework to setup virtual
155 servers. A virtual server runs inside a Linux server. It is
156 nevertheless highly independent. As such, you can run various services
157 with normal configuration. The various vservers can't interact with
158 each other and can't interact with services in the main server.
160 This requires a special kernel supporting the new new_s_context and
161 set_ipv4root system call.
163 This package contains utilities which are required to communicate with
164 the Linux-Vserver enabled kernel, utilities which assist in building
165 Vservers and SysV initscripts which start and stop Vservers and
168 %description -l pl.UTF-8
169 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
170 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
171 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
172 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
173 w interakcję z innymi ani z usługami na głównym serwerze.
175 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
176 new_s_context i set_ipv4root.
178 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
179 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
180 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
181 zatrzymujące Vserwery oraz powiązane narzędzia.
184 Summary: Dynamic libraries for util-vserver
185 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
189 util-vserver provides the components and a framework to setup virtual
190 servers. A virtual server runs inside a linux server. It is
191 nevertheless highly independent. As such, you can run various services
192 pith normal configuration. The various vservers can't interact with
193 each other and can't interact with services in the main server.
195 This package contains the shared libraries needed by all other
196 'util-vserver' subpackages.
198 %description lib -l pl.UTF-8
199 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
200 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
201 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
202 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
203 w interakcję z innymi ani z usługami na głównym serwerze.
205 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
206 podpakiety util-vserver.
209 Summary: Development files for Linux vserver libraries
210 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
211 Group: Development/Libraries
212 Requires: %{name}-lib = %{version}-%{release}
215 This package contains the development files necessary for developing
216 programs which use vserver library.
218 %description devel -l pl.UTF-8
219 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
220 programów używających biblioteki vserver.
223 Summary: Static vserver library
224 Summary(pl.UTF-8): Biblioteka statyczna vservera
225 Group: Development/Libraries
226 Requires: %{name}-devel = %{version}-%{release}
229 This package contains the static version of vserver library.
231 %description static -l pl.UTF-8
232 Ten pakiet zawiera statyczną wersję biblioteki vservera.
235 Summary: Legacy utilities for util-vserver
236 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
237 Group: Applications/System
238 Requires(post,preun): /sbin/chkconfig
239 Requires: %{name} = %{version}-%{release}
243 util-vserver provides the components and a framework to setup virtual
244 servers. A virtual server runs inside a linux server. It is
245 nevertheless highly independent. As such, you can run various services
246 with normal configuration. The various vservers can't interact with
247 each other and can't interact with services in the main server.
249 This package contains the tools which are needed to work with Vservers
250 having an old-style configuration.
252 %description legacy -l pl.UTF-8
253 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
254 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
255 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
256 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
257 w interakcję z innymi ani z usługami na głównym serwerze.
259 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
260 konfigurację w starym stylu.
262 %package -n python-util-vserver
263 Summary: Python interface to libutil-vserver library
264 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
266 Group: Libraries/Python
268 %description -n python-util-vserver
269 Python interface to libutil-vserver library.
271 %description -n python-util-vserver -l pl.UTF-8
272 Pythonowy interfejs do biblioteki libutil-vserver.
274 %package -n vserver-distro-alpine
275 Summary: VServer build template for Alpine Linux
276 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
277 Group: Applications/System
278 Requires: %{name} = %{version}-%{release}
280 %description -n vserver-distro-alpine
281 VServer build template for Alpine Linux.
283 %description -n vserver-distro-alpine -l pl.UTF-8
284 Szablon budowania VServerów dla dystrybucji Alpine Linux.
286 %package -n vserver-distro-centos
287 Summary: VServer build template for CentOS
288 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
289 Group: Applications/System
290 Requires: %{name} = %{version}-%{release}
291 Requires: vserver-distro-redhat = %{version}-%{release}
294 %description -n vserver-distro-centos
295 VServer build template for CentOS 4.2 and 5.
297 %description -n vserver-distro-centos -l pl.UTF-8
298 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
300 %package -n vserver-distro-debian
301 Summary: VServer build templates for Debian and Ubuntu
302 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
303 Group: Applications/System
304 Requires: %{name} = %{version}-%{release}
305 Requires: debootstrap
307 Provides: vserver-distro-ubuntu
308 Obsoletes: vserver-distro-ubuntu
310 %description -n vserver-distro-debian
311 VServer build templates for Debian and Ubuntu.
313 %description -n vserver-distro-debian -l pl.UTF-8
314 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
316 %package -n vserver-distro-fedora
317 Summary: VServer build templates for Fedora
318 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
319 Group: Applications/System
320 Requires: %{name} = %{version}-%{release}
324 Requires: vserver-distro-redhat = %{version}-%{release}
328 %description -n vserver-distro-fedora
329 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
331 %description -n vserver-distro-fedora -l pl.UTF-8
332 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
333 1,2,3,4,5,6 oraz Fedora 7.
335 %package -n vserver-distro-gentoo
336 Summary: VServer build template for Gentoo
337 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
338 Group: Applications/System
339 Requires: %{name} = %{version}-%{release}
341 %description -n vserver-distro-gentoo
342 VServer build template for Gentoo.
344 %description -n vserver-distro-gentoo -l pl.UTF-8
345 Szablon budowania VServerów dla Gentoo.
347 %package -n vserver-distro-pld
348 Summary: VServer build templates for PLD Linux
349 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
350 Group: Applications/System
351 Requires: %{name} = %{version}-%{release}
352 Requires: /etc/pld-release
353 Requires: poldek >= 0.30
355 %description -n vserver-distro-pld
356 VServer build templates for PLD Linux.
358 %description -n vserver-distro-pld -l pl.UTF-8
359 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
361 %package -n vserver-distro-redhat
362 Summary: VServer build template for Red Hat Linux 9
363 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
364 Group: Applications/System
365 Requires: %{name} = %{version}-%{release}
371 %description -n vserver-distro-redhat
372 VServer build template for RedHat Linux 9.
374 %description -n vserver-distro-redhat -l pl.UTF-8
375 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
377 %package -n vserver-distro-suse
378 Summary: VServer build template for SuSE 9.1
379 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
380 Group: Applications/System
381 Requires: %{name} = %{version}-%{release}
387 %description -n vserver-distro-suse
388 VServer build template for SuSE Linux 9.1.
390 %description -n vserver-distro-suse -l pl.UTF-8
391 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
393 %package -n vserver-distro-scientificlinux
394 Summary: VServer build template for Scientific Linux
395 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
396 Group: Applications/System
397 Requires: %{name} = %{version}-%{release}
404 %description -n vserver-distro-scientificlinux
405 VServer build template for Scientific Linux.
407 %description -n vserver-distro-scientificlinux -l pl.UTF-8
408 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
410 %package -n vserver-distro-tld
411 Summary: VServer build templates for Titanium Linux Distribution
412 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
413 Group: Applications/System
414 Requires: %{name} = %{version}-%{release}
415 Requires: poldek >= 0.30
417 %description -n vserver-distro-tld
418 VServer build templates for Titanium Linux Distribution.
420 %description -n vserver-distro-tld -l pl.UTF-8
421 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
424 %setup -q -n %{name}-%{version}-%{snap} -a11
434 %{?with_no_dynamic_context:%patch10 -p1}
454 cp -p %{SOURCE9} package-management.txt
456 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
459 unset LD_SYMBOLIC_FUNCTIONS || :
462 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
469 --with-initrddir=/etc/rc.d/init.d \
471 --enable-apis=NOLEGACY \
472 --with-initscripts=sysv \
473 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
475 IONICE=%{_usrbin}/ionice \
477 IPTABLES=%{_usrsbin}/iptables \
479 MODPROBE=/sbin/modprobe \
481 NAMEIF=/sbin/nameif \
483 RESTORE=/sbin/restore \
485 RSYNC=%{_usrbin}/rsync \
486 STRACE=%{_usrbin}/strace \
488 VCONFIG=/sbin/vconfig \
489 WGET=%{_usrbin}/wget \
494 %{?with_doc:%{__make} doc}
496 %{__make} -C vproc-%{vproc_version} \
498 CFLAGS="%{rpmcflags}"
501 rm -rf $RPM_BUILD_ROOT
502 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
503 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
504 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
506 %{__make} -j1 install install-distribution \
507 %if %{without legacy}
508 scripts_legacy_src_SCRPTS= \
509 scripts_legacy_gen_SCRPTS= \
510 scripts_legacy_src_PRGS= \
514 DESTDIR=$RPM_BUILD_ROOT
517 # fix breakage caused by too many substitiutions on x86
518 %{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libdir}/%{name}/sigexec|g' \
519 $RPM_BUILD_ROOT%{_libdir}/%{name}/vshelper
522 # our libcgroup uses per subsystem mount
523 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
525 chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/*
527 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
528 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
529 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
530 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers
531 sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \
532 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
535 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
537 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
538 s=$(basename $i | sed s/v_//)
539 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
540 # IP addresses/interfaces to bound $s service to
546 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
547 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
548 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
550 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
551 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
552 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
553 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
554 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
557 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
558 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
559 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld
560 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost
561 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost
562 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost
563 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost
564 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
565 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
566 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
568 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
569 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
572 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys
573 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
575 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys
576 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
578 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
580 # set arch for pld-ac in pld.conf
581 %ifarch i586 i686 ppc sparc alpha athlon
582 %define ftp_arch %{_target_cpu}
585 %define ftp_arch amd64
588 %define ftp_arch i386
590 %ifarch pentium2 pentium3 pentium4
591 %define ftp_arch i686
593 %ifarch sparcv9 sparc64
594 %define ftp_arch sparc
596 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
598 # set arch for pld-th in pld.conf
599 %ifarch i486 i686 ppc sparc alpha athlon
600 %define ftp_arch %{_target_cpu}
603 %define ftp_arch x86_64
606 %define ftp_arch i486
608 %ifarch pentium2 pentium3 pentium4
609 %define ftp_arch i686
611 %ifarch sparcv9 sparc64
612 %define ftp_arch sparc
614 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
616 # set arch for tld in tld.conf
617 %ifarch i586 i686 ppc sparc alpha
618 %define ftp_arch %{_target_cpu}
621 %define ftp_arch x86_64
623 %ifarch athlon pentium2 pentium3 pentium4
624 %define ftp_arch i686
626 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
628 # current debootstrap link
629 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \
630 > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri
632 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
635 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
636 # we have our own initscript which does the same
637 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
638 %{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions
639 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
640 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
643 rm -rf $RPM_BUILD_ROOT
645 %triggerun -- util-vserver-init
646 # Prevent preun from util-vserver-init from working
647 chmod a-x /etc/rc.d/init.d/vprocunhide
648 chmod a-x /etc/rc.d/init.d/vrootdevices
649 chmod a-x /etc/rc.d/init.d/vservers
651 %triggerpostun -- util-vserver-init
652 # Restore what triggerun removed
653 chmod ug+x /etc/rc.d/init.d/vprocunhide
654 chmod ug+x /etc/rc.d/init.d/vrootdevices
655 chmod ug+x /etc/rc.d/init.d/vservers
656 /sbin/chkconfig --add vrootdevices
657 /sbin/chkconfig --add vprocunhide
658 /sbin/chkconfig --add vservers
659 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
660 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
661 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
663 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
664 cp -f /etc/sysconfig/vservers{,.rpmnew}
665 mv -f /etc/sysconfig/vservers{.rpmsave,}
669 %{_sbindir}/setattr --barrier /vservers || :
670 /sbin/chkconfig --add util-vserver
671 /sbin/chkconfig --add vrootdevices
672 /sbin/chkconfig --add vprocunhide
673 /sbin/chkconfig --add vservers
674 if [ ! -f /var/lock/subsys/util-vserver ]; then
675 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
677 if [ ! -f /var/lock/subsys/vrootdevices ]; then
678 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
680 if [ ! -f /var/lock/subsys/vprocunhide ]; then
681 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
683 if [ ! -f /var/lock/subsys/vservers ]; then
684 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
688 if [ "$1" = "0" ]; then
689 %service util-vserver stop
690 %service vservers stop
691 %service vprocunhide stop
692 %service vrootdevices stop
693 /sbin/chkconfig --del util-vserver
694 /sbin/chkconfig --del vservers
695 /sbin/chkconfig --del vprocunhide
696 /sbin/chkconfig --del vrootdevices
699 %post lib -p /sbin/ldconfig
700 %postun lib -p /sbin/ldconfig
703 /sbin/chkconfig --add rebootmgr
704 /sbin/chkconfig --add vservers-legacy
705 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
706 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
708 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
709 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
713 if [ "$1" = "0" ]; then
714 %service rebootmgr stop
715 %service vservers-legacy stop
716 /sbin/chkconfig --del rebootmgr
717 /sbin/chkconfig --del vservers-legacy
720 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
721 for D in ac th ti; do
722 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
724 if [ -f $P/pld-source.conf.rpmsave ]; then
725 cp -f $P/repos.d/pld.conf{,.rpmnew}
726 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
732 %defattr(644,root,root,755)
733 %doc AUTHORS NEWS THANKS doc/intro.txt
734 %doc package-management.txt
735 %{?with_doc:%doc doc/*.html}
736 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
737 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
738 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
739 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
740 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
741 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
742 %attr(754,root,root) /etc/rc.d/init.d/vservers
743 %dir %{_sysconfdir}/vservers
744 %dir %{_sysconfdir}/vservers/.defaults
745 %dir %{_sysconfdir}/vservers/.defaults/apps
746 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
747 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
748 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
749 %dir %{_sysconfdir}/vservers/.defaults/cgroup
750 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
751 %dir %{_sysconfdir}/vservers/.defaults/files
752 %{_sysconfdir}/vservers/.defaults/vdirbase
753 %{_sysconfdir}/vservers/.defaults/cachebase
754 %{_sysconfdir}/vservers/.defaults/run.rev
755 %dir %{_sysconfdir}/vservers/.distributions
756 %dir %{_sysconfdir}/vservers/.distributions/.common
757 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
759 %attr(755,root,root) %{_sbindir}/chbind
760 %attr(755,root,root) %{_sbindir}/chcontext
761 %attr(755,root,root) %{_sbindir}/chxid
762 %attr(755,root,root) %{_sbindir}/exec-cd
763 %attr(755,root,root) %{_sbindir}/lsxid
764 %attr(755,root,root) %{_sbindir}/naddress
765 %attr(755,root,root) %{_sbindir}/nattribute
766 %attr(755,root,root) %{_sbindir}/ncontext
767 %attr(755,root,root) %{_sbindir}/reducecap
768 %attr(755,root,root) %{_sbindir}/setattr
769 %attr(755,root,root) %{_sbindir}/showattr
770 %attr(755,root,root) %{_sbindir}/vapt-get
771 %attr(755,root,root) %{_sbindir}/vattribute
772 %attr(755,root,root) %{_sbindir}/vcontext
773 %attr(755,root,root) %{_sbindir}/vdevmap
774 %attr(755,root,root) %{_sbindir}/vdlimit
775 %attr(755,root,root) %{_sbindir}/vdu
776 %attr(755,root,root) %{_sbindir}/vkill
777 %attr(755,root,root) %{_sbindir}/vlimit
778 %attr(755,root,root) %{_sbindir}/vmemctrl
779 %attr(755,root,root) %{_sbindir}/vmount
780 %attr(755,root,root) %{_sbindir}/vnamespace
781 %attr(755,root,root) %{_sbindir}/vpoldek
782 %attr(755,root,root) %{_sbindir}/vproc
783 %attr(755,root,root) %{_sbindir}/vps
784 %attr(755,root,root) %{_sbindir}/vpstree
785 %attr(755,root,root) %{_sbindir}/vrpm
786 %attr(755,root,root) %{_sbindir}/vrsetup
787 %attr(755,root,root) %{_sbindir}/vsched
788 %attr(755,root,root) %{_sbindir}/vserver
789 %attr(755,root,root) %{_sbindir}/vserver-info
790 %attr(755,root,root) %{_sbindir}/vserver-stat
791 %attr(755,root,root) %{_sbindir}/vsomething
792 %attr(755,root,root) %{_sbindir}/vspace
793 %attr(755,root,root) %{_sbindir}/vtag
794 %attr(755,root,root) %{_sbindir}/vtop
795 %attr(755,root,root) %{_sbindir}/vuname
796 %attr(755,root,root) %{_sbindir}/vurpm
797 %attr(755,root,root) %{_sbindir}/vwait
798 %attr(755,root,root) %{_sbindir}/vyum
799 %dir %{_datadir}/%{name}
800 %dir %{_datadir}/%{name}/defaults
801 %{_datadir}/%{name}/defaults/fstab
802 %{_datadir}/%{name}/defaults/debootstrap.*
803 %{_datadir}/%{name}/defaults/vunify-exclude
804 %{_datadir}/%{name}/defaults/context.start
805 %{_datadir}/%{name}/defaults/environment
806 %{_datadir}/%{name}/defaults/h2ext.desc
807 %{_datadir}/%{name}/defaults/mtab
808 %{_datadir}/%{name}/defaults/vprocunhide-files
809 %dir %{_datadir}/%{name}/distributions
810 %{_datadir}/%{name}/distributions/defaults
811 %dir %{_datadir}/%{name}/distributions/template
812 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost
813 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre
814 %{_datadir}/%{name}/util-vserver-vars
815 %{_datadir}/%{name}/functions
816 %{_datadir}/%{name}/vserver-build.*
817 %{_datadir}/%{name}/vserver-setup.functions
818 %{_datadir}/%{name}/vserver.*
819 %dir %{_libdir}/%{name}
820 %{_libdir}/%{name}/FEATURES.txt
821 %{_libdir}/%{name}/util-vserver-vars
822 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
823 %attr(755,root,root) %{_libdir}/%{name}/capchroot
824 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
825 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
826 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
827 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
828 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
829 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
830 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
831 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
832 %attr(755,root,root) %{_libdir}/%{name}/filetime
833 %attr(755,root,root) %{_libdir}/%{name}/h2ext
834 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
835 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
836 %attr(755,root,root) %{_libdir}/%{name}/lockfile
837 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
838 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
839 %attr(755,root,root) %{_libdir}/%{name}/readlink
840 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
841 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
842 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
843 %attr(755,root,root) %{_libdir}/%{name}/sigexec
844 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
845 %attr(755,root,root) %{_libdir}/%{name}/tunctl
846 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
847 %attr(755,root,root) %{_libdir}/%{name}/vclone
848 %attr(755,root,root) %{_libdir}/%{name}/vcopy
849 %attr(755,root,root) %{_libdir}/%{name}/vhashify
850 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
851 %attr(755,root,root) %{_libdir}/%{name}/vpkg
852 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
853 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
854 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
855 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
856 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
857 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
858 %attr(755,root,root) %{_libdir}/%{name}/vshelper
859 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
860 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
861 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
862 %attr(755,root,root) %{_libdir}/%{name}/vunify
863 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
864 %{_mandir}/man8/chbind.8*
865 %{_mandir}/man8/chcontext.8*
866 %{_mandir}/man8/reducecap.8*
867 %{_mandir}/man8/vps.8*
868 %{_mandir}/man8/vpstree.8*
869 %{_mandir}/man8/vserver-build.8*
870 %{_mandir}/man8/vserver-stat.8*
871 %{_mandir}/man8/vserver.8*
872 %{_mandir}/man8/vtop.8*
873 %attr(000,root,root) %dir /vservers
875 %{systemdtmpfilesdir}/%{name}.conf
876 %dir %{_localstatedir}/run/vservers
877 %dir %{_localstatedir}/run/vservers.rev
878 %dir %{_localstatedir}/run/vshelper
879 %dir /var/cache/vservers
880 %dir /var/cache/vservers/poldek
883 %defattr(644,root,root,755)
884 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
885 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
888 %defattr(644,root,root,755)
889 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
890 %attr(755,root,root) %{_libdir}/libvserver.so
892 %{_includedir}/vserver*.h
893 %{_pkgconfigdir}/*.pc
896 %defattr(644,root,root,755)
897 %{_libdir}/libvserver.a
901 %defattr(644,root,root,755)
902 %dir %{_sysconfdir}/vservices
903 %{_sysconfdir}/vservices/*
904 %dir %{_libdir}/%{name}/legacy
905 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
906 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
907 %attr(754,root,root) /etc/rc.d/init.d/v_*
908 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
909 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
910 %attr(755,root,root) %{_sbindir}/vserver-copy
911 %{_mandir}/man8/distrib-info.8*
912 %{_mandir}/man8/rebootmgr.8*
913 %{_mandir}/man8/vserver-copy.8*
916 %files -n python-util-vserver
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{py_sitedir}/_libvserver.so
919 %{py_sitedir}/libvserver.py
921 %files -n vserver-distro-alpine
922 %defattr(644,root,root,755)
923 %dir %{_datadir}/%{name}/distributions/alpine
924 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost
925 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre
927 %files -n vserver-distro-centos
928 %defattr(644,root,root,755)
929 %{_datadir}/util-vserver/distributions/centos*
931 %files -n vserver-distro-debian
932 %defattr(644,root,root,755)
933 %dir %{_datadir}/%{name}/distributions/debian
934 %attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost
935 %{_datadir}/%{name}/distributions/etch
936 %{_datadir}/%{name}/distributions/lenny
937 %{_datadir}/%{name}/distributions/sid
938 %{_datadir}/%{name}/distributions/squeeze
939 %{_datadir}/%{name}/distributions/wheezy
941 %files -n vserver-distro-fedora
942 %defattr(644,root,root,755)
943 %dir %{_sysconfdir}/vservers/.distributions/f7
944 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
945 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
946 %dir %{_sysconfdir}/vservers/.distributions/fc*
947 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
948 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
949 %{_datadir}/%{name}/distributions/f7
950 %{_datadir}/%{name}/distributions/f8
951 %{_datadir}/%{name}/distributions/f9
952 %{_datadir}/%{name}/distributions/f10
953 %{_datadir}/%{name}/distributions/f11
954 %{_datadir}/%{name}/distributions/f12
955 %{_datadir}/%{name}/distributions/f13
956 %{_datadir}/%{name}/distributions/f14
957 %{_datadir}/%{name}/distributions/fc1
958 %{_datadir}/%{name}/distributions/fc2
959 %{_datadir}/%{name}/distributions/fc3
960 %{_datadir}/%{name}/distributions/fc4
961 %{_datadir}/%{name}/distributions/fc5
962 %{_datadir}/%{name}/distributions/fc6
964 %files -n vserver-distro-gentoo
965 %defattr(644,root,root,755)
966 %dir %{_datadir}/util-vserver/distributions/gentoo
967 %attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/*
968 %attr(755,root,root) %{_sbindir}/vdispatch-conf
969 %attr(755,root,root) %{_sbindir}/vemerge
970 %attr(755,root,root) %{_sbindir}/vesync
971 %attr(755,root,root) %{_sbindir}/vupdateworld
973 %files -n vserver-distro-pld
974 %defattr(644,root,root,755)
975 %dir %{_datadir}/%{name}/distributions/pld
976 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost
977 %dir %{_datadir}/%{name}/distributions/pld-*
978 %{_datadir}/%{name}/distributions/pld-*/pkgs
979 %{_datadir}/%{name}/distributions/pld-*/pubkeys
980 %{_datadir}/%{name}/distributions/pld-*/rpm
981 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost
982 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
983 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
984 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
985 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
986 %dir %{_sysconfdir}/vservers/.distributions/pld-th
987 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
988 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
989 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
991 %files -n vserver-distro-redhat
992 %defattr(644,root,root,755)
993 %dir %{_sysconfdir}/vservers/.distributions/rh9
994 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
995 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
996 %{_datadir}/%{name}/distributions/rh9
997 %dir %{_datadir}/%{name}/distributions/redhat
998 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl
999 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost
1000 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre
1001 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit
1003 %files -n vserver-distro-suse
1004 %defattr(644,root,root,755)
1005 %dir %{_sysconfdir}/vservers/.distributions/suse*
1006 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1007 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1008 %{_datadir}/%{name}/distributions/suse*
1010 %files -n vserver-distro-scientificlinux
1011 %defattr(644,root,root,755)
1012 %dir %{_datadir}/%{name}/distributions/sl6
1013 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost
1014 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre
1015 %{_datadir}/%{name}/distributions/sl6/pkgs
1016 %{_datadir}/%{name}/distributions/sl6/yum
1017 %{_datadir}/%{name}/distributions/sl6/yum.repos.d
1019 %files -n vserver-distro-tld
1020 %defattr(644,root,root,755)
1021 %dir %{_datadir}/%{name}/distributions/tld
1022 %attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost
1023 %{_datadir}/%{name}/distributions/tld/pkgs
1024 %{_datadir}/%{name}/distributions/tld/rpm
1025 %dir %{_sysconfdir}/vservers/.distributions/tld
1026 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1027 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1028 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf