2 # - m68k and mips are the only not supported archs
5 %bcond_without dietlibc # don't use dietlibc (ask for troubles)
6 %bcond_without doc # don't build documentation which needed LaTeX
7 %bcond_without no_dynamic_context # disable enforcement of disabled dynamic context
8 %bcond_with xalan # use the xalan xslt processor
9 %bcond_with legacy # build legacy 1.x utils
11 %define vproc_version 0.01
14 # pdflatex: refman: Invalid argument
18 # reqdb_pkg and reqdb_ver must match value from current rpm package in distro
20 %define reqdb_pkg db%{reqdb_ver}
23 Summary: Linux virtual server utilities
24 Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
27 Release: 1.%{snap}.%{rel}
29 Group: Applications/System
30 Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
31 # Source0-md5: d6fe16a0dbde811ae0672ca69aaf01c5
32 Source1: vprocunhide.init
33 Source2: vservers.init
34 Source3: vservers-legacy.init
35 Source4: rebootmgr.init
36 Source5: vservers.sysconfig
37 Source6: vservers-legacy.sysconfig
38 Source7: vrootdevices.init
39 Source8: vrootdevices.sysconfig
40 # A bit of documentation explaining package management
41 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
42 Source9: %{name}-pkgmgmt.txt
43 Source10: %{name}-initpost.sh
44 Source11: http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2
45 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
46 Source12: %{name}-vhashify.cron
47 Source13: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
48 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
49 Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
50 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
51 Source15: %{name}.init
52 Source16: %{name}.tmpfiles
53 Patch0: %{name}-vsysvwrapper.patch
54 Patch1: %{name}-pld.patch
55 Patch2: %{name}-centos.patch
56 Patch3: %{name}-tld.patch
57 Patch4: %{name}-m4-diet.patch
58 Patch5: %{name}-yum-verb-nogpg.patch
59 Patch6: %{name}-build-umask.patch
60 Patch8: %{name}-vprocunhide.patch
61 Patch9: %{name}-dev.patch
62 Patch10: %{name}-no-dynamic-ctx.patch
63 Patch11: %{name}-more-ip.patch
64 Patch12: %{name}-rpm-fake-resolver-badperm-errorlogging.patch
65 Patch13: %{name}-tmpdir.patch
66 Patch14: %{name}-rpmpath.patch
67 Patch15: %{name}-interfaces-ignore-cvs-dir.patch
68 Patch16: %{name}-personalitymachine.patch
69 Patch17: %{name}-backupfiles.patch
70 Patch18: %{name}-vprocunhide-net.patch
71 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
72 Patch19: %{name}-dbrebuild-internalize4.patch
73 Patch21: %{name}-bash-wrapper.patch
74 Patch22: %{name}-pivot-root-ugly-hack.patch
75 Patch24: vunify-more-exclude.patch
78 Patch27: %{name}-rpm5.patch
79 Patch28: diet-ccache.patch
80 Patch29: %{name}-centos6.patch
81 Patch30: vsysctl-ignore-files.patch
82 URL: http://savannah.nongnu.org/projects/util-vserver/
83 BuildRequires: autoconf
84 BuildRequires: automake >= 1.9
85 BuildRequires: beecrypt-devel
87 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
88 BuildRequires: e2fsprogs-devel
89 BuildRequires: libstdc++-devel
90 BuildRequires: libtool >= 1.5.14
91 BuildRequires: pkgconfig
92 BuildRequires: python-devel
93 BuildRequires: python-modules
94 BuildRequires: rpm-pythonprov
95 BuildRequires: rpmbuild(macros) >= 1.647
96 BuildRequires: sed >= 4.0
98 BuildRequires: doxygen >= 1:1.7.3
99 BuildRequires: graphviz
100 BuildRequires: libxslt-progs
101 BuildRequires: python-devel
102 %if "%{pld_release}" != "th"
103 BuildRequires: tetex-fonts-jknappen
104 BuildRequires: tetex-format-pdflatex
105 BuildRequires: tetex-makeindex
106 BuildRequires: tetex-metafont
108 BuildRequires: texlive-fonts-rsfs
109 BuildRequires: texlive-fonts-type1-urw
110 BuildRequires: texlive-format-pdflatex
111 BuildRequires: texlive-latex-ams
112 BuildRequires: texlive-latex-extend
113 BuildRequires: texlive-latex-ucs
114 BuildRequires: texlive-makeindex
115 BuildRequires: texlive-pdftex
116 BuildRequires: texlive-xetex
118 %{?with_xalan:BuildRequires: xalan-j}
120 Requires(post,preun): /sbin/chkconfig
121 Requires: %{name}-lib = %{version}-%{release}
126 Requires: mktemp >= 1.5-18
127 Requires: pld-release
128 Requires: rc-scripts >= 0.4.3.4
129 #Requires: rpm >= 5.4.10-36
131 Requires: uname(release) >= 2.6.27
132 Requires: util-linux >= 2.13
133 Requires: vserver-distro-pld = %{version}-%{release}
134 Suggests: %{reqdb_pkg}-utils
136 Obsoletes: util-vserver-build
137 Obsoletes: util-vserver-core
138 Obsoletes: util-vserver-init
139 Conflicts: poldek < 0.18.8-10
140 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
143 # binaries created with this option have broken segments when using dietlibc
144 %define filterout_ld -Wl,-z,relro
148 %define _usrbin /usr/bin
149 %define _usrsbin /usr/sbin
150 %define _usrlib /usr/lib
153 This package provides the components and a framework to setup virtual
154 servers. A virtual server runs inside a Linux server. It is
155 nevertheless highly independent. As such, you can run various services
156 with normal configuration. The various vservers can't interact with
157 each other and can't interact with services in the main server.
159 This requires a special kernel supporting the new new_s_context and
160 set_ipv4root system call.
162 This package contains utilities which are required to communicate with
163 the Linux-Vserver enabled kernel, utilities which assist in building
164 Vservers and SysV initscripts which start and stop Vservers and
167 %description -l pl.UTF-8
168 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
169 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
170 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
171 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
172 w interakcję z innymi ani z usługami na głównym serwerze.
174 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
175 new_s_context i set_ipv4root.
177 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
178 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
179 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
180 zatrzymujące Vserwery oraz powiązane narzędzia.
183 Summary: Dynamic libraries for util-vserver
184 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
188 util-vserver provides the components and a framework to setup virtual
189 servers. A virtual server runs inside a linux server. It is
190 nevertheless highly independent. As such, you can run various services
191 pith normal configuration. The various vservers can't interact with
192 each other and can't interact with services in the main server.
194 This package contains the shared libraries needed by all other
195 'util-vserver' subpackages.
197 %description lib -l pl.UTF-8
198 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
199 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
200 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
201 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
202 w interakcję z innymi ani z usługami na głównym serwerze.
204 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
205 podpakiety util-vserver.
208 Summary: Development files for Linux vserver libraries
209 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
210 Group: Development/Libraries
211 Requires: %{name}-lib = %{version}-%{release}
214 This package contains the development files necessary for developing
215 programs which use vserver library.
217 %description devel -l pl.UTF-8
218 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
219 programów używających biblioteki vserver.
222 Summary: Static vserver library
223 Summary(pl.UTF-8): Biblioteka statyczna vservera
224 Group: Development/Libraries
225 Requires: %{name}-devel = %{version}-%{release}
228 This package contains the static version of vserver library.
230 %description static -l pl.UTF-8
231 Ten pakiet zawiera statyczną wersję biblioteki vservera.
234 Summary: Legacy utilities for util-vserver
235 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
236 Group: Applications/System
237 Requires(post,preun): /sbin/chkconfig
238 Requires: %{name} = %{version}-%{release}
242 util-vserver provides the components and a framework to setup virtual
243 servers. A virtual server runs inside a linux server. It is
244 nevertheless highly independent. As such, you can run various services
245 with normal configuration. The various vservers can't interact with
246 each other and can't interact with services in the main server.
248 This package contains the tools which are needed to work with Vservers
249 having an old-style configuration.
251 %description legacy -l pl.UTF-8
252 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
253 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
254 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
255 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
256 w interakcję z innymi ani z usługami na głównym serwerze.
258 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
259 konfigurację w starym stylu.
261 %package -n python-util-vserver
262 Summary: Python interface to libutil-vserver library
263 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
265 Group: Libraries/Python
267 %description -n python-util-vserver
268 Python interface to libutil-vserver library.
270 %description -n python-util-vserver -l pl.UTF-8
271 Pythonowy interfejs do biblioteki libutil-vserver.
273 %package -n vserver-distro-alpine
274 Summary: VServer build template for Alpine Linux
275 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
276 Group: Applications/System
277 Requires: %{name} = %{version}-%{release}
279 %description -n vserver-distro-alpine
280 VServer build template for Alpine Linux.
282 %description -n vserver-distro-alpine -l pl.UTF-8
283 Szablon budowania VServerów dla dystrybucji Alpine Linux.
285 %package -n vserver-distro-centos
286 Summary: VServer build template for CentOS
287 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
288 Group: Applications/System
289 Requires: %{name} = %{version}-%{release}
290 Requires: vserver-distro-redhat = %{version}-%{release}
293 %description -n vserver-distro-centos
294 VServer build template for CentOS 4.2 and 5.
296 %description -n vserver-distro-centos -l pl.UTF-8
297 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
299 %package -n vserver-distro-debian
300 Summary: VServer build templates for Debian and Ubuntu
301 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
302 Group: Applications/System
303 Requires: %{name} = %{version}-%{release}
304 Requires: debootstrap
306 Provides: vserver-distro-ubuntu
307 Obsoletes: vserver-distro-ubuntu
309 %description -n vserver-distro-debian
310 VServer build templates for Debian and Ubuntu.
312 %description -n vserver-distro-debian -l pl.UTF-8
313 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
315 %package -n vserver-distro-fedora
316 Summary: VServer build templates for Fedora
317 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
318 Group: Applications/System
319 Requires: %{name} = %{version}-%{release}
323 Requires: vserver-distro-redhat = %{version}-%{release}
327 %description -n vserver-distro-fedora
328 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
330 %description -n vserver-distro-fedora -l pl.UTF-8
331 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
332 1,2,3,4,5,6 oraz Fedora 7.
334 %package -n vserver-distro-gentoo
335 Summary: VServer build template for Gentoo
336 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
337 Group: Applications/System
338 Requires: %{name} = %{version}-%{release}
340 %description -n vserver-distro-gentoo
341 VServer build template for Gentoo.
343 %description -n vserver-distro-gentoo -l pl.UTF-8
344 Szablon budowania VServerów dla Gentoo.
346 %package -n vserver-distro-pld
347 Summary: VServer build templates for PLD Linux
348 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
349 Group: Applications/System
350 Requires: %{name} = %{version}-%{release}
351 Requires: /etc/pld-release
352 Requires: poldek >= 0.30
354 %description -n vserver-distro-pld
355 VServer build templates for PLD Linux.
357 %description -n vserver-distro-pld -l pl.UTF-8
358 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
360 %package -n vserver-distro-redhat
361 Summary: VServer build template for Red Hat Linux 9
362 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
363 Group: Applications/System
364 Requires: %{name} = %{version}-%{release}
370 %description -n vserver-distro-redhat
371 VServer build template for RedHat Linux 9.
373 %description -n vserver-distro-redhat -l pl.UTF-8
374 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
376 %package -n vserver-distro-suse
377 Summary: VServer build template for SuSE 9.1
378 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
379 Group: Applications/System
380 Requires: %{name} = %{version}-%{release}
386 %description -n vserver-distro-suse
387 VServer build template for SuSE Linux 9.1.
389 %description -n vserver-distro-suse -l pl.UTF-8
390 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
392 %package -n vserver-distro-scientificlinux
393 Summary: VServer build template for Scientific Linux
394 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
395 Group: Applications/System
396 Requires: %{name} = %{version}-%{release}
403 %description -n vserver-distro-scientificlinux
404 VServer build template for Scientific Linux.
406 %description -n vserver-distro-scientificlinux -l pl.UTF-8
407 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
409 %package -n vserver-distro-tld
410 Summary: VServer build templates for Titanium Linux Distribution
411 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
412 Group: Applications/System
413 Requires: %{name} = %{version}-%{release}
414 Requires: poldek >= 0.30
416 %description -n vserver-distro-tld
417 VServer build templates for Titanium Linux Distribution.
419 %description -n vserver-distro-tld -l pl.UTF-8
420 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
423 %setup -q -n %{name}-%{version}-%{snap} -a11
433 %{?with_no_dynamic_context:%patch10 -p1}
453 cp -p %{SOURCE9} package-management.txt
455 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
458 unset LD_SYMBOLIC_FUNCTIONS || :
461 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
468 --with-initrddir=/etc/rc.d/init.d \
470 --enable-apis=NOLEGACY \
471 --with-initscripts=sysv \
472 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
474 IONICE=%{_usrbin}/ionice \
476 IPTABLES=%{_usrsbin}/iptables \
478 MODPROBE=/sbin/modprobe \
480 NAMEIF=/sbin/nameif \
482 RESTORE=/sbin/restore \
484 RSYNC=%{_usrbin}/rsync \
485 STRACE=%{_usrbin}/strace \
487 VCONFIG=/sbin/vconfig \
488 WGET=%{_usrbin}/wget \
493 %{?with_doc:%{__make} doc}
495 %{__make} -C vproc-%{vproc_version} \
497 CFLAGS="%{rpmcflags}"
500 rm -rf $RPM_BUILD_ROOT
501 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
502 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
503 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
505 %{__make} -j1 install install-distribution \
506 %if %{without legacy}
507 scripts_legacy_src_SCRPTS= \
508 scripts_legacy_gen_SCRPTS= \
509 scripts_legacy_src_PRGS= \
513 DESTDIR=$RPM_BUILD_ROOT
516 # fix breakage caused by too many substitiutions on x86
517 %{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libdir}/%{name}/sigexec|g' \
518 $RPM_BUILD_ROOT%{_libdir}/%{name}/vshelper
521 # our libcgroup uses per subsystem mount
522 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
524 chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/*
526 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
527 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
528 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
529 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers
530 sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \
531 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
534 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
536 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
537 s=$(basename $i | sed s/v_//)
538 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
539 # IP addresses/interfaces to bound $s service to
545 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
546 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
547 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
549 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
550 rm $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
551 rm $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
552 rm $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
553 rm $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
556 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
557 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
558 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld
559 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost
560 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost
561 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost
562 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost
563 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
564 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
565 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
567 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
568 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
571 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys
572 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
574 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys
575 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
577 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
579 # set arch for pld-ac in pld.conf
580 %ifarch i586 i686 ppc sparc alpha athlon
581 %define ftp_arch %{_target_cpu}
584 %define ftp_arch amd64
587 %define ftp_arch i386
589 %ifarch pentium2 pentium3 pentium4
590 %define ftp_arch i686
592 %ifarch sparcv9 sparc64
593 %define ftp_arch sparc
595 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
597 # set arch for pld-th in pld.conf
598 %ifarch i486 i686 ppc sparc alpha athlon
599 %define ftp_arch %{_target_cpu}
602 %define ftp_arch x86_64
605 %define ftp_arch i486
607 %ifarch pentium2 pentium3 pentium4
608 %define ftp_arch i686
610 %ifarch sparcv9 sparc64
611 %define ftp_arch sparc
613 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
615 # set arch for tld in tld.conf
616 %ifarch i586 i686 ppc sparc alpha
617 %define ftp_arch %{_target_cpu}
620 %define ftp_arch x86_64
622 %ifarch athlon pentium2 pentium3 pentium4
623 %define ftp_arch i686
625 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
627 # current debootstrap link
628 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \
629 > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri
631 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
634 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
635 # we have our own initscript which does the same
636 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
637 %{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions
638 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
639 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
642 rm -rf $RPM_BUILD_ROOT
644 %triggerun -- util-vserver-init
645 # Prevent preun from util-vserver-init from working
646 chmod a-x /etc/rc.d/init.d/vprocunhide
647 chmod a-x /etc/rc.d/init.d/vrootdevices
648 chmod a-x /etc/rc.d/init.d/vservers
650 %triggerpostun -- util-vserver-init
651 # Restore what triggerun removed
652 chmod ug+x /etc/rc.d/init.d/vprocunhide
653 chmod ug+x /etc/rc.d/init.d/vrootdevices
654 chmod ug+x /etc/rc.d/init.d/vservers
655 /sbin/chkconfig --add vrootdevices
656 /sbin/chkconfig --add vprocunhide
657 /sbin/chkconfig --add vservers
658 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
659 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
660 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
662 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
663 cp -f /etc/sysconfig/vservers{,.rpmnew}
664 mv -f /etc/sysconfig/vservers{.rpmsave,}
668 %{_sbindir}/setattr --barrier /vservers || :
669 /sbin/chkconfig --add util-vserver
670 /sbin/chkconfig --add vrootdevices
671 /sbin/chkconfig --add vprocunhide
672 /sbin/chkconfig --add vservers
673 if [ ! -f /var/lock/subsys/util-vserver ]; then
674 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
676 if [ ! -f /var/lock/subsys/vrootdevices ]; then
677 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
679 if [ ! -f /var/lock/subsys/vprocunhide ]; then
680 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
682 if [ ! -f /var/lock/subsys/vservers ]; then
683 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
687 if [ "$1" = "0" ]; then
688 %service util-vserver stop
689 %service vservers stop
690 %service vprocunhide stop
691 %service vrootdevices stop
692 /sbin/chkconfig --del util-vserver
693 /sbin/chkconfig --del vservers
694 /sbin/chkconfig --del vprocunhide
695 /sbin/chkconfig --del vrootdevices
698 %post lib -p /sbin/ldconfig
699 %postun lib -p /sbin/ldconfig
702 /sbin/chkconfig --add rebootmgr
703 /sbin/chkconfig --add vservers-legacy
704 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
705 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
707 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
708 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
712 if [ "$1" = "0" ]; then
713 %service rebootmgr stop
714 %service vservers-legacy stop
715 /sbin/chkconfig --del rebootmgr
716 /sbin/chkconfig --del vservers-legacy
719 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
720 for D in ac th ti; do
721 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
723 if [ -f $P/pld-source.conf.rpmsave ]; then
724 cp -f $P/repos.d/pld.conf{,.rpmnew}
725 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
731 %defattr(644,root,root,755)
732 %doc AUTHORS NEWS THANKS doc/intro.txt
733 %doc package-management.txt
734 %{?with_doc:%doc doc/*.html}
735 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
736 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
737 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
738 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
739 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
740 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
741 %attr(754,root,root) /etc/rc.d/init.d/vservers
742 %dir %{_sysconfdir}/vservers
743 %dir %{_sysconfdir}/vservers/.defaults
744 %dir %{_sysconfdir}/vservers/.defaults/apps
745 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
746 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
747 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
748 %dir %{_sysconfdir}/vservers/.defaults/cgroup
749 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
750 %dir %{_sysconfdir}/vservers/.defaults/files
751 %{_sysconfdir}/vservers/.defaults/vdirbase
752 %{_sysconfdir}/vservers/.defaults/cachebase
753 %{_sysconfdir}/vservers/.defaults/run.rev
754 %dir %{_sysconfdir}/vservers/.distributions
755 %dir %{_sysconfdir}/vservers/.distributions/.common
756 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
758 %attr(755,root,root) %{_sbindir}/chbind
759 %attr(755,root,root) %{_sbindir}/chcontext
760 %attr(755,root,root) %{_sbindir}/chxid
761 %attr(755,root,root) %{_sbindir}/exec-cd
762 %attr(755,root,root) %{_sbindir}/lsxid
763 %attr(755,root,root) %{_sbindir}/naddress
764 %attr(755,root,root) %{_sbindir}/nattribute
765 %attr(755,root,root) %{_sbindir}/ncontext
766 %attr(755,root,root) %{_sbindir}/reducecap
767 %attr(755,root,root) %{_sbindir}/setattr
768 %attr(755,root,root) %{_sbindir}/showattr
769 %attr(755,root,root) %{_sbindir}/vapt-get
770 %attr(755,root,root) %{_sbindir}/vattribute
771 %attr(755,root,root) %{_sbindir}/vcontext
772 %attr(755,root,root) %{_sbindir}/vdevmap
773 %attr(755,root,root) %{_sbindir}/vdlimit
774 %attr(755,root,root) %{_sbindir}/vdu
775 %attr(755,root,root) %{_sbindir}/vkill
776 %attr(755,root,root) %{_sbindir}/vlimit
777 %attr(755,root,root) %{_sbindir}/vmemctrl
778 %attr(755,root,root) %{_sbindir}/vmount
779 %attr(755,root,root) %{_sbindir}/vnamespace
780 %attr(755,root,root) %{_sbindir}/vpoldek
781 %attr(755,root,root) %{_sbindir}/vproc
782 %attr(755,root,root) %{_sbindir}/vps
783 %attr(755,root,root) %{_sbindir}/vpstree
784 %attr(755,root,root) %{_sbindir}/vrpm
785 %attr(755,root,root) %{_sbindir}/vrsetup
786 %attr(755,root,root) %{_sbindir}/vsched
787 %attr(755,root,root) %{_sbindir}/vserver
788 %attr(755,root,root) %{_sbindir}/vserver-info
789 %attr(755,root,root) %{_sbindir}/vserver-stat
790 %attr(755,root,root) %{_sbindir}/vsomething
791 %attr(755,root,root) %{_sbindir}/vspace
792 %attr(755,root,root) %{_sbindir}/vtag
793 %attr(755,root,root) %{_sbindir}/vtop
794 %attr(755,root,root) %{_sbindir}/vuname
795 %attr(755,root,root) %{_sbindir}/vurpm
796 %attr(755,root,root) %{_sbindir}/vwait
797 %attr(755,root,root) %{_sbindir}/vyum
798 %dir %{_datadir}/%{name}
799 %dir %{_datadir}/%{name}/defaults
800 %{_datadir}/%{name}/defaults/fstab
801 %{_datadir}/%{name}/defaults/debootstrap.*
802 %{_datadir}/%{name}/defaults/vunify-exclude
803 %{_datadir}/%{name}/defaults/context.start
804 %{_datadir}/%{name}/defaults/environment
805 %{_datadir}/%{name}/defaults/h2ext.desc
806 %{_datadir}/%{name}/defaults/mtab
807 %{_datadir}/%{name}/defaults/vprocunhide-files
808 %dir %{_datadir}/%{name}/distributions
809 %{_datadir}/%{name}/distributions/defaults
810 %dir %{_datadir}/%{name}/distributions/template
811 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost
812 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre
813 %{_datadir}/%{name}/FEATURES.txt
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 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
821 %attr(755,root,root) %{_libdir}/%{name}/capchroot
822 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
823 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
824 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
825 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
826 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
827 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
828 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
829 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
830 %attr(755,root,root) %{_libdir}/%{name}/filetime
831 %attr(755,root,root) %{_libdir}/%{name}/h2ext
832 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
833 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
834 %attr(755,root,root) %{_libdir}/%{name}/lockfile
835 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
836 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
837 %attr(755,root,root) %{_libdir}/%{name}/readlink
838 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
839 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
840 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
841 %attr(755,root,root) %{_libdir}/%{name}/sigexec
842 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
843 %attr(755,root,root) %{_libdir}/%{name}/tunctl
844 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
845 %attr(755,root,root) %{_libdir}/%{name}/vclone
846 %attr(755,root,root) %{_libdir}/%{name}/vcopy
847 %attr(755,root,root) %{_libdir}/%{name}/vhashify
848 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
849 %attr(755,root,root) %{_libdir}/%{name}/vpkg
850 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
851 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
852 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
853 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
854 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
855 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
856 %attr(755,root,root) %{_libdir}/%{name}/vshelper
857 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
858 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
859 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
860 %attr(755,root,root) %{_libdir}/%{name}/vunify
861 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
862 %{_mandir}/man8/chbind.8*
863 %{_mandir}/man8/chcontext.8*
864 %{_mandir}/man8/reducecap.8*
865 %{_mandir}/man8/vps.8*
866 %{_mandir}/man8/vpstree.8*
867 %{_mandir}/man8/vserver-build.8*
868 %{_mandir}/man8/vserver-stat.8*
869 %{_mandir}/man8/vserver.8*
870 %{_mandir}/man8/vtop.8*
871 %attr(000,root,root) %dir /vservers
873 %{systemdtmpfilesdir}/%{name}.conf
874 %dir %{_localstatedir}/run/vservers
875 %dir %{_localstatedir}/run/vservers.rev
876 %dir %{_localstatedir}/run/vshelper
877 %dir /var/cache/vservers
878 %dir /var/cache/vservers/poldek
881 %defattr(644,root,root,755)
882 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
883 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
886 %defattr(644,root,root,755)
887 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
888 %attr(755,root,root) %{_libdir}/libvserver.so
890 %{_includedir}/vserver*.h
891 %{_pkgconfigdir}/*.pc
894 %defattr(644,root,root,755)
895 %{_libdir}/libvserver.a
899 %defattr(644,root,root,755)
900 %dir %{_sysconfdir}/vservices
901 %{_sysconfdir}/vservices/*
902 %dir %{_libdir}/%{name}/legacy
903 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
904 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
905 %attr(754,root,root) /etc/rc.d/init.d/v_*
906 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
907 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
908 %attr(755,root,root) %{_sbindir}/vserver-copy
909 %{_mandir}/man8/distrib-info.8*
910 %{_mandir}/man8/rebootmgr.8*
911 %{_mandir}/man8/vserver-copy.8*
914 %files -n python-util-vserver
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{py_sitedir}/_libvserver.so
917 %{py_sitedir}/libvserver.py
919 %files -n vserver-distro-alpine
920 %defattr(644,root,root,755)
921 %dir %{_datadir}/%{name}/distributions/alpine
922 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost
923 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre
925 %files -n vserver-distro-centos
926 %defattr(644,root,root,755)
927 %{_datadir}/util-vserver/distributions/centos*
929 %files -n vserver-distro-debian
930 %defattr(644,root,root,755)
931 %dir %{_datadir}/%{name}/distributions/debian
932 %attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost
933 %{_datadir}/%{name}/distributions/etch
934 %{_datadir}/%{name}/distributions/lenny
935 %{_datadir}/%{name}/distributions/sid
936 %{_datadir}/%{name}/distributions/squeeze
937 %{_datadir}/%{name}/distributions/wheezy
939 %files -n vserver-distro-fedora
940 %defattr(644,root,root,755)
941 %dir %{_sysconfdir}/vservers/.distributions/f7
942 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
943 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
944 %dir %{_sysconfdir}/vservers/.distributions/fc*
945 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
946 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
947 %{_datadir}/%{name}/distributions/f7
948 %{_datadir}/%{name}/distributions/f8
949 %{_datadir}/%{name}/distributions/f9
950 %{_datadir}/%{name}/distributions/f10
951 %{_datadir}/%{name}/distributions/f11
952 %{_datadir}/%{name}/distributions/f12
953 %{_datadir}/%{name}/distributions/f13
954 %{_datadir}/%{name}/distributions/f14
955 %{_datadir}/%{name}/distributions/fc1
956 %{_datadir}/%{name}/distributions/fc2
957 %{_datadir}/%{name}/distributions/fc3
958 %{_datadir}/%{name}/distributions/fc4
959 %{_datadir}/%{name}/distributions/fc5
960 %{_datadir}/%{name}/distributions/fc6
962 %files -n vserver-distro-gentoo
963 %defattr(644,root,root,755)
964 %dir %{_datadir}/util-vserver/distributions/gentoo
965 %attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/*
966 %attr(755,root,root) %{_sbindir}/vdispatch-conf
967 %attr(755,root,root) %{_sbindir}/vemerge
968 %attr(755,root,root) %{_sbindir}/vesync
969 %attr(755,root,root) %{_sbindir}/vupdateworld
971 %files -n vserver-distro-pld
972 %defattr(644,root,root,755)
973 %dir %{_datadir}/%{name}/distributions/pld
974 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost
975 %dir %{_datadir}/%{name}/distributions/pld-*
976 %{_datadir}/%{name}/distributions/pld-*/pkgs
977 %{_datadir}/%{name}/distributions/pld-*/pubkeys
978 %{_datadir}/%{name}/distributions/pld-*/rpm
979 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost
980 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
981 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
982 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
983 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
984 %dir %{_sysconfdir}/vservers/.distributions/pld-th
985 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
986 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
987 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
989 %files -n vserver-distro-redhat
990 %defattr(644,root,root,755)
991 %dir %{_sysconfdir}/vservers/.distributions/rh9
992 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
993 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
994 %{_datadir}/%{name}/distributions/rh9
995 %dir %{_datadir}/%{name}/distributions/redhat
996 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl
997 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost
998 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre
999 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit
1001 %files -n vserver-distro-suse
1002 %defattr(644,root,root,755)
1003 %dir %{_sysconfdir}/vservers/.distributions/suse*
1004 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1005 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1006 %{_datadir}/%{name}/distributions/suse*
1008 %files -n vserver-distro-scientificlinux
1009 %defattr(644,root,root,755)
1010 %dir %{_datadir}/%{name}/distributions/sl6
1011 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost
1012 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre
1013 %{_datadir}/%{name}/distributions/sl6/pkgs
1014 %{_datadir}/%{name}/distributions/sl6/yum
1015 %{_datadir}/%{name}/distributions/sl6/yum.repos.d
1017 %files -n vserver-distro-tld
1018 %defattr(644,root,root,755)
1019 %dir %{_datadir}/%{name}/distributions/tld
1020 %attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost
1021 %{_datadir}/%{name}/distributions/tld/pkgs
1022 %{_datadir}/%{name}/distributions/tld/rpm
1023 %dir %{_sysconfdir}/vservers/.distributions/tld
1024 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1025 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1026 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf