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: 21ae909b16d57fdb169743cde35e896d
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 Patch7: %{name}-utmpx.patch
61 Patch8: %{name}-vprocunhide.patch
62 Patch9: %{name}-dev.patch
63 Patch10: %{name}-no-dynamic-ctx.patch
64 Patch11: %{name}-more-ip.patch
65 Patch12: %{name}-rpm-fake-resolver-badperm-errorlogging.patch
66 Patch13: %{name}-tmpdir.patch
67 Patch14: %{name}-rpmpath.patch
68 Patch15: %{name}-interfaces-ignore-cvs-dir.patch
69 Patch16: %{name}-personalitymachine.patch
70 Patch17: %{name}-backupfiles.patch
71 Patch18: %{name}-vprocunhide-net.patch
72 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
73 Patch19: %{name}-dbrebuild-internalize4.patch
74 Patch21: %{name}-bash-wrapper.patch
75 Patch22: %{name}-pivot-root-ugly-hack.patch
76 Patch24: vunify-more-exclude.patch
78 Patch26: %{name}-am.patch
79 Patch27: %{name}-rpm5.patch
80 Patch28: diet-ccache.patch
81 Patch29: %{name}-centos6.patch
82 Patch30: vsysctl-ignore-files.patch
83 URL: http://savannah.nongnu.org/projects/util-vserver/
84 BuildRequires: autoconf
85 BuildRequires: automake >= 1.9
86 BuildRequires: beecrypt-devel
88 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
89 BuildRequires: e2fsprogs-devel
90 BuildRequires: libstdc++-devel
91 BuildRequires: libtool >= 1.5.14
92 BuildRequires: pkgconfig
93 BuildRequires: python-devel
94 BuildRequires: python-modules
95 BuildRequires: rpm-pythonprov
96 BuildRequires: rpmbuild(macros) >= 1.647
97 BuildRequires: sed >= 4.0
99 BuildRequires: doxygen >= 1:1.7.3
100 BuildRequires: graphviz
101 BuildRequires: libxslt-progs
102 BuildRequires: python-devel
103 %if "%{pld_release}" != "th"
104 BuildRequires: tetex-fonts-jknappen
105 BuildRequires: tetex-format-pdflatex
106 BuildRequires: tetex-makeindex
107 BuildRequires: tetex-metafont
109 BuildRequires: texlive-fonts-rsfs
110 BuildRequires: texlive-fonts-type1-urw
111 BuildRequires: texlive-format-pdflatex
112 BuildRequires: texlive-latex-ams
113 BuildRequires: texlive-latex-extend
114 BuildRequires: texlive-latex-ucs
115 BuildRequires: texlive-makeindex
116 BuildRequires: texlive-pdftex
117 BuildRequires: texlive-xetex
119 %{?with_xalan:BuildRequires: xalan-j}
121 Requires(post,preun): /sbin/chkconfig
122 Requires: %{name}-lib = %{version}-%{release}
125 Requires: pld-release
127 Requires: mktemp >= 1.5-18
128 Requires: rc-scripts >= 0.4.3.4
129 #Requires: rpm >= 5.4.10-36
131 Requires: uname(release) >= 2.6.27
132 Requires: util-linux >= 2.13
133 Requires: vserver-distro-pld = %{version}-%{release}
134 Suggests: %{reqdb_pkg}-utils
135 Obsoletes: util-vserver-build
136 Obsoletes: util-vserver-core
137 Obsoletes: util-vserver-init
138 Conflicts: poldek < 0.18.8-10
139 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
142 # binaries created with this option have broken segments when using dietlibc
143 %define filterout_ld -Wl,-z,relro
147 %define _usrbin /usr/bin
148 %define _usrsbin /usr/sbin
149 %define _usrlib /usr/lib
152 This package provides the components and a framework to setup virtual
153 servers. A virtual server runs inside a Linux server. It is
154 nevertheless highly independent. As such, you can run various services
155 with normal configuration. The various vservers can't interact with
156 each other and can't interact with services in the main server.
158 This requires a special kernel supporting the new new_s_context and
159 set_ipv4root system call.
161 This package contains utilities which are required to communicate with
162 the Linux-Vserver enabled kernel, utilities which assist in building
163 Vservers and SysV initscripts which start and stop Vservers and
166 %description -l pl.UTF-8
167 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
168 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
169 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
170 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
171 w interakcję z innymi ani z usługami na głównym serwerze.
173 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
174 new_s_context i set_ipv4root.
176 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
177 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
178 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
179 zatrzymujące Vserwery oraz powiązane narzędzia.
182 Summary: Dynamic libraries for util-vserver
183 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
187 util-vserver provides the components and a framework to setup virtual
188 servers. A virtual server runs inside a linux server. It is
189 nevertheless highly independent. As such, you can run various services
190 pith normal configuration. The various vservers can't interact with
191 each other and can't interact with services in the main server.
193 This package contains the shared libraries needed by all other
194 'util-vserver' subpackages.
196 %description lib -l pl.UTF-8
197 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
198 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
199 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
200 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
201 w interakcję z innymi ani z usługami na głównym serwerze.
203 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
204 podpakiety util-vserver.
207 Summary: Development files for Linux vserver libraries
208 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
209 Group: Development/Libraries
210 Requires: %{name}-lib = %{version}-%{release}
213 This package contains the development files necessary for developing
214 programs which use vserver library.
216 %description devel -l pl.UTF-8
217 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
218 programów używających biblioteki vserver.
221 Summary: Static vserver library
222 Summary(pl.UTF-8): Biblioteka statyczna vservera
223 Group: Development/Libraries
224 Requires: %{name}-devel = %{version}-%{release}
227 This package contains the static version of vserver library.
229 %description static -l pl.UTF-8
230 Ten pakiet zawiera statyczną wersję biblioteki vservera.
233 Summary: Legacy utilities for util-vserver
234 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
235 Group: Applications/System
236 Requires(post,preun): /sbin/chkconfig
237 Requires: %{name} = %{version}-%{release}
241 util-vserver provides the components and a framework to setup virtual
242 servers. A virtual server runs inside a linux server. It is
243 nevertheless highly independent. As such, you can run various services
244 with normal configuration. The various vservers can't interact with
245 each other and can't interact with services in the main server.
247 This package contains the tools which are needed to work with Vservers
248 having an old-style configuration.
250 %description legacy -l pl.UTF-8
251 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
252 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
253 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
254 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
255 w interakcję z innymi ani z usługami na głównym serwerze.
257 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
258 konfigurację w starym stylu.
260 %package -n python-util-vserver
261 Summary: Python interface to libutil-vserver library
262 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
264 Group: Libraries/Python
266 %description -n python-util-vserver
267 Python interface to libutil-vserver library.
269 %description -n python-util-vserver -l pl.UTF-8
270 Pythonowy interfejs do biblioteki libutil-vserver.
272 %package -n vserver-distro-alpine
273 Summary: VServer build template for Alpine Linux
274 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
275 Group: Applications/System
276 Requires: %{name} = %{version}-%{release}
278 %description -n vserver-distro-alpine
279 VServer build template for Alpine Linux.
281 %description -n vserver-distro-alpine -l pl.UTF-8
282 Szablon budowania VServerów dla dystrybucji Alpine Linux.
284 %package -n vserver-distro-centos
285 Summary: VServer build template for CentOS
286 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
287 Group: Applications/System
288 Requires: %{name} = %{version}-%{release}
289 Requires: vserver-distro-redhat = %{version}-%{release}
292 %description -n vserver-distro-centos
293 VServer build template for CentOS 4.2 and 5.
295 %description -n vserver-distro-centos -l pl.UTF-8
296 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
298 %package -n vserver-distro-debian
299 Summary: VServer build templates for Debian and Ubuntu
300 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
301 Group: Applications/System
302 Requires: %{name} = %{version}-%{release}
303 Requires: debootstrap
305 Provides: vserver-distro-ubuntu
306 Obsoletes: vserver-distro-ubuntu
308 %description -n vserver-distro-debian
309 VServer build templates for Debian and Ubuntu.
311 %description -n vserver-distro-debian -l pl.UTF-8
312 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
314 %package -n vserver-distro-fedora
315 Summary: VServer build templates for Fedora
316 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
317 Group: Applications/System
318 Requires: %{name} = %{version}-%{release}
322 Requires: vserver-distro-redhat = %{version}-%{release}
326 %description -n vserver-distro-fedora
327 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
329 %description -n vserver-distro-fedora -l pl.UTF-8
330 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
331 1,2,3,4,5,6 oraz Fedora 7.
333 %package -n vserver-distro-gentoo
334 Summary: VServer build template for Gentoo
335 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
336 Group: Applications/System
337 Requires: %{name} = %{version}-%{release}
339 %description -n vserver-distro-gentoo
340 VServer build template for Gentoo.
342 %description -n vserver-distro-gentoo -l pl.UTF-8
343 Szablon budowania VServerów dla Gentoo.
345 %package -n vserver-distro-pld
346 Summary: VServer build templates for PLD Linux
347 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
348 Group: Applications/System
349 Requires: %{name} = %{version}-%{release}
350 Requires: /etc/pld-release
351 Requires: poldek >= 0.30
353 %description -n vserver-distro-pld
354 VServer build templates for PLD Linux.
356 %description -n vserver-distro-pld -l pl.UTF-8
357 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
359 %package -n vserver-distro-redhat
360 Summary: VServer build template for Red Hat Linux 9
361 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
362 Group: Applications/System
363 Requires: %{name} = %{version}-%{release}
369 %description -n vserver-distro-redhat
370 VServer build template for RedHat Linux 9.
372 %description -n vserver-distro-redhat -l pl.UTF-8
373 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
375 %package -n vserver-distro-suse
376 Summary: VServer build template for SuSE 9.1
377 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
378 Group: Applications/System
379 Requires: %{name} = %{version}-%{release}
385 %description -n vserver-distro-suse
386 VServer build template for SuSE Linux 9.1.
388 %description -n vserver-distro-suse -l pl.UTF-8
389 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
391 %package -n vserver-distro-scientificlinux
392 Summary: VServer build template for Scientific Linux
393 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
394 Group: Applications/System
395 Requires: %{name} = %{version}-%{release}
402 %description -n vserver-distro-scientificlinux
403 VServer build template for Scientific Linux.
405 %description -n vserver-distro-scientificlinux -l pl.UTF-8
406 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
408 %package -n vserver-distro-tld
409 Summary: VServer build templates for Titanium Linux Distribution
410 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
411 Group: Applications/System
412 Requires: %{name} = %{version}-%{release}
413 Requires: poldek >= 0.30
415 %description -n vserver-distro-tld
416 VServer build templates for Titanium Linux Distribution.
418 %description -n vserver-distro-tld -l pl.UTF-8
419 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
422 %setup -q -n %{name}-%{version}-%{snap} -a11
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
515 # our libcgroup uses per subsystem mount
516 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
518 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
520 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
521 $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
522 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
523 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
524 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
525 $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
526 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
527 $RPM_BUILD_ROOT/etc/sysconfig/vservers
528 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
529 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
532 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
534 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
535 s=$(basename $i | sed s/v_//)
536 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
537 # IP addresses/interfaces to bound $s service to
543 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
544 $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
545 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
546 $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%{_libdir}/%{name}/distributions/pld
559 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
560 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
561 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
562 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{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%{_libdir}/%{name}/distributions/pld-ac/pubkeys
572 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
574 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
575 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{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.10_all.deb" \
629 > $RPM_BUILD_ROOT%{_libdir}/%{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%{_libdir}/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 %{_libdir}/%{name}
799 %dir %{_libdir}/%{name}/defaults
800 %{_libdir}/%{name}/defaults/fstab
801 %{_libdir}/%{name}/defaults/debootstrap.*
802 %{_libdir}/%{name}/defaults/vunify-exclude
803 %{_libdir}/%{name}/defaults/context.start
804 %{_libdir}/%{name}/defaults/environment
805 %{_libdir}/%{name}/defaults/h2ext.desc
806 %{_libdir}/%{name}/defaults/mtab
807 %{_libdir}/%{name}/defaults/vprocunhide-files
808 %dir %{_libdir}/%{name}/distributions
809 %{_libdir}/%{name}/distributions/defaults
810 %dir %{_libdir}/%{name}/distributions/template
811 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
812 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
813 %{_libdir}/%{name}/FEATURES.txt
814 %{_libdir}/%{name}/util-vserver-vars
815 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
816 %attr(755,root,root) %{_libdir}/%{name}/capchroot
817 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
818 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
819 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
820 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
821 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
822 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
823 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
824 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
825 %attr(755,root,root) %{_libdir}/%{name}/filetime
826 %{_libdir}/%{name}/functions
827 %attr(755,root,root) %{_libdir}/%{name}/h2ext
828 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
829 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
830 %attr(755,root,root) %{_libdir}/%{name}/lockfile
831 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
832 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
833 %attr(755,root,root) %{_libdir}/%{name}/readlink
834 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
835 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
836 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
837 %attr(755,root,root) %{_libdir}/%{name}/sigexec
838 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
839 %attr(755,root,root) %{_libdir}/%{name}/tunctl
840 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
841 %attr(755,root,root) %{_libdir}/%{name}/vclone
842 %attr(755,root,root) %{_libdir}/%{name}/vcopy
843 %attr(755,root,root) %{_libdir}/%{name}/vhashify
844 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
845 %attr(755,root,root) %{_libdir}/%{name}/vpkg
846 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
847 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
848 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
849 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
850 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
851 %{_libdir}/%{name}/vserver-build.*
852 %{_libdir}/%{name}/vserver-setup.functions
853 %{_libdir}/%{name}/vserver.*
854 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
855 %attr(755,root,root) %{_libdir}/%{name}/vshelper
856 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
857 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
858 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
859 %attr(755,root,root) %{_libdir}/%{name}/vunify
860 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
861 %{_mandir}/man8/chbind.8*
862 %{_mandir}/man8/chcontext.8*
863 %{_mandir}/man8/reducecap.8*
864 %{_mandir}/man8/vps.8*
865 %{_mandir}/man8/vpstree.8*
866 %{_mandir}/man8/vserver-build.8*
867 %{_mandir}/man8/vserver-stat.8*
868 %{_mandir}/man8/vserver.8*
869 %{_mandir}/man8/vtop.8*
870 %attr(000,root,root) %dir /vservers
872 %{systemdtmpfilesdir}/%{name}.conf
873 %dir %{_localstatedir}/run/vservers
874 %dir %{_localstatedir}/run/vservers.rev
875 %dir %{_localstatedir}/run/vshelper
876 %dir /var/cache/vservers
877 %dir /var/cache/vservers/poldek
880 %defattr(644,root,root,755)
881 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
882 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
885 %defattr(644,root,root,755)
886 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
887 %attr(755,root,root) %{_libdir}/libvserver.so
889 %{_includedir}/vserver*.h
890 %{_pkgconfigdir}/*.pc
893 %defattr(644,root,root,755)
894 %{_libdir}/libvserver.a
898 %defattr(644,root,root,755)
899 %dir %{_sysconfdir}/vservices
900 %{_sysconfdir}/vservices/*
901 %dir %{_libdir}/%{name}/legacy
902 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
903 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
904 %attr(754,root,root) /etc/rc.d/init.d/v_*
905 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
906 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
907 %attr(755,root,root) %{_sbindir}/vserver-copy
908 %{_mandir}/man8/distrib-info.8*
909 %{_mandir}/man8/rebootmgr.8*
910 %{_mandir}/man8/vserver-copy.8*
913 %files -n python-util-vserver
914 %defattr(644,root,root,755)
915 %attr(755,root,root) %{py_sitedir}/_libvserver.so
916 %{py_sitedir}/libvserver.py
918 %files -n vserver-distro-alpine
919 %defattr(644,root,root,755)
920 %dir %{_libdir}/%{name}/distributions/alpine
921 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
922 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
924 %files -n vserver-distro-centos
925 %defattr(644,root,root,755)
926 %{_libdir}/util-vserver/distributions/centos*
928 %files -n vserver-distro-debian
929 %defattr(644,root,root,755)
930 %dir %{_libdir}/%{name}/distributions/debian
931 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
932 %{_libdir}/%{name}/distributions/etch
933 %{_libdir}/%{name}/distributions/lenny
934 %{_libdir}/%{name}/distributions/sid
935 %{_libdir}/%{name}/distributions/squeeze
936 %{_libdir}/%{name}/distributions/wheezy
938 %files -n vserver-distro-fedora
939 %defattr(644,root,root,755)
940 %dir %{_sysconfdir}/vservers/.distributions/f7
941 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
942 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
943 %dir %{_sysconfdir}/vservers/.distributions/fc*
944 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
945 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
946 %{_libdir}/%{name}/distributions/f7
947 %{_libdir}/%{name}/distributions/f8
948 %{_libdir}/%{name}/distributions/f9
949 %{_libdir}/%{name}/distributions/f10
950 %{_libdir}/%{name}/distributions/f11
951 %{_libdir}/%{name}/distributions/f12
952 %{_libdir}/%{name}/distributions/f13
953 %{_libdir}/%{name}/distributions/f14
954 %{_libdir}/%{name}/distributions/fc1
955 %{_libdir}/%{name}/distributions/fc2
956 %{_libdir}/%{name}/distributions/fc3
957 %{_libdir}/%{name}/distributions/fc4
958 %{_libdir}/%{name}/distributions/fc5
959 %{_libdir}/%{name}/distributions/fc6
961 %files -n vserver-distro-gentoo
962 %defattr(644,root,root,755)
963 %dir %{_libdir}/util-vserver/distributions/gentoo
964 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
965 %attr(755,root,root) %{_sbindir}/vdispatch-conf
966 %attr(755,root,root) %{_sbindir}/vemerge
967 %attr(755,root,root) %{_sbindir}/vesync
968 %attr(755,root,root) %{_sbindir}/vupdateworld
970 %files -n vserver-distro-pld
971 %defattr(644,root,root,755)
972 %dir %{_libdir}/%{name}/distributions/pld
973 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
974 %dir %{_libdir}/%{name}/distributions/pld-*
975 %{_libdir}/%{name}/distributions/pld-*/pkgs
976 %{_libdir}/%{name}/distributions/pld-*/pubkeys
977 %{_libdir}/%{name}/distributions/pld-*/rpm
978 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
979 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
980 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
981 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
982 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
983 %dir %{_sysconfdir}/vservers/.distributions/pld-th
984 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
985 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
986 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
988 %files -n vserver-distro-redhat
989 %defattr(644,root,root,755)
990 %dir %{_sysconfdir}/vservers/.distributions/rh9
991 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
992 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
993 %{_libdir}/%{name}/distributions/rh9
994 %dir %{_libdir}/%{name}/distributions/redhat
995 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
996 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
997 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
998 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
1000 %files -n vserver-distro-suse
1001 %defattr(644,root,root,755)
1002 %dir %{_sysconfdir}/vservers/.distributions/suse*
1003 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1004 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1005 %{_libdir}/%{name}/distributions/suse*
1007 %files -n vserver-distro-scientificlinux
1008 %defattr(644,root,root,755)
1009 %dir %{_libdir}/%{name}/distributions/sl6
1010 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpost
1011 %attr(755,root,root) %{_libdir}/%{name}/distributions/sl6/initpre
1012 %{_libdir}/%{name}/distributions/sl6/pkgs
1013 %{_libdir}/%{name}/distributions/sl6/yum
1014 %{_libdir}/%{name}/distributions/sl6/yum.repos.d
1016 %files -n vserver-distro-tld
1017 %defattr(644,root,root,755)
1018 %dir %{_libdir}/%{name}/distributions/tld
1019 %attr(755,root,root) %{_libdir}/%{name}/distributions/tld/initpost
1020 %{_libdir}/%{name}/distributions/tld/pkgs
1021 %{_libdir}/%{name}/distributions/tld/rpm
1022 %dir %{_sysconfdir}/vservers/.distributions/tld
1023 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1024 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1025 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf