1 # TODO: verify systemd files
3 # - m68k and mips are the only not supported archs
6 %bcond_without dietlibc # don't use dietlibc (ask for troubles)
7 %bcond_without doc # don't build documentation which needed LaTeX
8 %bcond_without no_dynamic_context # disable enforcement of disabled dynamic context
9 %bcond_with xalan # use the xalan xslt processor
10 %bcond_with legacy # build legacy 1.x utils
12 %define vproc_version 0.01
15 # pdflatex: refman: Invalid argument
19 # reqdb_pkg and reqdb_ver must match value from current rpm package in distro
21 %define reqdb_pkg db%{reqdb_ver}
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.xz
32 # Source0-md5: 5556f5ed07fdca8e0df85826aed7e33f
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 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: h2ext-xz.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 >= 2.57
84 BuildRequires: automake >= 1:1.9
85 BuildRequires: beecrypt-devel
87 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.33-4}
88 BuildRequires: e2fsprogs-devel
89 BuildRequires: libstdc++-devel
90 BuildRequires: libtool >= 1.5.14
91 BuildRequires: pkgconfig
92 BuildRequires: python-devel >= 1:2.4
93 BuildRequires: python-modules >= 1:2.4
94 BuildRequires: rpm-pythonprov
95 BuildRequires: rpmbuild(macros) >= 1.647
96 BuildRequires: sed >= 4.0
97 BuildRequires: systemd-devel
98 BuildRequires: tar >= 1:1.22
101 BuildRequires: doxygen >= 1:1.7.3
102 BuildRequires: graphviz
103 BuildRequires: libxslt-progs
104 BuildRequires: python-devel
105 %if "%{pld_release}" != "th"
106 BuildRequires: tetex-fonts-jknappen
107 BuildRequires: tetex-format-pdflatex
108 BuildRequires: tetex-makeindex
109 BuildRequires: tetex-metafont
111 BuildRequires: texlive-fonts-rsfs
112 BuildRequires: texlive-fonts-type1-urw
113 BuildRequires: texlive-format-pdflatex
114 BuildRequires: texlive-latex-ams
115 BuildRequires: texlive-latex-extend
116 BuildRequires: texlive-latex-ucs
117 BuildRequires: texlive-latex-wasysym
118 BuildRequires: texlive-makeindex
119 BuildRequires: texlive-pdftex
120 BuildRequires: texlive-xetex
122 %{?with_xalan:BuildRequires: xalan-j}
124 Requires(post,preun): /sbin/chkconfig
125 Requires: %{name}-lib = %{version}-%{release}
130 Requires: mktemp >= 1.5-18
132 Requires: pld-release
133 Requires: rc-scripts >= 0.4.3.4
134 #Requires: rpm >= 5.4.10-36
136 Requires: uname(release) >= 2.6.27
137 Requires: util-linux >= 2.13
138 Requires: vserver-distro-pld = %{version}-%{release}
139 Suggests: %{reqdb_pkg}-utils
141 Obsoletes: util-vserver-build
142 Obsoletes: util-vserver-core
143 Obsoletes: util-vserver-init
144 Conflicts: poldek < 0.18.8-10
145 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
148 # binaries created with this option have broken segments when using dietlibc
149 %define filterout_ld -Wl,-z,relro
153 %define _usrbin /usr/bin
154 %define _usrsbin /usr/sbin
155 %define _usrlib /usr/lib
158 This package provides the components and a framework to setup virtual
159 servers. A virtual server runs inside a Linux server. It is
160 nevertheless highly independent. As such, you can run various services
161 with normal configuration. The various vservers can't interact with
162 each other and can't interact with services in the main server.
164 This requires a special kernel supporting the new new_s_context and
165 set_ipv4root system call.
167 This package contains utilities which are required to communicate with
168 the Linux-Vserver enabled kernel, utilities which assist in building
169 Vservers and SysV initscripts which start and stop Vservers and
172 %description -l pl.UTF-8
173 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
174 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
175 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
176 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
177 w interakcję z innymi ani z usługami na głównym serwerze.
179 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
180 new_s_context i set_ipv4root.
182 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
183 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
184 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
185 zatrzymujące Vserwery oraz powiązane narzędzia.
188 Summary: Dynamic libraries for util-vserver
189 Summary(pl.UTF-8): Biblioteki dynamiczne dla pakietu util-vserver
193 util-vserver provides the components and a framework to setup virtual
194 servers. A virtual server runs inside a linux server. It is
195 nevertheless highly independent. As such, you can run various services
196 pith normal configuration. The various vservers can't interact with
197 each other and can't interact with services in the main server.
199 This package contains the shared libraries needed by all other
200 'util-vserver' subpackages.
202 %description lib -l pl.UTF-8
203 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
204 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
205 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
206 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
207 w interakcję z innymi ani z usługami na głównym serwerze.
209 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
210 podpakiety util-vserver.
213 Summary: Development files for Linux vserver libraries
214 Summary(pl.UTF-8): Pliki programistyczne dla bibliotek linuksowego vserwera
215 Group: Development/Libraries
216 Requires: %{name}-lib = %{version}-%{release}
219 This package contains the development files necessary for developing
220 programs which use vserver library.
222 %description devel -l pl.UTF-8
223 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
224 programów używających biblioteki vserver.
227 Summary: Static vserver library
228 Summary(pl.UTF-8): Biblioteka statyczna vservera
229 Group: Development/Libraries
230 Requires: %{name}-devel = %{version}-%{release}
233 This package contains the static version of vserver library.
235 %description static -l pl.UTF-8
236 Ten pakiet zawiera statyczną wersję biblioteki vservera.
239 Summary: Legacy utilities for util-vserver
240 Summary(pl.UTF-8): Stare narzędzia dla util-vserver
241 Group: Applications/System
242 Requires(post,preun): /sbin/chkconfig
243 Requires: %{name} = %{version}-%{release}
247 util-vserver provides the components and a framework to setup virtual
248 servers. A virtual server runs inside a linux server. It is
249 nevertheless highly independent. As such, you can run various services
250 with normal configuration. The various vservers can't interact with
251 each other and can't interact with services in the main server.
253 This package contains the tools which are needed to work with Vservers
254 having an old-style configuration.
256 %description legacy -l pl.UTF-8
257 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
258 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
259 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
260 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
261 w interakcję z innymi ani z usługami na głównym serwerze.
263 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
264 konfigurację w starym stylu.
266 %package -n python-util-vserver
267 Summary: Python interface to libutil-vserver library
268 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
270 Group: Libraries/Python
272 %description -n python-util-vserver
273 Python interface to libutil-vserver library.
275 %description -n python-util-vserver -l pl.UTF-8
276 Pythonowy interfejs do biblioteki libutil-vserver.
278 %package -n vserver-distro-alpine
279 Summary: VServer build template for Alpine Linux
280 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
281 Group: Applications/System
282 Requires: %{name} = %{version}-%{release}
284 %description -n vserver-distro-alpine
285 VServer build template for Alpine Linux.
287 %description -n vserver-distro-alpine -l pl.UTF-8
288 Szablon budowania VServerów dla dystrybucji Alpine Linux.
290 %package -n vserver-distro-centos
291 Summary: VServer build template for CentOS
292 Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
293 Group: Applications/System
294 Requires: %{name} = %{version}-%{release}
295 Requires: vserver-distro-redhat = %{version}-%{release}
298 %description -n vserver-distro-centos
299 VServer build template for CentOS 4.2 and 5.
301 %description -n vserver-distro-centos -l pl.UTF-8
302 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
304 %package -n vserver-distro-debian
305 Summary: VServer build templates for Debian and Ubuntu
306 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
307 Group: Applications/System
308 Requires: %{name} = %{version}-%{release}
309 Requires: debootstrap
311 Provides: vserver-distro-ubuntu
312 Obsoletes: vserver-distro-ubuntu
314 %description -n vserver-distro-debian
315 VServer build templates for Debian and Ubuntu.
317 %description -n vserver-distro-debian -l pl.UTF-8
318 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
320 %package -n vserver-distro-fedora
321 Summary: VServer build templates for Fedora
322 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
323 Group: Applications/System
324 Requires: %{name} = %{version}-%{release}
328 Requires: vserver-distro-redhat = %{version}-%{release}
332 %description -n vserver-distro-fedora
333 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
335 %description -n vserver-distro-fedora -l pl.UTF-8
336 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
337 1,2,3,4,5,6 oraz Fedora 7.
339 %package -n vserver-distro-gentoo
340 Summary: VServer build template for Gentoo
341 Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
342 Group: Applications/System
343 Requires: %{name} = %{version}-%{release}
345 %description -n vserver-distro-gentoo
346 VServer build template for Gentoo.
348 %description -n vserver-distro-gentoo -l pl.UTF-8
349 Szablon budowania VServerów dla Gentoo.
351 %package -n vserver-distro-pld
352 Summary: VServer build templates for PLD Linux
353 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
354 Group: Applications/System
355 Requires: %{name} = %{version}-%{release}
356 Requires: /etc/pld-release
357 Requires: poldek >= 0.30
359 %description -n vserver-distro-pld
360 VServer build templates for PLD Linux.
362 %description -n vserver-distro-pld -l pl.UTF-8
363 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
365 %package -n vserver-distro-redhat
366 Summary: VServer build template for Red Hat Linux 9
367 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
368 Group: Applications/System
369 Requires: %{name} = %{version}-%{release}
375 %description -n vserver-distro-redhat
376 VServer build template for RedHat Linux 9.
378 %description -n vserver-distro-redhat -l pl.UTF-8
379 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
381 %package -n vserver-distro-suse
382 Summary: VServer build template for SuSE 9.1
383 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
384 Group: Applications/System
385 Requires: %{name} = %{version}-%{release}
391 %description -n vserver-distro-suse
392 VServer build template for SuSE Linux 9.1.
394 %description -n vserver-distro-suse -l pl.UTF-8
395 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
397 %package -n vserver-distro-scientificlinux
398 Summary: VServer build template for Scientific Linux
399 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux
400 Group: Applications/System
401 Requires: %{name} = %{version}-%{release}
408 %description -n vserver-distro-scientificlinux
409 VServer build template for Scientific Linux.
411 %description -n vserver-distro-scientificlinux -l pl.UTF-8
412 Szablon do tworzenia VServerów dla dystrybucji Scientific Linux.
414 %package -n vserver-distro-tld
415 Summary: VServer build templates for Titanium Linux Distribution
416 Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux
417 Group: Applications/System
418 Requires: %{name} = %{version}-%{release}
419 Requires: poldek >= 0.30
421 %description -n vserver-distro-tld
422 VServer build templates for Titanium Linux Distribution.
424 %description -n vserver-distro-tld -l pl.UTF-8
425 Szablony do tworzenia VServerów dla dystrybucji Titanium Linux.
428 %setup -q -n %{name}-%{version}-%{snap} -a11
438 %{?with_no_dynamic_context:%patch10 -p1}
458 cp -p %{SOURCE9} package-management.txt
460 %{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
463 unset LD_SYMBOLIC_FUNCTIONS || :
466 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
473 --with-initrddir=/etc/rc.d/init.d \
475 --enable-apis=NOLEGACY \
476 --with-initscripts=sysv \
477 --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
479 IONICE=%{_usrbin}/ionice \
481 IPTABLES=%{_usrsbin}/iptables \
483 MODPROBE=/sbin/modprobe \
485 NAMEIF=/sbin/nameif \
487 RESTORE=/sbin/restore \
489 RSYNC=%{_usrbin}/rsync \
490 STRACE=%{_usrbin}/strace \
492 VCONFIG=/sbin/vconfig \
493 WGET=%{_usrbin}/wget \
498 %{?with_doc:%{__make} doc}
500 %{__make} -C vproc-%{vproc_version} \
502 CFLAGS="%{rpmcflags}"
505 rm -rf $RPM_BUILD_ROOT
506 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
507 $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/{apps/vdevmap,cgroup} \
508 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
510 %{__make} -j1 install install-distribution \
511 %if %{without legacy}
512 scripts_legacy_src_SCRPTS= \
513 scripts_legacy_gen_SCRPTS= \
514 scripts_legacy_src_PRGS= \
518 DESTDIR=$RPM_BUILD_ROOT
521 # fix breakage caused by too many substitiutions on x86
522 %{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libdir}/%{name}/sigexec|g' \
523 $RPM_BUILD_ROOT%{_libdir}/%{name}/vshelper
526 # our libcgroup uses per subsystem mount
527 touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss
529 chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/*
531 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
532 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
533 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
534 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers
535 sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \
536 $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
539 install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
541 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
542 s=$(basename $i | sed s/v_//)
543 cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
544 # IP addresses/interfaces to bound $s service to
550 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
551 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
552 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
554 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
555 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
556 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8
557 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8
558 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8
561 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
562 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
563 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld
564 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost
565 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost
566 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost
567 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost
568 install -p vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
569 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
570 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
572 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
573 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
576 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys
577 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
579 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys
580 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
582 %{__mv} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/{90-util-vserver,util-vserver}.conf
584 # set arch for pld-ac in pld.conf
585 %ifarch i586 i686 ppc sparc alpha athlon
586 %define ftp_arch %{_target_cpu}
589 %define ftp_arch amd64
592 %define ftp_arch i386
594 %ifarch pentium2 pentium3 pentium4
595 %define ftp_arch i686
597 %ifarch sparcv9 sparc64
598 %define ftp_arch sparc
600 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
602 # set arch for pld-th in pld.conf
603 %ifarch i486 i686 ppc sparc alpha athlon
604 %define ftp_arch %{_target_cpu}
607 %define ftp_arch x86_64
610 %define ftp_arch i486
612 %ifarch pentium2 pentium3 pentium4
613 %define ftp_arch i686
615 %ifarch sparcv9 sparc64
616 %define ftp_arch sparc
618 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
620 # set arch for tld in tld.conf
621 %ifarch i586 i686 ppc sparc alpha
622 %define ftp_arch %{_target_cpu}
625 %define ftp_arch x86_64
627 %ifarch athlon pentium2 pentium3 pentium4
628 %define ftp_arch i686
630 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf
632 # current debootstrap link
633 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \
634 > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri
636 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
639 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
640 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
642 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
644 # we have our own initscript which does the same
645 %{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
646 %{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions
647 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
648 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
651 rm -rf $RPM_BUILD_ROOT
653 %triggerun -- util-vserver-init
654 # Prevent preun from util-vserver-init from working
655 chmod a-x /etc/rc.d/init.d/vprocunhide
656 chmod a-x /etc/rc.d/init.d/vrootdevices
657 chmod a-x /etc/rc.d/init.d/vservers
659 %triggerpostun -- util-vserver-init
660 # Restore what triggerun removed
661 chmod ug+x /etc/rc.d/init.d/vprocunhide
662 chmod ug+x /etc/rc.d/init.d/vrootdevices
663 chmod ug+x /etc/rc.d/init.d/vservers
664 /sbin/chkconfig --add vrootdevices
665 /sbin/chkconfig --add vprocunhide
666 /sbin/chkconfig --add vservers
667 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
668 cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
669 mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
671 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
672 cp -f /etc/sysconfig/vservers{,.rpmnew}
673 mv -f /etc/sysconfig/vservers{.rpmsave,}
677 %{_sbindir}/setattr --barrier /vservers || :
678 /sbin/chkconfig --add util-vserver
679 /sbin/chkconfig --add vrootdevices
680 /sbin/chkconfig --add vprocunhide
681 /sbin/chkconfig --add vservers
682 if [ ! -f /var/lock/subsys/util-vserver ]; then
683 echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
685 if [ ! -f /var/lock/subsys/vrootdevices ]; then
686 echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
688 if [ ! -f /var/lock/subsys/vprocunhide ]; then
689 echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
691 if [ ! -f /var/lock/subsys/vservers ]; then
692 echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
696 if [ "$1" = "0" ]; then
697 %service util-vserver stop
698 %service vservers stop
699 %service vprocunhide stop
700 %service vrootdevices stop
701 /sbin/chkconfig --del util-vserver
702 /sbin/chkconfig --del vservers
703 /sbin/chkconfig --del vprocunhide
704 /sbin/chkconfig --del vrootdevices
707 %post lib -p /sbin/ldconfig
708 %postun lib -p /sbin/ldconfig
711 /sbin/chkconfig --add rebootmgr
712 /sbin/chkconfig --add vservers-legacy
713 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
714 echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
716 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
717 echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
721 if [ "$1" = "0" ]; then
722 %service rebootmgr stop
723 %service vservers-legacy stop
724 /sbin/chkconfig --del rebootmgr
725 /sbin/chkconfig --del vservers-legacy
728 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
729 for D in ac th ti; do
730 P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
732 if [ -f $P/pld-source.conf.rpmsave ]; then
733 cp -f $P/repos.d/pld.conf{,.rpmnew}
734 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
740 %defattr(644,root,root,755)
741 %doc AUTHORS NEWS THANKS doc/intro.txt
742 %doc package-management.txt
743 %{?with_doc:%doc doc/*.html}
744 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
745 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
746 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
747 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
748 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
749 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
750 %attr(754,root,root) /etc/rc.d/init.d/vservers
751 %dir %{_sysconfdir}/vservers
752 %dir %{_sysconfdir}/vservers/.defaults
753 %dir %{_sysconfdir}/vservers/.defaults/apps
754 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
755 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
756 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
757 %dir %{_sysconfdir}/vservers/.defaults/cgroup
758 %{_sysconfdir}/vservers/.defaults/cgroup/per-ss
759 %dir %{_sysconfdir}/vservers/.defaults/files
760 %{_sysconfdir}/vservers/.defaults/vdirbase
761 %{_sysconfdir}/vservers/.defaults/cachebase
762 %{_sysconfdir}/vservers/.defaults/run.rev
763 %dir %{_sysconfdir}/vservers/.distributions
764 %dir %{_sysconfdir}/vservers/.distributions/.common
765 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
766 %attr(755,root,root) /sbin/vshelper
767 %attr(755,root,root) %{_sbindir}/chbind
768 %attr(755,root,root) %{_sbindir}/chcontext
769 %attr(755,root,root) %{_sbindir}/chxid
770 %attr(755,root,root) %{_sbindir}/exec-cd
771 %attr(755,root,root) %{_sbindir}/lsxid
772 %attr(755,root,root) %{_sbindir}/naddress
773 %attr(755,root,root) %{_sbindir}/nattribute
774 %attr(755,root,root) %{_sbindir}/ncontext
775 %attr(755,root,root) %{_sbindir}/reducecap
776 %attr(755,root,root) %{_sbindir}/setattr
777 %attr(755,root,root) %{_sbindir}/showattr
778 %attr(755,root,root) %{_sbindir}/vapt-get
779 %attr(755,root,root) %{_sbindir}/vattribute
780 %attr(755,root,root) %{_sbindir}/vcontext
781 %attr(755,root,root) %{_sbindir}/vdevmap
782 %attr(755,root,root) %{_sbindir}/vdlimit
783 %attr(755,root,root) %{_sbindir}/vdu
784 %attr(755,root,root) %{_sbindir}/vkill
785 %attr(755,root,root) %{_sbindir}/vlimit
786 %attr(755,root,root) %{_sbindir}/vmemctrl
787 %attr(755,root,root) %{_sbindir}/vmount
788 %attr(755,root,root) %{_sbindir}/vnamespace
789 %attr(755,root,root) %{_sbindir}/vpoldek
790 %attr(755,root,root) %{_sbindir}/vproc
791 %attr(755,root,root) %{_sbindir}/vps
792 %attr(755,root,root) %{_sbindir}/vpstree
793 %attr(755,root,root) %{_sbindir}/vrpm
794 %attr(755,root,root) %{_sbindir}/vrsetup
795 %attr(755,root,root) %{_sbindir}/vsched
796 %attr(755,root,root) %{_sbindir}/vserver
797 %attr(755,root,root) %{_sbindir}/vserver-info
798 %attr(755,root,root) %{_sbindir}/vserver-stat
799 %attr(755,root,root) %{_sbindir}/vsomething
800 %attr(755,root,root) %{_sbindir}/vspace
801 %attr(755,root,root) %{_sbindir}/vtag
802 %attr(755,root,root) %{_sbindir}/vtop
803 %attr(755,root,root) %{_sbindir}/vuname
804 %attr(755,root,root) %{_sbindir}/vurpm
805 %attr(755,root,root) %{_sbindir}/vwait
806 %attr(755,root,root) %{_sbindir}/vyum
807 %dir %{_datadir}/%{name}
808 %dir %{_datadir}/%{name}/defaults
809 %{_datadir}/%{name}/defaults/fstab
810 %{_datadir}/%{name}/defaults/debootstrap.*
811 %{_datadir}/%{name}/defaults/vunify-exclude
812 %{_datadir}/%{name}/defaults/context.start
813 %{_datadir}/%{name}/defaults/environment
814 %{_datadir}/%{name}/defaults/h2ext.desc
815 %{_datadir}/%{name}/defaults/mtab
816 %{_datadir}/%{name}/defaults/vprocunhide-files
817 %dir %{_datadir}/%{name}/distributions
818 %{_datadir}/%{name}/distributions/defaults
819 %dir %{_datadir}/%{name}/distributions/template
820 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost
821 %attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre
822 %{_datadir}/%{name}/util-vserver-vars
823 %{_datadir}/%{name}/functions
824 %{_datadir}/%{name}/vserver-build.*
825 %{_datadir}/%{name}/vserver-setup.functions
826 %{_datadir}/%{name}/vserver.*
827 %dir %{_libdir}/%{name}
828 %{_libdir}/%{name}/FEATURES.txt
829 %{_libdir}/%{name}/util-vserver-vars
830 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
831 %attr(755,root,root) %{_libdir}/%{name}/capchroot
832 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
833 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
834 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
835 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
836 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
837 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
838 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
839 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
840 %attr(755,root,root) %{_libdir}/%{name}/filetime
841 %attr(755,root,root) %{_libdir}/%{name}/h2ext
842 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
843 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
844 %attr(755,root,root) %{_libdir}/%{name}/lockfile
845 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
846 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
847 %attr(755,root,root) %{_libdir}/%{name}/readlink
848 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
849 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
850 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
851 %attr(755,root,root) %{_libdir}/%{name}/sigexec
852 %attr(755,root,root) %{_libdir}/%{name}/systemd-start
853 %attr(755,root,root) %{_libdir}/%{name}/systemd-stop
854 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
855 %attr(755,root,root) %{_libdir}/%{name}/tunctl
856 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
857 %attr(755,root,root) %{_libdir}/%{name}/vclone
858 %attr(755,root,root) %{_libdir}/%{name}/vcopy
859 %attr(755,root,root) %{_libdir}/%{name}/vhashify
860 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
861 %attr(755,root,root) %{_libdir}/%{name}/vpkg
862 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
863 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
864 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
865 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
866 %attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
867 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
868 %attr(755,root,root) %{_libdir}/%{name}/vshelper
869 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
870 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
871 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
872 %attr(755,root,root) %{_libdir}/%{name}/vunify
873 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
874 %{_mandir}/man8/chbind.8*
875 %{_mandir}/man8/chcontext.8*
876 %{_mandir}/man8/reducecap.8*
877 %{_mandir}/man8/vps.8*
878 %{_mandir}/man8/vpstree.8*
879 %{_mandir}/man8/vserver-build.8*
880 %{_mandir}/man8/vserver-stat.8*
881 %{_mandir}/man8/vserver.8*
882 %{_mandir}/man8/vtop.8*
883 %attr(755,root,root) /lib/systemd/system-generators/systemd-vserver-generator
884 %{systemdunitdir}/util-vserver.service
885 %{systemdunitdir}/vprocunhide.service
886 %{systemdunitdir}/vserver.target
887 %{systemdunitdir}/vserver-mark@.target
888 %{systemdunitdir}/vserver@.service
889 %{_prefix}/lib/sysctl.d/90-util-vserver.conf
890 %{systemdtmpfilesdir}/%{name}.conf
891 %attr(000,root,root) %dir /vservers
893 %dir %{_localstatedir}/run/vservers
894 %dir %{_localstatedir}/run/vservers.rev
895 %dir %{_localstatedir}/run/vshelper
896 %dir /var/cache/vservers
897 %dir /var/cache/vservers/poldek
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
902 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
905 %defattr(644,root,root,755)
906 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
907 %attr(755,root,root) %{_libdir}/libvserver.so
908 %{_libdir}/libvserver.la
909 %{_includedir}/vserver.h
910 %{_pkgconfigdir}/util-vserver.pc
913 %defattr(644,root,root,755)
914 %{_libdir}/libvserver.a
918 %defattr(644,root,root,755)
919 %dir %{_sysconfdir}/vservices
920 %{_sysconfdir}/vservices/gated
921 %{_sysconfdir}/vservices/httpd
922 %{_sysconfdir}/vservices/named
923 %{_sysconfdir}/vservices/portmap
924 %{_sysconfdir}/vservices/sendmail
925 %{_sysconfdir}/vservices/smb
926 %{_sysconfdir}/vservices/sshd
927 %{_sysconfdir}/vservices/xinetd
928 %dir %{_libdir}/%{name}/legacy
929 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
930 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
931 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
932 %attr(754,root,root) /etc/rc.d/init.d/v_gated
933 %attr(754,root,root) /etc/rc.d/init.d/v_httpd
934 %attr(754,root,root) /etc/rc.d/init.d/v_named
935 %attr(754,root,root) /etc/rc.d/init.d/v_portmap
936 %attr(754,root,root) /etc/rc.d/init.d/v_sendmail
937 %attr(754,root,root) /etc/rc.d/init.d/v_smb
938 %attr(754,root,root) /etc/rc.d/init.d/v_sshd
939 %attr(754,root,root) /etc/rc.d/init.d/v_xinetd
940 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
941 %attr(755,root,root) %{_sbindir}/vserver-copy
942 %{_mandir}/man8/distrib-info.8*
943 %{_mandir}/man8/rebootmgr.8*
944 %{_mandir}/man8/vserver-copy.8*
947 %files -n python-util-vserver
948 %defattr(644,root,root,755)
949 %attr(755,root,root) %{py_sitedir}/_libvserver.so
950 %{py_sitedir}/libvserver.py[co]
952 %files -n vserver-distro-alpine
953 %defattr(644,root,root,755)
954 %dir %{_datadir}/%{name}/distributions/alpine
955 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost
956 %attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre
958 %files -n vserver-distro-centos
959 %defattr(644,root,root,755)
960 %{_datadir}/util-vserver/distributions/centos*
962 %files -n vserver-distro-debian
963 %defattr(644,root,root,755)
964 %dir %{_datadir}/%{name}/distributions/debian
965 %attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost
966 %{_datadir}/%{name}/distributions/etch
967 %{_datadir}/%{name}/distributions/lenny
968 %{_datadir}/%{name}/distributions/sid
969 %{_datadir}/%{name}/distributions/squeeze
970 %{_datadir}/%{name}/distributions/wheezy
972 %files -n vserver-distro-fedora
973 %defattr(644,root,root,755)
974 %dir %{_sysconfdir}/vservers/.distributions/f7
975 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
976 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
977 %dir %{_sysconfdir}/vservers/.distributions/fc*
978 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
979 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
980 %{_datadir}/%{name}/distributions/f7
981 %{_datadir}/%{name}/distributions/f8
982 %{_datadir}/%{name}/distributions/f9
983 %{_datadir}/%{name}/distributions/f10
984 %{_datadir}/%{name}/distributions/f11
985 %{_datadir}/%{name}/distributions/f12
986 %{_datadir}/%{name}/distributions/f13
987 %{_datadir}/%{name}/distributions/f14
988 %{_datadir}/%{name}/distributions/fc1
989 %{_datadir}/%{name}/distributions/fc2
990 %{_datadir}/%{name}/distributions/fc3
991 %{_datadir}/%{name}/distributions/fc4
992 %{_datadir}/%{name}/distributions/fc5
993 %{_datadir}/%{name}/distributions/fc6
995 %files -n vserver-distro-gentoo
996 %defattr(644,root,root,755)
997 %dir %{_datadir}/util-vserver/distributions/gentoo
998 %attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/*
999 %attr(755,root,root) %{_sbindir}/vdispatch-conf
1000 %attr(755,root,root) %{_sbindir}/vemerge
1001 %attr(755,root,root) %{_sbindir}/vesync
1002 %attr(755,root,root) %{_sbindir}/vupdateworld
1004 %files -n vserver-distro-pld
1005 %defattr(644,root,root,755)
1006 %dir %{_datadir}/%{name}/distributions/pld
1007 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost
1008 %dir %{_datadir}/%{name}/distributions/pld-*
1009 %{_datadir}/%{name}/distributions/pld-*/pkgs
1010 %{_datadir}/%{name}/distributions/pld-*/pubkeys
1011 %{_datadir}/%{name}/distributions/pld-*/rpm
1012 %attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost
1013 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
1014 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
1015 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
1016 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
1017 %dir %{_sysconfdir}/vservers/.distributions/pld-th
1018 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
1019 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
1020 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
1022 %files -n vserver-distro-redhat
1023 %defattr(644,root,root,755)
1024 %dir %{_sysconfdir}/vservers/.distributions/rh9
1025 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
1026 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
1027 %{_datadir}/%{name}/distributions/rh9
1028 %dir %{_datadir}/%{name}/distributions/redhat
1029 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl
1030 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost
1031 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre
1032 %attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit
1034 %files -n vserver-distro-suse
1035 %defattr(644,root,root,755)
1036 %dir %{_sysconfdir}/vservers/.distributions/suse*
1037 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
1038 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
1039 %{_datadir}/%{name}/distributions/suse*
1041 %files -n vserver-distro-scientificlinux
1042 %defattr(644,root,root,755)
1043 %dir %{_datadir}/%{name}/distributions/sl6
1044 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost
1045 %attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre
1046 %{_datadir}/%{name}/distributions/sl6/pkgs
1047 %{_datadir}/%{name}/distributions/sl6/yum
1048 %{_datadir}/%{name}/distributions/sl6/yum.repos.d
1050 %files -n vserver-distro-tld
1051 %defattr(644,root,root,755)
1052 %dir %{_datadir}/%{name}/distributions/tld
1053 %attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost
1054 %{_datadir}/%{name}/distributions/tld/pkgs
1055 %{_datadir}/%{name}/distributions/tld/rpm
1056 %dir %{_sysconfdir}/vservers/.distributions/tld
1057 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek
1058 %dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d
1059 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf