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 should match value from current rpm package in distro
19 %define reqdb_pkg db5.3
22 Summary: Linux virtual server utilities
23 Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
26 Release: 1.%{snap}.%{rel}
28 Group: Applications/System
29 Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
30 # Source0-md5: c0f708814ff48532802a5fb04514a86c
31 Source1: vprocunhide.init
32 Source2: vservers.init
33 Source3: vservers-legacy.init
34 Source4: rebootmgr.init
35 Source5: vservers.sysconfig
36 Source6: vservers-legacy.sysconfig
37 Source7: vrootdevices.init
38 Source8: vrootdevices.sysconfig
39 # A bit of documentation explaining package management
40 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
41 Source9: %{name}-pkgmgmt.txt
42 Source10: %{name}-initpost.sh
43 Source11: http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2
44 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
45 Source12: %{name}-vhashify.cron
46 Source13: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
47 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
48 Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
49 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
50 Source15: %{name}.init
51 Source16: %{name}.tmpfiles
52 Patch0: %{name}-vsysvwrapper.patch
53 Patch1: %{name}-pld.patch
54 Patch2: %{name}-centos.patch
55 Patch3: %{name}-tld.patch
56 Patch4: %{name}-m4-diet.patch
57 Patch5: %{name}-yum-verb-nogpg.patch
58 Patch6: %{name}-build-umask.patch
59 Patch7: %{name}-utmpx.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
77 Patch26: %{name}-am.patch
78 Patch27: %{name}-rpm5.patch
79 Patch28: diet-ccache.patch
80 URL: http://savannah.nongnu.org/projects/util-vserver/
81 BuildRequires: autoconf
82 BuildRequires: automake >= 1.9
83 BuildRequires: beecrypt-devel
85 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
86 BuildRequires: e2fsprogs-devel
87 BuildRequires: libstdc++-devel
88 BuildRequires: libtool >= 1.5.14
89 BuildRequires: pkgconfig
90 BuildRequires: python-devel
91 BuildRequires: python-modules
92 BuildRequires: rpm-pythonprov
93 BuildRequires: rpmbuild(macros) >= 1.647
94 BuildRequires: sed >= 4.0
96 BuildRequires: doxygen >= 1:1.7.3
97 BuildRequires: graphviz
98 BuildRequires: libxslt-progs
99 BuildRequires: python-devel
100 %if "%{pld_release}" != "th"
101 BuildRequires: tetex-fonts-jknappen
102 BuildRequires: tetex-format-pdflatex
103 BuildRequires: tetex-makeindex
104 BuildRequires: tetex-metafont
106 BuildRequires: texlive-fonts-rsfs
107 BuildRequires: texlive-fonts-type1-urw
108 BuildRequires: texlive-format-pdflatex
109 BuildRequires: texlive-latex-extend
110 BuildRequires: texlive-latex-ucs
111 BuildRequires: texlive-makeindex
112 BuildRequires: texlive-pdftex
113 BuildRequires: texlive-xetex
115 %{?with_xalan:BuildRequires: xalan-j}
117 Requires(post,preun): /sbin/chkconfig
118 Requires: %{name}-lib = %{version}-%{release}
123 Requires: mktemp >= 1.5-18
124 Requires: rc-scripts >= 0.4.3.4
125 #Requires: rpm >= 3.4.10-36
127 Requires: uname(release) >= 2.6.27
128 Requires: util-linux >= 2.13
129 Requires: vserver-distro-pld = %{version}-%{release}
130 Suggests: %{reqdb_pkg}-utils
131 Obsoletes: util-vserver-build
132 Obsoletes: util-vserver-core
133 Obsoletes: util-vserver-init
134 Conflicts: poldek < 0.18.8-10
135 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
138 # binaries created with this option have broken segments when using dietlibc
139 %define filterout_ld -Wl,-z,relro
143 %define _usrbin /usr/bin
144 %define _usrsbin /usr/sbin
145 %define _usrlib /usr/lib
148 This package provides the components and a framework to setup virtual
149 servers. A virtual server runs inside a Linux server. It is
150 nevertheless highly independent. As such, you can run various services
151 with normal configuration. The various vservers can't interact with
152 each other and can't interact with services in the main server.
154 This requires a special kernel supporting the new new_s_context and
155 set_ipv4root system call.
157 This package contains utilities which are required to communicate with
158 the Linux-Vserver enabled kernel, utilities which assist in building
159 Vservers and SysV initscripts which start and stop Vservers and
162 %description -l pl.UTF-8
163 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
164 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
165 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
166 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
167 w interakcję z innymi ani z usługami na głównym serwerze.
169 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
170 new_s_context i set_ipv4root.
172 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
173 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
174 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
175 zatrzymujące Vserwery oraz powiązane narzędzia.
178 Summary: Dynamic libraries for util-vserver
179 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
183 util-vserver provides the components and a framework to setup virtual
184 servers. A virtual server runs inside a linux server. It is
185 nevertheless highly independent. As such, you can run various services
186 pith normal configuration. The various vservers can't interact with
187 each other and can't interact with services in the main server.
189 This package contains the shared libraries needed by all other
190 'util-vserver' subpackages.
192 %description lib -l pl.UTF-8
193 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
194 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
195 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
196 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
197 w interakcję z innymi ani z usługami na głównym serwerze.
199 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
200 podpakiety util-vserver.
203 Summary: Development files for Linux vserver libraries
204 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
205 Group: Development/Libraries
206 Requires: %{name}-lib = %{version}-%{release}
209 This package contains the development files necessary for developing
210 programs which use vserver library.
212 %description devel -l pl.UTF-8
213 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
214 programów używających biblioteki vserver.
217 Summary: Static vserver library
218 Summary(pl.UTF-8): Biblioteka statyczna vservera
219 Group: Development/Libraries
220 Requires: %{name}-devel = %{version}-%{release}
223 This package contains the static version of vserver library.
225 %description static -l pl.UTF-8
226 Ten pakiet zawiera statyczną wersję biblioteki vservera.
229 Summary: Legacy utilities for util-vserver
230 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
231 Group: Applications/System
232 Requires(post,preun): /sbin/chkconfig
233 Requires: %{name} = %{version}-%{release}
237 util-vserver provides the components and a framework to setup virtual
238 servers. A virtual server runs inside a linux server. It is
239 nevertheless highly independent. As such, you can run various services
240 with normal configuration. The various vservers can't interact with
241 each other and can't interact with services in the main server.
243 This package contains the tools which are needed to work with Vservers
244 having an old-style configuration.
246 %description legacy -l pl.UTF-8
247 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
248 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
249 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
250 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
251 w interakcję z innymi ani z usługami na głównym serwerze.
253 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
254 konfigurację w starym stylu.
256 %package -n python-util-vserver
257 Summary: Python interface to libutil-vserver library
258 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
260 Group: Libraries/Python
262 %description -n python-util-vserver
263 Python interface to libutil-vserver library.
265 %description -n python-util-vserver -l pl.UTF-8
266 Pythonowy interfejs do biblioteki libutil-vserver.
268 %package -n vserver-distro-alpine
269 Summary: VServer build template for Alpine Linux
270 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
271 Group: Applications/System
272 Requires: %{name} = %{version}-%{release}
274 %description -n vserver-distro-alpine
275 VServer build template for Alpine Linux.
277 %description -n vserver-distro-alpine -l pl.UTF-8
278 Szablon budowania VServerów dla dystrybucji Alpine Linux.
280 %package -n vserver-distro-centos
281 Summary: VServer build template for CentOS
282 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
283 Group: Applications/System
284 Requires: %{name} = %{version}-%{release}
285 Requires: vserver-distro-redhat = %{version}-%{release}
288 %description -n vserver-distro-centos
289 VServer build template for CentOS 4.2 and 5.
291 %description -n vserver-distro-centos -l pl.UTF-8
292 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
294 %package -n vserver-distro-debian
295 Summary: VServer build templates for Debian and Ubuntu
296 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
297 Group: Applications/System
298 Requires: %{name} = %{version}-%{release}
299 Requires: debootstrap
301 Provides: vserver-distro-ubuntu
302 Obsoletes: vserver-distro-ubuntu
304 %description -n vserver-distro-debian
305 VServer build templates for Debian and Ubuntu.
307 %description -n vserver-distro-debian -l pl.UTF-8
308 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
310 %package -n vserver-distro-fedora
311 Summary: VServer build templates for Fedora
312 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
313 Group: Applications/System
314 Requires: %{name} = %{version}-%{release}
318 Requires: vserver-distro-redhat = %{version}-%{release}
322 %description -n vserver-distro-fedora
323 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
325 %description -n vserver-distro-fedora -l pl.UTF-8
326 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
327 1,2,3,4,5,6 oraz Fedora 7.
329 %package -n vserver-distro-gentoo
330 Summary: VServer build template for Gentoo
331 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
332 Group: Applications/System
333 Requires: %{name} = %{version}-%{release}
335 %description -n vserver-distro-gentoo
336 VServer build template for Gentoo.
338 %description -n vserver-distro-gentoo -l pl.UTF-8
339 Szablon budowania VServerów dla Gentoo.
341 %package -n vserver-distro-pld
342 Summary: VServer build templates for PLD Linux
343 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
344 Group: Applications/System
345 Requires: %{name} = %{version}-%{release}
346 Requires: /etc/pld-release
347 Requires: poldek >= 0.30
349 %description -n vserver-distro-pld
350 VServer build templates for PLD Linux.
352 %description -n vserver-distro-pld -l pl.UTF-8
353 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
355 %package -n vserver-distro-redhat
356 Summary: VServer build template for Red Hat Linux 9
357 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
358 Group: Applications/System
359 Requires: %{name} = %{version}-%{release}
365 %description -n vserver-distro-redhat
366 VServer build template for RedHat Linux 9.
368 %description -n vserver-distro-redhat -l pl.UTF-8
369 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
371 %package -n vserver-distro-suse
372 Summary: VServer build template for SuSE 9.1
373 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
374 Group: Applications/System
375 Requires: %{name} = %{version}-%{release}
381 %description -n vserver-distro-suse
382 VServer build template for SuSE Linux 9.1.
384 %description -n vserver-distro-suse -l pl.UTF-8
385 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
387 %package -n vserver-distro-scientificlinux
388 Summary: VServer build template for Scientific Linux
389 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
390 Group: Applications/System
391 Requires: %{name} = %{version}-%{release}
398 %description -n vserver-distro-scientificlinux
399 VServer build template for Scientific Linux.
401 %description -n vserver-distro-scientificlinux -l pl.UTF-8
402 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
404 %package -n vserver-distro-tld
405 Summary: VServer build templates for Titanium Linux Distribution
406 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
407 Group: Applications/System
408 Requires: %{name} = %{version}-%{release}
409 Requires: poldek >= 0.30
411 %description -n vserver-distro-tld
412 VServer build templates for Titanium Linux Distribution.
414 %description -n vserver-distro-tld -l pl.UTF-8
415 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
418 %setup -q -n %{name}-%{version}-%{snap} -a11
429 %{?with_no_dynamic_context:%patch10 -p1}
447 cp -p %{SOURCE9} package-management.txt
450 unset LD_SYMBOLIC_FUNCTIONS || :
453 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
460 --with-initrddir=/etc/rc.d/init.d \
462 --enable-apis=NOLEGACY \
463 --with-initscripts=sysv \
464 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
466 IONICE=%{_usrbin}/ionice \
468 IPTABLES=%{_usrsbin}/iptables \
470 MODPROBE=/sbin/modprobe \
472 NAMEIF=/sbin/nameif \
474 RESTORE=/sbin/restore \
476 RSYNC=%{_usrbin}/rsync \
477 STRACE=%{_usrbin}/strace \
479 VCONFIG=/sbin/vconfig \
480 WGET=%{_usrbin}/wget \
485 %{?with_doc:%{__make} doc}
487 %{__make} -C vproc-%{vproc_version} \
489 CFLAGS="%{rpmcflags}"
492 rm -rf $RPM_BUILD_ROOT
493 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
494 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
495 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
497 %{__make} -j1 install install-distribution \
498 %if %{without legacy}
499 scripts_legacy_src_SCRPTS= \
500 scripts_legacy_gen_SCRPTS= \
501 scripts_legacy_src_PRGS= \
505 DESTDIR=$RPM_BUILD_ROOT
507 # our libcgroup uses per subsystem mount
508 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
510 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
512 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
513 $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
514 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
515 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
516 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
517 $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
518 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
519 $RPM_BUILD_ROOT/etc/sysconfig/vservers
520 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
521 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
524 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
526 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
527 s=$(basename $i | sed s/v_//)
528 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
529 # IP addresses/interfaces to bound $s service to
535 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
536 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
537 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
538 $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
539 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
541 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
542 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
543 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
544 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
545 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
548 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
549 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
550 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
551 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
552 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
553 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
554 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
555 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
556 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
557 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
559 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
560 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
563 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
564 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
566 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
567 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
569 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
571 # set arch for pld-ac in pld.conf
572 %ifarch i586 i686 ppc sparc alpha athlon
573 %define ftp_arch %{_target_cpu}
576 %define ftp_arch amd64
579 %define ftp_arch i386
581 %ifarch pentium2 pentium3 pentium4
582 %define ftp_arch i686
584 %ifarch sparcv9 sparc64
585 %define ftp_arch sparc
587 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
589 # set arch for pld-th in pld.conf
590 %ifarch i486 i686 ppc sparc alpha athlon
591 %define ftp_arch %{_target_cpu}
594 %define ftp_arch x86_64
597 %define ftp_arch i486
599 %ifarch pentium2 pentium3 pentium4
600 %define ftp_arch i686
602 %ifarch sparcv9 sparc64
603 %define ftp_arch sparc
605 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
607 # set arch for tld in tld.conf
608 %ifarch i586 i686 ppc sparc alpha
609 %define ftp_arch %{_target_cpu}
612 %define ftp_arch x86_64
614 %ifarch athlon pentium2 pentium3 pentium4
615 %define ftp_arch i686
617 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
619 # current debootstrap link
620 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
621 > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
623 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
626 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
627 # we have our own initscript which does the same
628 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
629 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
630 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
631 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
634 rm -rf $RPM_BUILD_ROOT
636 %triggerun -- util-vserver-init
637 # Prevent preun from util-vserver-init from working
638 chmod a-x /etc/rc.d/init.d/vprocunhide
639 chmod a-x /etc/rc.d/init.d/vrootdevices
640 chmod a-x /etc/rc.d/init.d/vservers
642 %triggerpostun -- util-vserver-init
643 # Restore what triggerun removed
644 chmod ug+x /etc/rc.d/init.d/vprocunhide
645 chmod ug+x /etc/rc.d/init.d/vrootdevices
646 chmod ug+x /etc/rc.d/init.d/vservers
647 /sbin/chkconfig --add vrootdevices
648 /sbin/chkconfig --add vprocunhide
649 /sbin/chkconfig --add vservers
650 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
651 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
652 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
654 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
655 cp -f /etc/sysconfig/vservers{,.rpmnew}
656 mv -f /etc/sysconfig/vservers{.rpmsave,}
660 %{_sbindir}/setattr --barrier /vservers || :
661 /sbin/chkconfig --add util-vserver
662 /sbin/chkconfig --add vrootdevices
663 /sbin/chkconfig --add vprocunhide
664 /sbin/chkconfig --add vservers
665 if [ ! -f /var/lock/subsys/util-vserver ]; then
666 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
668 if [ ! -f /var/lock/subsys/vrootdevices ]; then
669 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
671 if [ ! -f /var/lock/subsys/vprocunhide ]; then
672 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
674 if [ ! -f /var/lock/subsys/vservers ]; then
675 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
679 if [ "$1" = "0" ]; then
680 %service util-vserver stop
681 %service vservers stop
682 %service vprocunhide stop
683 %service vrootdevices stop
684 /sbin/chkconfig --del util-vserver
685 /sbin/chkconfig --del vservers
686 /sbin/chkconfig --del vprocunhide
687 /sbin/chkconfig --del vrootdevices
690 %post lib -p /sbin/ldconfig
691 %postun lib -p /sbin/ldconfig
694 /sbin/chkconfig --add rebootmgr
695 /sbin/chkconfig --add vservers-legacy
696 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
697 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
699 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
700 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
704 if [ "$1" = "0" ]; then
705 %service rebootmgr stop
706 %service vservers-legacy stop
707 /sbin/chkconfig --del rebootmgr
708 /sbin/chkconfig --del vservers-legacy
711 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
712 for D in ac th ti; do
713 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
715 if [ -f $P/pld-source.conf.rpmsave ]; then
716 cp -f $P/repos.d/pld.conf{,.rpmnew}
717 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
723 %defattr(644,root,root,755)
724 %doc AUTHORS NEWS THANKS doc/intro.txt
725 %doc package-management.txt
726 %{?with_doc:%doc doc/*.html}
727 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
728 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
729 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
730 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
731 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
732 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
733 %attr(754,root,root) /etc/rc.d/init.d/vservers
734 %dir %{_sysconfdir}/vservers
735 %dir %{_sysconfdir}/vservers/.defaults
736 %dir %{_sysconfdir}/vservers/.defaults/apps
737 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
738 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
739 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
740 %dir %{_sysconfdir}/vservers/.defaults/cgroup
741 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
742 %dir %{_sysconfdir}/vservers/.defaults/files
743 %{_sysconfdir}/vservers/.defaults/vdirbase
744 %{_sysconfdir}/vservers/.defaults/cachebase
745 %{_sysconfdir}/vservers/.defaults/run.rev
746 %dir %{_sysconfdir}/vservers/.distributions
747 %dir %{_sysconfdir}/vservers/.distributions/.common
748 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
750 %attr(755,root,root) %{_sbindir}/chbind
751 %attr(755,root,root) %{_sbindir}/chcontext
752 %attr(755,root,root) %{_sbindir}/chxid
753 %attr(755,root,root) %{_sbindir}/exec-cd
754 %attr(755,root,root) %{_sbindir}/lsxid
755 %attr(755,root,root) %{_sbindir}/naddress
756 %attr(755,root,root) %{_sbindir}/nattribute
757 %attr(755,root,root) %{_sbindir}/ncontext
758 %attr(755,root,root) %{_sbindir}/reducecap
759 %attr(755,root,root) %{_sbindir}/setattr
760 %attr(755,root,root) %{_sbindir}/showattr
761 %attr(755,root,root) %{_sbindir}/vapt-get
762 %attr(755,root,root) %{_sbindir}/vattribute
763 %attr(755,root,root) %{_sbindir}/vcontext
764 %attr(755,root,root) %{_sbindir}/vdevmap
765 %attr(755,root,root) %{_sbindir}/vdlimit
766 %attr(755,root,root) %{_sbindir}/vdu
767 %attr(755,root,root) %{_sbindir}/vkill
768 %attr(755,root,root) %{_sbindir}/vlimit
769 %attr(755,root,root) %{_sbindir}/vmemctrl
770 %attr(755,root,root) %{_sbindir}/vmount
771 %attr(755,root,root) %{_sbindir}/vnamespace
772 %attr(755,root,root) %{_sbindir}/vpoldek
773 %attr(755,root,root) %{_sbindir}/vproc
774 %attr(755,root,root) %{_sbindir}/vps
775 %attr(755,root,root) %{_sbindir}/vpstree
776 %attr(755,root,root) %{_sbindir}/vrpm
777 %attr(755,root,root) %{_sbindir}/vrsetup
778 %attr(755,root,root) %{_sbindir}/vsched
779 %attr(755,root,root) %{_sbindir}/vserver
780 %attr(755,root,root) %{_sbindir}/vserver-info
781 %attr(755,root,root) %{_sbindir}/vserver-stat
782 %attr(755,root,root) %{_sbindir}/vsomething
783 %attr(755,root,root) %{_sbindir}/vspace
784 %attr(755,root,root) %{_sbindir}/vtag
785 %attr(755,root,root) %{_sbindir}/vtop
786 %attr(755,root,root) %{_sbindir}/vuname
787 %attr(755,root,root) %{_sbindir}/vurpm
788 %attr(755,root,root) %{_sbindir}/vwait
789 %attr(755,root,root) %{_sbindir}/vyum
790 %dir %{_libdir}/%{name}
791 %dir %{_libdir}/%{name}/defaults
792 %{_libdir}/%{name}/defaults/fstab
793 %{_libdir}/%{name}/defaults/debootstrap.*
794 %{_libdir}/%{name}/defaults/vunify-exclude
795 %{_libdir}/%{name}/defaults/context.start
796 %{_libdir}/%{name}/defaults/environment
797 %{_libdir}/%{name}/defaults/h2ext.desc
798 %{_libdir}/%{name}/defaults/mtab
799 %{_libdir}/%{name}/defaults/vprocunhide-files
800 %dir %{_libdir}/%{name}/distributions
801 %{_libdir}/%{name}/distributions/defaults
802 %dir %{_libdir}/%{name}/distributions/template
803 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
804 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
805 %{_libdir}/%{name}/FEATURES.txt
806 %{_libdir}/%{name}/util-vserver-vars
807 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
808 %attr(755,root,root) %{_libdir}/%{name}/capchroot
809 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
810 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
811 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
812 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
813 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
814 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
815 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
816 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
817 %attr(755,root,root) %{_libdir}/%{name}/filetime
818 %{_libdir}/%{name}/functions
819 %attr(755,root,root) %{_libdir}/%{name}/h2ext
820 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
821 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
822 %attr(755,root,root) %{_libdir}/%{name}/lockfile
823 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
824 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
825 %attr(755,root,root) %{_libdir}/%{name}/readlink
826 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
827 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
828 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
829 %attr(755,root,root) %{_libdir}/%{name}/sigexec
830 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
831 %attr(755,root,root) %{_libdir}/%{name}/tunctl
832 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
833 %attr(755,root,root) %{_libdir}/%{name}/vclone
834 %attr(755,root,root) %{_libdir}/%{name}/vcopy
835 %attr(755,root,root) %{_libdir}/%{name}/vhashify
836 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
837 %attr(755,root,root) %{_libdir}/%{name}/vpkg
838 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
839 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
840 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
841 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
842 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
843 %{_libdir}/%{name}/vserver-build.*
844 %{_libdir}/%{name}/vserver-setup.functions
845 %{_libdir}/%{name}/vserver.*
846 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
847 %attr(755,root,root) %{_libdir}/%{name}/vshelper
848 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
849 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
850 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
851 %attr(755,root,root) %{_libdir}/%{name}/vunify
852 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
853 %{_mandir}/man8/chbind.8*
854 %{_mandir}/man8/chcontext.8*
855 %{_mandir}/man8/reducecap.8*
856 %{_mandir}/man8/vps.8*
857 %{_mandir}/man8/vpstree.8*
858 %{_mandir}/man8/vserver-build.8*
859 %{_mandir}/man8/vserver-stat.8*
860 %{_mandir}/man8/vserver.8*
861 %{_mandir}/man8/vtop.8*
862 %attr(000,root,root) %dir /vservers
864 %{systemdtmpfilesdir}/%{name}.conf
865 %dir %{_localstatedir}/run/vservers
866 %dir %{_localstatedir}/run/vservers.rev
867 %dir %{_localstatedir}/run/vshelper
868 %dir /var/cache/vservers
869 %dir /var/cache/vservers/poldek
872 %defattr(644,root,root,755)
873 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
874 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
877 %defattr(644,root,root,755)
878 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
879 %attr(755,root,root) %{_libdir}/libvserver.so
881 %{_includedir}/vserver*.h
882 %{_pkgconfigdir}/*.pc
885 %defattr(644,root,root,755)
886 %{_libdir}/libvserver.a
890 %defattr(644,root,root,755)
891 %dir %{_sysconfdir}/vservices
892 %{_sysconfdir}/vservices/*
893 %dir %{_libdir}/%{name}/legacy
894 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
895 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
896 %attr(754,root,root) /etc/rc.d/init.d/v_*
897 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
898 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
899 %attr(755,root,root) %{_sbindir}/vserver-copy
900 %{_mandir}/man8/distrib-info.8*
901 %{_mandir}/man8/rebootmgr.8*
902 %{_mandir}/man8/vserver-copy.8*
905 %files -n python-util-vserver
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{py_sitedir}/_libvserver.so
908 %{py_sitedir}/libvserver.py
910 %files -n vserver-distro-alpine
911 %defattr(644,root,root,755)
912 %dir %{_libdir}/%{name}/distributions/alpine
913 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
914 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
916 %files -n vserver-distro-centos
917 %defattr(644,root,root,755)
918 %{_libdir}/util-vserver/distributions/centos*
920 %files -n vserver-distro-debian
921 %defattr(644,root,root,755)
922 %dir %{_libdir}/%{name}/distributions/debian
923 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
924 %{_libdir}/%{name}/distributions/etch
925 %{_libdir}/%{name}/distributions/lenny
926 %{_libdir}/%{name}/distributions/sid
927 %{_libdir}/%{name}/distributions/squeeze
928 %{_libdir}/%{name}/distributions/wheezy
930 %files -n vserver-distro-fedora
931 %defattr(644,root,root,755)
932 %dir %{_sysconfdir}/vservers/.distributions/f7
933 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
934 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
935 %dir %{_sysconfdir}/vservers/.distributions/fc*
936 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
937 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
938 %{_libdir}/%{name}/distributions/f7
939 %{_libdir}/%{name}/distributions/f8
940 %{_libdir}/%{name}/distributions/f9
941 %{_libdir}/%{name}/distributions/f10
942 %{_libdir}/%{name}/distributions/f11
943 %{_libdir}/%{name}/distributions/f12
944 %{_libdir}/%{name}/distributions/f13
945 %{_libdir}/%{name}/distributions/f14
946 %{_libdir}/%{name}/distributions/fc1
947 %{_libdir}/%{name}/distributions/fc2
948 %{_libdir}/%{name}/distributions/fc3
949 %{_libdir}/%{name}/distributions/fc4
950 %{_libdir}/%{name}/distributions/fc5
951 %{_libdir}/%{name}/distributions/fc6
953 %files -n vserver-distro-gentoo
954 %defattr(644,root,root,755)
955 %dir %{_libdir}/util-vserver/distributions/gentoo
956 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
957 %attr(755,root,root) %{_sbindir}/vdispatch-conf
958 %attr(755,root,root) %{_sbindir}/vemerge
959 %attr(755,root,root) %{_sbindir}/vesync
960 %attr(755,root,root) %{_sbindir}/vupdateworld
962 %files -n vserver-distro-pld
963 %defattr(644,root,root,755)
964 %dir %{_libdir}/%{name}/distributions/pld
965 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
966 %dir %{_libdir}/%{name}/distributions/pld-*
967 %{_libdir}/%{name}/distributions/pld-*/pkgs
968 %{_libdir}/%{name}/distributions/pld-*/pubkeys
969 %{_libdir}/%{name}/distributions/pld-*/rpm
970 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
971 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
972 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
973 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
974 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
975 %dir %{_sysconfdir}/vservers/.distributions/pld-th
976 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
977 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
978 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
980 %files -n vserver-distro-redhat
981 %defattr(644,root,root,755)
982 %dir %{_sysconfdir}/vservers/.distributions/rh9
983 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
984 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
985 %{_libdir}/%{name}/distributions/rh9
986 %dir %{_libdir}/%{name}/distributions/redhat
987 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
988 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
989 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
990 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
992 %files -n vserver-distro-suse
993 %defattr(644,root,root,755)
994 %dir %{_sysconfdir}/vservers/.distributions/suse*
995 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
996 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
997 %{_libdir}/%{name}/distributions/suse*
999 %files -n vserver-distro-scientificlinux
1000 %defattr(644,root,root,755)
1001 %dir %{_libdir}/%{name}/distributions/sl6
1002 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpost
1003 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpre
1004 %{_libdir}/%{name}/distributions/sl6/pkgs
1005 %{_libdir}/%{name}/distributions/sl6/yum
1006 %{_libdir}/%{name}/distributions/sl6/yum.repos.d
1008 %files -n vserver-distro-tld
1009 %defattr(644,root,root,755)
1010 %dir %{_libdir}/%{name}/distributions/tld
1011 %attr(755,root,root) %{_libdir}/%{name}/distributions/tld/initpost
1012 %{_libdir}/%{name}/distributions/tld/pkgs
1013 %{_libdir}/%{name}/distributions/tld/rpm
1014 %dir %{_sysconfdir}/vservers/.distributions/tld
1015 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1016 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1017 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf