2 # - %install is not re-entrant
4 # m68k and mips are the only not supported archs
7 %bcond_without dietlibc # don't use dietlibc (ask for troubles)
8 %bcond_without doc # don't build documentation which needed LaTeX
9 %bcond_without no_dynamic_context # disable enforcement of disabled dynamic context
10 %bcond_with xalan # use the xalan xslt processor
11 %bcond_with legacy # build legacy 1.x utils
13 %define vproc_version 0.01
16 # pdflatex: refman: Invalid argument
20 # reqdb_pkg should match value from current rpm package in distro
21 %define reqdb_pkg db5.3
24 Summary: Linux virtual server utilities
25 Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
28 Release: 1.%{snap}.%{rel}
30 Group: Applications/System
31 Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
32 # Source0-md5: c0f708814ff48532802a5fb04514a86c
33 Source1: vprocunhide.init
34 Source2: vservers.init
35 Source3: vservers-legacy.init
36 Source4: rebootmgr.init
37 Source5: vservers.sysconfig
38 Source6: vservers-legacy.sysconfig
39 Source7: vrootdevices.init
40 Source8: vrootdevices.sysconfig
41 # A bit of documentation explaining package management
42 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
43 Source9: %{name}-pkgmgmt.txt
44 Source10: %{name}-initpost.sh
45 Source11: http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2
46 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
47 Source12: %{name}-vhashify.cron
48 Source13: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
49 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
50 Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
51 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
52 Source15: %{name}.init
53 Source16: %{name}.tmpfiles
54 Patch0: %{name}-vsysvwrapper.patch
55 Patch1: %{name}-pld.patch
56 Patch2: %{name}-centos.patch
57 Patch3: %{name}-tld.patch
58 Patch4: %{name}-m4-diet.patch
59 Patch5: %{name}-yum-verb-nogpg.patch
60 Patch6: %{name}-build-umask.patch
61 Patch7: %{name}-utmpx.patch
62 Patch8: %{name}-vprocunhide.patch
63 Patch9: %{name}-dev.patch
64 Patch10: %{name}-no-dynamic-ctx.patch
65 Patch11: %{name}-more-ip.patch
66 Patch12: %{name}-rpm-fake-resolver-badperm-errorlogging.patch
67 Patch13: %{name}-tmpdir.patch
68 Patch14: %{name}-rpmpath.patch
69 Patch15: %{name}-interfaces-ignore-cvs-dir.patch
70 Patch16: %{name}-personalitymachine.patch
71 Patch17: %{name}-backupfiles.patch
72 Patch18: %{name}-vprocunhide-net.patch
73 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
74 Patch19: %{name}-dbrebuild-internalize4.patch
75 Patch21: %{name}-bash-wrapper.patch
76 Patch22: %{name}-pivot-root-ugly-hack.patch
77 Patch24: vunify-more-exclude.patch
79 Patch26: %{name}-am.patch
80 Patch27: %{name}-rpm5.patch
81 Patch28: diet-ccache.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-extend
112 BuildRequires: texlive-latex-ucs
113 BuildRequires: texlive-makeindex
114 BuildRequires: texlive-pdftex
115 BuildRequires: texlive-xetex
117 %{?with_xalan:BuildRequires: xalan-j}
119 Requires(post,preun): /sbin/chkconfig
120 Requires: %{name}-lib = %{version}-%{release}
125 Requires: mktemp >= 1.5-18
126 Requires: rc-scripts >= 0.4.3.4
128 Requires: uname(release) >= 2.6.27
129 Requires: util-linux >= 2.13
130 Requires: vserver-distro-pld = %{version}-%{release}
131 Suggests: %{reqdb_pkg}-utils
132 Obsoletes: util-vserver-build
133 Obsoletes: util-vserver-core
134 Obsoletes: util-vserver-init
135 Conflicts: poldek < 0.18.8-10
136 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
139 # binaries created with this option have broken segments when using dietlibc
140 %define filterout_ld -Wl,-z,relro
144 %define _usrbin /usr/bin
145 %define _usrsbin /usr/sbin
146 %define _usrlib /usr/lib
149 This package provides the components and a framework to setup virtual
150 servers. A virtual server runs inside a Linux server. It is
151 nevertheless highly independent. As such, you can run various services
152 with normal configuration. The various vservers can't interact with
153 each other and can't interact with services in the main server.
155 This requires a special kernel supporting the new new_s_context and
156 set_ipv4root system call.
158 This package contains utilities which are required to communicate with
159 the Linux-Vserver enabled kernel, utilities which assist in building
160 Vservers and SysV initscripts which start and stop Vservers and
163 %description -l pl.UTF-8
164 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
165 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
166 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
167 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
168 w interakcję z innymi ani z usługami na głównym serwerze.
170 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
171 new_s_context i set_ipv4root.
173 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
174 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
175 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
176 zatrzymujące Vserwery oraz powiązane narzędzia.
179 Summary: Dynamic libraries for util-vserver
180 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
184 util-vserver provides the components and a framework to setup virtual
185 servers. A virtual server runs inside a linux server. It is
186 nevertheless highly independent. As such, you can run various services
187 pith normal configuration. The various vservers can't interact with
188 each other and can't interact with services in the main server.
190 This package contains the shared libraries needed by all other
191 'util-vserver' subpackages.
193 %description lib -l pl.UTF-8
194 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
195 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
196 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
197 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
198 w interakcję z innymi ani z usługami na głównym serwerze.
200 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
201 podpakiety util-vserver.
204 Summary: Development files for Linux vserver libraries
205 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
206 Group: Development/Libraries
207 Requires: %{name}-lib = %{version}-%{release}
210 This package contains the development files necessary for developing
211 programs which use vserver library.
213 %description devel -l pl.UTF-8
214 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
215 programów używających biblioteki vserver.
218 Summary: Static vserver library
219 Summary(pl.UTF-8): Biblioteka statyczna vservera
220 Group: Development/Libraries
221 Requires: %{name}-devel = %{version}-%{release}
224 This package contains the static version of vserver library.
226 %description static -l pl.UTF-8
227 Ten pakiet zawiera statyczną wersję biblioteki vservera.
230 Summary: Legacy utilities for util-vserver
231 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
232 Group: Applications/System
233 Requires(post,preun): /sbin/chkconfig
234 Requires: %{name} = %{version}-%{release}
238 util-vserver provides the components and a framework to setup virtual
239 servers. A virtual server runs inside a linux server. It is
240 nevertheless highly independent. As such, you can run various services
241 with normal configuration. The various vservers can't interact with
242 each other and can't interact with services in the main server.
244 This package contains the tools which are needed to work with Vservers
245 having an old-style configuration.
247 %description legacy -l pl.UTF-8
248 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
249 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
250 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
251 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
252 w interakcję z innymi ani z usługami na głównym serwerze.
254 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
255 konfigurację w starym stylu.
257 %package -n python-util-vserver
258 Summary: Python interface to libutil-vserver library
259 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
261 Group: Libraries/Python
263 %description -n python-util-vserver
264 Python interface to libutil-vserver library.
266 %description -n python-util-vserver -l pl.UTF-8
267 Pythonowy interfejs do biblioteki libutil-vserver.
269 %package -n vserver-distro-alpine
270 Summary: VServer build template for Alpine Linux
271 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
272 Group: Applications/System
273 Requires: %{name} = %{version}-%{release}
275 %description -n vserver-distro-alpine
276 VServer build template for Alpine Linux.
278 %description -n vserver-distro-alpine -l pl.UTF-8
279 Szablon budowania VServerów dla dystrybucji Alpine Linux.
281 %package -n vserver-distro-centos
282 Summary: VServer build template for CentOS
283 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
284 Group: Applications/System
285 Requires: %{name} = %{version}-%{release}
286 Requires: vserver-distro-redhat = %{version}-%{release}
289 %description -n vserver-distro-centos
290 VServer build template for CentOS 4.2 and 5.
292 %description -n vserver-distro-centos -l pl.UTF-8
293 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
295 %package -n vserver-distro-debian
296 Summary: VServer build templates for Debian and Ubuntu
297 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
298 Group: Applications/System
299 Requires: %{name} = %{version}-%{release}
300 Requires: debootstrap
302 Provides: vserver-distro-ubuntu
303 Obsoletes: vserver-distro-ubuntu
305 %description -n vserver-distro-debian
306 VServer build templates for Debian and Ubuntu.
308 %description -n vserver-distro-debian -l pl.UTF-8
309 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
311 %package -n vserver-distro-fedora
312 Summary: VServer build templates for Fedora
313 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
314 Group: Applications/System
315 Requires: %{name} = %{version}-%{release}
319 Requires: vserver-distro-redhat = %{version}-%{release}
323 %description -n vserver-distro-fedora
324 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
326 %description -n vserver-distro-fedora -l pl.UTF-8
327 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
328 1,2,3,4,5,6 oraz Fedora 7.
330 %package -n vserver-distro-gentoo
331 Summary: VServer build template for Gentoo
332 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
333 Group: Applications/System
334 Requires: %{name} = %{version}-%{release}
336 %description -n vserver-distro-gentoo
337 VServer build template for Gentoo.
339 %description -n vserver-distro-gentoo -l pl.UTF-8
340 Szablon budowania VServerów dla Gentoo.
342 %package -n vserver-distro-pld
343 Summary: VServer build templates for PLD Linux
344 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
345 Group: Applications/System
346 Requires: %{name} = %{version}-%{release}
347 Requires: /etc/pld-release
348 Requires: poldek >= 0.30
350 %description -n vserver-distro-pld
351 VServer build templates for PLD Linux.
353 %description -n vserver-distro-pld -l pl.UTF-8
354 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
356 %package -n vserver-distro-redhat
357 Summary: VServer build template for Red Hat Linux 9
358 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
359 Group: Applications/System
360 Requires: %{name} = %{version}-%{release}
366 %description -n vserver-distro-redhat
367 VServer build template for RedHat Linux 9.
369 %description -n vserver-distro-redhat -l pl.UTF-8
370 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
372 %package -n vserver-distro-suse
373 Summary: VServer build template for SuSE 9.1
374 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
375 Group: Applications/System
376 Requires: %{name} = %{version}-%{release}
382 %description -n vserver-distro-suse
383 VServer build template for SuSE Linux 9.1.
385 %description -n vserver-distro-suse -l pl.UTF-8
386 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
388 %package -n vserver-distro-scientificlinux
389 Summary: VServer build template for Scientific Linux
390 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
391 Group: Applications/System
392 Requires: %{name} = %{version}-%{release}
399 %description -n vserver-distro-scientificlinux
400 VServer build template for Scientific Linux.
402 %description -n vserver-distro-scientificlinux -l pl.UTF-8
403 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
405 %package -n vserver-distro-tld
406 Summary: VServer build templates for Titanium Linux Distribution
407 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
408 Group: Applications/System
409 Requires: %{name} = %{version}-%{release}
410 Requires: poldek >= 0.30
412 %description -n vserver-distro-tld
413 VServer build templates for Titanium Linux Distribution.
415 %description -n vserver-distro-tld -l pl.UTF-8
416 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
419 %setup -q -n %{name}-%{version}-%{snap} -a11
430 %{?with_no_dynamic_context:%patch10 -p1}
448 cp -p %{SOURCE9} package-management.txt
451 unset LD_SYMBOLIC_FUNCTIONS || :
454 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
461 --with-initrddir=/etc/rc.d/init.d \
463 --enable-apis=NOLEGACY \
464 --with-initscripts=sysv \
465 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
467 IONICE=%{_usrbin}/ionice \
469 IPTABLES=%{_usrsbin}/iptables \
471 MODPROBE=/sbin/modprobe \
473 NAMEIF=/sbin/nameif \
475 RESTORE=/sbin/restore \
477 RSYNC=%{_usrbin}/rsync \
478 STRACE=%{_usrbin}/strace \
480 VCONFIG=/sbin/vconfig \
481 WGET=%{_usrbin}/wget \
486 %{?with_doc:%{__make} doc}
488 %{__make} -C vproc-%{vproc_version} \
490 CFLAGS="%{rpmcflags}"
493 rm -rf $RPM_BUILD_ROOT
494 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
495 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
496 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
498 %{__make} -j1 install install-distribution \
499 %if %{without legacy}
500 scripts_legacy_src_SCRPTS= \
501 scripts_legacy_gen_SCRPTS= \
502 scripts_legacy_src_PRGS= \
506 DESTDIR=$RPM_BUILD_ROOT
508 # our libcgroup uses per subsystem mount
509 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
511 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
513 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
514 $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
515 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
516 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
517 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
518 $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
519 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
520 $RPM_BUILD_ROOT/etc/sysconfig/vservers
521 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
522 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
525 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
527 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
528 s=$(basename $i | sed s/v_//)
529 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
530 # IP addresses/interfaces to bound $s service to
536 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
537 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
538 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
539 $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
540 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
542 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
543 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
544 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
545 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
546 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
549 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
550 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
551 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
552 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
553 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
554 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
555 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
556 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
557 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
558 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
560 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
561 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
564 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
565 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
567 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
568 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
570 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
572 # set arch for pld-ac in pld.conf
573 %ifarch i586 i686 ppc sparc alpha athlon
574 %define ftp_arch %{_target_cpu}
577 %define ftp_arch amd64
580 %define ftp_arch i386
582 %ifarch pentium2 pentium3 pentium4
583 %define ftp_arch i686
585 %ifarch sparcv9 sparc64
586 %define ftp_arch sparc
588 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
590 # set arch for pld-th in pld.conf
591 %ifarch i486 i686 ppc sparc alpha athlon
592 %define ftp_arch %{_target_cpu}
595 %define ftp_arch x86_64
598 %define ftp_arch i486
600 %ifarch pentium2 pentium3 pentium4
601 %define ftp_arch i686
603 %ifarch sparcv9 sparc64
604 %define ftp_arch sparc
606 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
608 # set arch for tld in tld.conf
609 %ifarch i586 i686 ppc sparc alpha
610 %define ftp_arch %{_target_cpu}
613 %define ftp_arch x86_64
615 %ifarch athlon pentium2 pentium3 pentium4
616 %define ftp_arch i686
618 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
620 # current debootstrap link
621 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
622 > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
624 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
627 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
628 # we have our own initscript which does the same
629 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
630 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
631 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
632 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
635 rm -rf $RPM_BUILD_ROOT
637 %triggerun -- util-vserver-init
638 # Prevent preun from util-vserver-init from working
639 chmod a-x /etc/rc.d/init.d/vprocunhide
640 chmod a-x /etc/rc.d/init.d/vrootdevices
641 chmod a-x /etc/rc.d/init.d/vservers
643 %triggerpostun -- util-vserver-init
644 # Restore what triggerun removed
645 chmod ug+x /etc/rc.d/init.d/vprocunhide
646 chmod ug+x /etc/rc.d/init.d/vrootdevices
647 chmod ug+x /etc/rc.d/init.d/vservers
648 /sbin/chkconfig --add vrootdevices
649 /sbin/chkconfig --add vprocunhide
650 /sbin/chkconfig --add vservers
651 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
652 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
653 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
655 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
656 cp -f /etc/sysconfig/vservers{,.rpmnew}
657 mv -f /etc/sysconfig/vservers{.rpmsave,}
661 %{_sbindir}/setattr --barrier /vservers || :
662 /sbin/chkconfig --add util-vserver
663 /sbin/chkconfig --add vrootdevices
664 /sbin/chkconfig --add vprocunhide
665 /sbin/chkconfig --add vservers
666 if [ ! -f /var/lock/subsys/util-vserver ]; then
667 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
669 if [ ! -f /var/lock/subsys/vrootdevices ]; then
670 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
672 if [ ! -f /var/lock/subsys/vprocunhide ]; then
673 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
675 if [ ! -f /var/lock/subsys/vservers ]; then
676 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
680 if [ "$1" = "0" ]; then
681 %service util-vserver stop
682 %service vservers stop
683 %service vprocunhide stop
684 %service vrootdevices stop
685 /sbin/chkconfig --del util-vserver
686 /sbin/chkconfig --del vservers
687 /sbin/chkconfig --del vprocunhide
688 /sbin/chkconfig --del vrootdevices
691 %post lib -p /sbin/ldconfig
692 %postun lib -p /sbin/ldconfig
695 /sbin/chkconfig --add rebootmgr
696 /sbin/chkconfig --add vservers-legacy
697 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
698 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
700 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
701 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
705 if [ "$1" = "0" ]; then
706 %service rebootmgr stop
707 %service vservers-legacy stop
708 /sbin/chkconfig --del rebootmgr
709 /sbin/chkconfig --del vservers-legacy
712 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
713 for D in ac th ti; do
714 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
716 if [ -f $P/pld-source.conf.rpmsave ]; then
717 cp -f $P/repos.d/pld.conf{,.rpmnew}
718 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
724 %defattr(644,root,root,755)
725 %doc AUTHORS NEWS THANKS doc/intro.txt
726 %doc package-management.txt
727 %{?with_doc:%doc doc/*.html}
728 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
729 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
730 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
731 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
732 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
733 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
734 %attr(754,root,root) /etc/rc.d/init.d/vservers
735 %dir %{_sysconfdir}/vservers
736 %dir %{_sysconfdir}/vservers/.defaults
737 %dir %{_sysconfdir}/vservers/.defaults/apps
738 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
739 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
740 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
741 %dir %{_sysconfdir}/vservers/.defaults/cgroup
742 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
743 %dir %{_sysconfdir}/vservers/.defaults/files
744 %{_sysconfdir}/vservers/.defaults/vdirbase
745 %{_sysconfdir}/vservers/.defaults/cachebase
746 %{_sysconfdir}/vservers/.defaults/run.rev
747 %dir %{_sysconfdir}/vservers/.distributions
748 %dir %{_sysconfdir}/vservers/.distributions/.common
749 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
751 %attr(755,root,root) %{_sbindir}/chbind
752 %attr(755,root,root) %{_sbindir}/chcontext
753 %attr(755,root,root) %{_sbindir}/chxid
754 %attr(755,root,root) %{_sbindir}/exec-cd
755 %attr(755,root,root) %{_sbindir}/lsxid
756 %attr(755,root,root) %{_sbindir}/naddress
757 %attr(755,root,root) %{_sbindir}/nattribute
758 %attr(755,root,root) %{_sbindir}/ncontext
759 %attr(755,root,root) %{_sbindir}/reducecap
760 %attr(755,root,root) %{_sbindir}/setattr
761 %attr(755,root,root) %{_sbindir}/showattr
762 %attr(755,root,root) %{_sbindir}/vapt-get
763 %attr(755,root,root) %{_sbindir}/vattribute
764 %attr(755,root,root) %{_sbindir}/vcontext
765 %attr(755,root,root) %{_sbindir}/vdevmap
766 %attr(755,root,root) %{_sbindir}/vdlimit
767 %attr(755,root,root) %{_sbindir}/vdu
768 %attr(755,root,root) %{_sbindir}/vkill
769 %attr(755,root,root) %{_sbindir}/vlimit
770 %attr(755,root,root) %{_sbindir}/vmemctrl
771 %attr(755,root,root) %{_sbindir}/vmount
772 %attr(755,root,root) %{_sbindir}/vnamespace
773 %attr(755,root,root) %{_sbindir}/vpoldek
774 %attr(755,root,root) %{_sbindir}/vproc
775 %attr(755,root,root) %{_sbindir}/vps
776 %attr(755,root,root) %{_sbindir}/vpstree
777 %attr(755,root,root) %{_sbindir}/vrpm
778 %attr(755,root,root) %{_sbindir}/vrsetup
779 %attr(755,root,root) %{_sbindir}/vsched
780 %attr(755,root,root) %{_sbindir}/vserver
781 %attr(755,root,root) %{_sbindir}/vserver-info
782 %attr(755,root,root) %{_sbindir}/vserver-stat
783 %attr(755,root,root) %{_sbindir}/vsomething
784 %attr(755,root,root) %{_sbindir}/vspace
785 %attr(755,root,root) %{_sbindir}/vtag
786 %attr(755,root,root) %{_sbindir}/vtop
787 %attr(755,root,root) %{_sbindir}/vuname
788 %attr(755,root,root) %{_sbindir}/vurpm
789 %attr(755,root,root) %{_sbindir}/vwait
790 %attr(755,root,root) %{_sbindir}/vyum
791 %dir %{_libdir}/%{name}
792 %dir %{_libdir}/%{name}/defaults
793 %{_libdir}/%{name}/defaults/fstab
794 %{_libdir}/%{name}/defaults/debootstrap.*
795 %{_libdir}/%{name}/defaults/vunify-exclude
796 %{_libdir}/%{name}/defaults/context.start
797 %{_libdir}/%{name}/defaults/environment
798 %{_libdir}/%{name}/defaults/h2ext.desc
799 %{_libdir}/%{name}/defaults/mtab
800 %{_libdir}/%{name}/defaults/vprocunhide-files
801 %dir %{_libdir}/%{name}/distributions
802 %{_libdir}/%{name}/distributions/defaults
803 %dir %{_libdir}/%{name}/distributions/template
804 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
805 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
806 %{_libdir}/%{name}/FEATURES.txt
807 %{_libdir}/%{name}/util-vserver-vars
808 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
809 %attr(755,root,root) %{_libdir}/%{name}/capchroot
810 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
811 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
812 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
813 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
814 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
815 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
816 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
817 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
818 %attr(755,root,root) %{_libdir}/%{name}/filetime
819 %{_libdir}/%{name}/functions
820 %attr(755,root,root) %{_libdir}/%{name}/h2ext
821 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
822 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
823 %attr(755,root,root) %{_libdir}/%{name}/lockfile
824 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
825 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
826 %attr(755,root,root) %{_libdir}/%{name}/readlink
827 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
828 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
829 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
830 %attr(755,root,root) %{_libdir}/%{name}/sigexec
831 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
832 %attr(755,root,root) %{_libdir}/%{name}/tunctl
833 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
834 %attr(755,root,root) %{_libdir}/%{name}/vclone
835 %attr(755,root,root) %{_libdir}/%{name}/vcopy
836 %attr(755,root,root) %{_libdir}/%{name}/vhashify
837 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
838 %attr(755,root,root) %{_libdir}/%{name}/vpkg
839 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
840 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
841 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
842 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
843 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
844 %{_libdir}/%{name}/vserver-build.*
845 %{_libdir}/%{name}/vserver-setup.functions
846 %{_libdir}/%{name}/vserver.*
847 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
848 %attr(755,root,root) %{_libdir}/%{name}/vshelper
849 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
850 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
851 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
852 %attr(755,root,root) %{_libdir}/%{name}/vunify
853 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
854 %{_mandir}/man8/chbind.8*
855 %{_mandir}/man8/chcontext.8*
856 %{_mandir}/man8/reducecap.8*
857 %{_mandir}/man8/vps.8*
858 %{_mandir}/man8/vpstree.8*
859 %{_mandir}/man8/vserver-build.8*
860 %{_mandir}/man8/vserver-stat.8*
861 %{_mandir}/man8/vserver.8*
862 %{_mandir}/man8/vtop.8*
863 %attr(000,root,root) %dir /vservers
865 %{systemdtmpfilesdir}/%{name}.conf
866 %dir %{_localstatedir}/run/vservers
867 %dir %{_localstatedir}/run/vservers.rev
868 %dir %{_localstatedir}/run/vshelper
869 %dir /var/cache/vservers
870 %dir /var/cache/vservers/poldek
873 %defattr(644,root,root,755)
874 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
875 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
878 %defattr(644,root,root,755)
879 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
880 %attr(755,root,root) %{_libdir}/libvserver.so
882 %{_includedir}/vserver*.h
883 %{_pkgconfigdir}/*.pc
886 %defattr(644,root,root,755)
887 %{_libdir}/libvserver.a
891 %defattr(644,root,root,755)
892 %dir %{_sysconfdir}/vservices
893 %{_sysconfdir}/vservices/*
894 %dir %{_libdir}/%{name}/legacy
895 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
896 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
897 %attr(754,root,root) /etc/rc.d/init.d/v_*
898 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
899 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
900 %attr(755,root,root) %{_sbindir}/vserver-copy
901 %{_mandir}/man8/distrib-info.8*
902 %{_mandir}/man8/rebootmgr.8*
903 %{_mandir}/man8/vserver-copy.8*
906 %files -n python-util-vserver
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{py_sitedir}/_libvserver.so
909 %{py_sitedir}/libvserver.py
911 %files -n vserver-distro-alpine
912 %defattr(644,root,root,755)
913 %dir %{_libdir}/%{name}/distributions/alpine
914 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
915 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
917 %files -n vserver-distro-centos
918 %defattr(644,root,root,755)
919 %{_libdir}/util-vserver/distributions/centos*
921 %files -n vserver-distro-debian
922 %defattr(644,root,root,755)
923 %dir %{_libdir}/%{name}/distributions/debian
924 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
925 %{_libdir}/%{name}/distributions/etch
926 %{_libdir}/%{name}/distributions/lenny
927 %{_libdir}/%{name}/distributions/sid
928 %{_libdir}/%{name}/distributions/squeeze
929 %{_libdir}/%{name}/distributions/wheezy
931 %files -n vserver-distro-fedora
932 %defattr(644,root,root,755)
933 %dir %{_sysconfdir}/vservers/.distributions/f7
934 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
935 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
936 %dir %{_sysconfdir}/vservers/.distributions/fc*
937 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
938 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
939 %{_libdir}/%{name}/distributions/f7
940 %{_libdir}/%{name}/distributions/f8
941 %{_libdir}/%{name}/distributions/f9
942 %{_libdir}/%{name}/distributions/f10
943 %{_libdir}/%{name}/distributions/f11
944 %{_libdir}/%{name}/distributions/f12
945 %{_libdir}/%{name}/distributions/f13
946 %{_libdir}/%{name}/distributions/f14
947 %{_libdir}/%{name}/distributions/fc1
948 %{_libdir}/%{name}/distributions/fc2
949 %{_libdir}/%{name}/distributions/fc3
950 %{_libdir}/%{name}/distributions/fc4
951 %{_libdir}/%{name}/distributions/fc5
952 %{_libdir}/%{name}/distributions/fc6
954 %files -n vserver-distro-gentoo
955 %defattr(644,root,root,755)
956 %dir %{_libdir}/util-vserver/distributions/gentoo
957 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
958 %attr(755,root,root) %{_sbindir}/vdispatch-conf
959 %attr(755,root,root) %{_sbindir}/vemerge
960 %attr(755,root,root) %{_sbindir}/vesync
961 %attr(755,root,root) %{_sbindir}/vupdateworld
963 %files -n vserver-distro-pld
964 %defattr(644,root,root,755)
965 %dir %{_libdir}/%{name}/distributions/pld
966 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
967 %dir %{_libdir}/%{name}/distributions/pld-*
968 %{_libdir}/%{name}/distributions/pld-*/pkgs
969 %{_libdir}/%{name}/distributions/pld-*/pubkeys
970 %{_libdir}/%{name}/distributions/pld-*/rpm
971 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
972 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
973 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
974 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
975 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
976 %dir %{_sysconfdir}/vservers/.distributions/pld-th
977 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
978 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
979 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
981 %files -n vserver-distro-redhat
982 %defattr(644,root,root,755)
983 %dir %{_sysconfdir}/vservers/.distributions/rh9
984 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
985 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
986 %{_libdir}/%{name}/distributions/rh9
987 %dir %{_libdir}/%{name}/distributions/redhat
988 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
989 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
990 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
991 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
993 %files -n vserver-distro-suse
994 %defattr(644,root,root,755)
995 %dir %{_sysconfdir}/vservers/.distributions/suse*
996 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
997 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
998 %{_libdir}/%{name}/distributions/suse*
1000 %files -n vserver-distro-scientificlinux
1001 %defattr(644,root,root,755)
1002 %dir %{_libdir}/%{name}/distributions/sl6
1003 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpost
1004 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpre
1005 %{_libdir}/%{name}/distributions/sl6/pkgs
1006 %{_libdir}/%{name}/distributions/sl6/yum
1007 %{_libdir}/%{name}/distributions/sl6/yum.repos.d
1009 %files -n vserver-distro-tld
1010 %defattr(644,root,root,755)
1011 %dir %{_libdir}/%{name}/distributions/tld
1012 %attr(755,root,root) %{_libdir}/%{name}/distributions/tld/initpost
1013 %{_libdir}/%{name}/distributions/tld/pkgs
1014 %{_libdir}/%{name}/distributions/tld/rpm
1015 %dir %{_sysconfdir}/vservers/.distributions/tld
1016 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1017 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1018 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf