# TODO
-# - make build create /dev/std{in,out,err} links
-# - reject install in %%pretrans if /proc/virtual/info has incompatible version
-# - unpackaged
-# /etc/rc.d/init.d/util-vserver -- # integrate to our initscript (util-vserver sets the path to vshelper and kills all guest processes)
-# - move to main pkg:
-# vserver initng delete
-# /usr/lib64/util-vserver/vserver.delete: line 19: /usr/lib64/util-vserver/vserver-build.functions: No such file or directory
-# /usr/lib64/util-vserver/vserver.delete: line 20: /usr/lib64/util-vserver/vserver-build.functions.pkgmgmt: No such file or directory
-# or move the delete func to -build
-# - make pkgmgmnt internalize modify poldek conf to unignore vserver-packages
-# - service vservers stop should shutdown all running vservers (respecting
-# configuration for order) otherwise on shutdown vservers are not nicely
-# shutdown!
-# - when building ac quest on th, the platform file for x8664 archidecture is wrong
+# - %install is not re-entrant
#
# m68k and mips are the only not supported archs
#
%bcond_without doc # don't build documentation which needed LaTeX
%bcond_without no_dynamic_context # disable enforcement of disabled dynamic context
%bcond_with xalan # use the xalan xslt processor
-#
+
%define vproc_version 0.01
# diet compile fails with ccache in %{__cc}
%undefine with_ccache
-#
+
+%ifarch ppc
+# pdflatex: refman: Invalid argument
+%undefine with_doc
+%endif
+
+%define snap pre2933
+%define rel 1
Summary: Linux virtual server utilities
Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
Name: util-vserver
-Version: 0.30.215
-Release: 9.2
+Version: 0.30.216
+Release: 1.%{snap}.%{rel}
License: GPL
Group: Applications/System
-Source0: http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2
-# Source0-md5: befd9b8e5311e87395b67ee381d83649
+Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
+# Source0-md5: 478a699a154c2823ad2606c50b5f55e4
Source1: vprocunhide.init
Source2: vservers.init
Source3: vservers-legacy.init
# Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
# Source14-md5: 08b29584dd349aac9caa7610131a0a88
+Source15: %{name}.init
Patch0: %{name}-vsysvwrapper.patch
Patch1: %{name}-pld.patch
+Patch2: %{name}-centos.patch
Patch4: %{name}-m4-diet.patch
Patch5: %{name}-yum-verb-nogpg.patch
Patch6: %{name}-build-umask.patch
Patch15: %{name}-interfaces-ignore-cvs-dir.patch
Patch16: %{name}-personalitymachine.patch
Patch17: %{name}-backupfiles.patch
-Patch18: %{name}-trunk_fixes.patch
-Patch19: %{name}-vprocunhide-net.patch
-Patch20: %{name}-more-caps.patch
+Patch18: %{name}-vprocunhide-net.patch
+# http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
+Patch19: %{name}-dbrebuild-internalize4.patch
+Patch21: %{name}-bash-wrapper.patch
+Patch22: %{name}-pivot-root-ugly-hack.patch
+Patch24: vunify-more-exclude.patch
+Patch25: stat.patch
URL: http://savannah.nongnu.org/projects/util-vserver/
BuildRequires: autoconf
BuildRequires: automake >= 1.9
BuildRequires: beecrypt-devel
+BuildRequires: ctags
%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29}
BuildRequires: e2fsprogs-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1.5.14
-%ifarch %{x8664}
-BuildRequires: sed >= 4.0
-%endif
+BuildRequires: pkgconfig
+BuildRequires: python-devel
+BuildRequires: python-modules
+BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
%if %{with doc}
-BuildRequires: doxygen
+BuildRequires: doxygen >= 1:1.7.3
BuildRequires: graphviz
BuildRequires: libxslt-progs
+BuildRequires: python-devel
+%if "%{pld_release}" != "th"
+BuildRequires: tetex-fonts-jknappen
BuildRequires: tetex-format-pdflatex
BuildRequires: tetex-makeindex
-# To be removed when tetex-format-pdflatex, tetex-pdftex...
-# ...and graphviz packages get fixed
-BuildRequires: ghostscript
-BuildRequires: ghostscript-fonts-std
-BuildRequires: tetex-fonts-jknappen
BuildRequires: tetex-metafont
+%else
+BuildRequires: texlive-fonts-rsfs
+BuildRequires: texlive-fonts-type1-urw
+BuildRequires: texlive-format-pdflatex
+BuildRequires: texlive-latex-extend
+BuildRequires: texlive-latex-ucs
+BuildRequires: texlive-makeindex
+BuildRequires: texlive-pdftex
+BuildRequires: texlive-xetex
+%endif
%{?with_xalan:BuildRequires: xalan-j}
%endif
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-lib = %{version}-%{release}
+Requires: coreutils
Requires: diffutils
Requires: issue
+Requires: make
Requires: mktemp >= 1.5-18
-Requires: rc-scripts
+Requires: rc-scripts >= 0.4.3.4
Requires: tar
-Requires: util-linux
+Requires: util-linux >= 2.13
+Requires: vserver-distro-pld = %{version}-%{release}
+Obsoletes: util-vserver-build
Obsoletes: util-vserver-core
+Obsoletes: util-vserver-init
+Conflicts: poldek < 0.18.8-10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%if %{with dietlibc}
set_ipv4root system call.
This package contains utilities which are required to communicate with
-the Linux-Vserver enabled kernel.
+the Linux-Vserver enabled kernel, utilities which assist in building
+Vservers and SysV initscripts which start and stop Vservers and
+related tools.
%description -l pl.UTF-8
Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
new_s_context i set_ipv4root.
Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
-włączonym mechanizmem Linux-Vserver.
+włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
+budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
+zatrzymujące Vserwery oraz powiązane narzędzia.
%package lib
Summary: Dynamic libraries for util-vserver
%description static -l pl.UTF-8
Ten pakiet zawiera statyczną wersję biblioteki vservera.
-%package build
-Summary: Tools which can be used to build vservers
-Summary(pl.UTF-8): Narzędzia do budowania vserverów
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-Requires: vserver-distro-pld = %{version}-%{release}
-Conflicts: poldek < 0.18.8-10
-
-%description build
-util-vserver provides the components and a framework to setup virtual
-servers. A virtual server runs inside a linux server. It is
-nevertheless highly independent. As such, you can run various services
-with normal configuration. The various vservers can't interact with
-each other and can't interact with services in the main server.
-
-This package contains utilities which assist in building Vservers.
-
-%description build -l pl.UTF-8
-util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
-serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
-jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
-różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
-w interakcję z innymi ani z usługami na głównym serwerze.
-
-Ten pakiet zawiera narzędzia pomagające przy budowaniu Vserwerów.
-
-%package init
-Summary: initscripts for vserver
-Summary(pl.UTF-8): Skrypty inicjalizujące dla vserwera
-Group: Applications/System
-Requires(post,preun): /sbin/chkconfig
-Requires: %{name} = %{version}-%{release}
-Requires: diffutils
-Requires: make
-Requires: rc-scripts
-
-%description init
-util-vserver provides the components and a framework to setup virtual
-servers. A virtual server runs inside a linux server. It is
-nevertheless highly independent. As such, you can run various services
-with normal configuration. The various vservers can't interact with
-each other and can't interact with services in the main server.
-
-This package contains the SysV initscripts which start and stop
-Vservers and related tools.
-
-%description init -l pl.UTF-8
-util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
-serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
-jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
-różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
-w interakcję z innymi ani z usługami na głównym serwerze.
-
-Ten pakiet zawiera skrypty inicjalizujące SysV uruchamiające i
-zatrzymujące Vserwery oraz powiązane narzędzia.
-
%package legacy
Summary: Legacy utilities for util-vserver
Summary(pl.UTF-8): Stare narzędzia dla util-vserver
Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
konfigurację w starym stylu.
+%package -n python-util-vserver
+Summary: Python interface to libutil-vserver library
+Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver
+License: LGPL v2.1+
+Group: Libraries/Python
+
+%description -n python-util-vserver
+Python interface to libutil-vserver library.
+
+%description -n python-util-vserver -l pl.UTF-8
+Pythonowy interfejs do biblioteki libutil-vserver.
+
%package -n vserver-distro-alpine
Summary: VServer build template for Alpine Linux
Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
%description -n vserver-distro-alpine
VServer build template for Alpine Linux.
Summary: VServer build template for CentOS
Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+Requires: vserver-distro-redhat = %{version}-%{release}
Requires: yum
%description -n vserver-distro-centos
Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
%package -n vserver-distro-debian
-Summary: VServer build templates for Debian
-Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian
+Summary: VServer build templates for Debian and Ubuntu
+Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+Requires: debootstrap
Requires: dpkg
+Provides: vserver-distro-ubuntu
+Obsoletes: vserver-distro-ubuntu
%description -n vserver-distro-debian
-VServer build templates for Debian.
+VServer build templates for Debian and Ubuntu.
%description -n vserver-distro-debian -l pl.UTF-8
-Szablony do tworzenia VServerów dla dystrybucji Debian.
+Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
%package -n vserver-distro-fedora
Summary: VServer build templates for Fedora
Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
Requires: binutils
Requires: e2fsprogs
Requires: rpm
+Requires: vserver-distro-redhat = %{version}-%{release}
Requires: wget
Requires: yum
Summary: VServer build template for Gentoo
Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
%description -n vserver-distro-gentoo
VServer build template for Gentoo.
Summary: VServer build templates for PLD Linux
Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
Requires: /etc/pld-release
Requires: poldek >= 0.30
Summary: VServer build template for Red Hat Linux 9
Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
Requires: binutils
Requires: e2fsprogs
Requires: rpm
Summary: VServer build template for SuSE 9.1
Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
Requires: binutils
Requires: e2fsprogs
Requires: rpm
%description -n vserver-distro-suse -l pl.UTF-8
Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
-%package -n vserver-distro-ubuntu
-Summary: VServer build templates for Ubuntu
-Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Ubuntu
-Group: Applications/System
-Requires: %{name}-build = %{version}-%{release}
-Requires: dpkg
-
-%description -n vserver-distro-ubuntu
-VServer build templates for Ubuntu.
-
-%description -n vserver-distro-ubuntu -l pl.UTF-8
-Szablony do tworzenia VServerów dla dystrybucji Ubuntu.
-
%prep
-%setup -q -a11
+%setup -q -n %{name}-%{version}-%{snap} -a11
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
-%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch24 -p1
+%patch25 -p1
install %{SOURCE9} package-management.txt
--enable-apis=NOLEGACY \
--with-initscripts=sysv \
--%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
- MKTEMP=/bin/mktemp \
- MOUNT=/bin/mount \
- PS=/bin/ps \
- UMOUNT=/bin/umount \
+ FSCK=/sbin/fsck \
+ IONICE=%{_usrbin}/ionice \
IP=/sbin/ip \
IPTABLES=%{_usrsbin}/iptables \
+ MKTEMP=/bin/mktemp \
MODPROBE=/sbin/modprobe \
+ MOUNT=/bin/mount \
NAMEIF=/sbin/nameif \
+ PS=/bin/ps \
+ RESTORE=/sbin/restore \
RMMOD=/sbin/rmmod \
+ RSYNC=%{_usrbin}/rsync \
+ STRACE=%{_usrbin}/strace \
+ UMOUNT=/bin/umount \
VCONFIG=/sbin/vconfig \
WGET=%{_usrbin}/wget \
+# end
%{__make} all
%{?with_doc:%{__make} doc}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d,cron.d},/dev/pts} \
- $RPM_BUILD_ROOT{%{_sysconfdir}/vservices,/vservers/.pkg}
+install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/vservices \
+ $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/apps/vdevmap
%{__make} -j1 install install-distribution \
DESTDIR=$RPM_BUILD_ROOT
chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
- s=`basename $i | sed s/v_//`
+ s=$(basename $i | sed s/v_//)
cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
# IP addresses/interfaces to bound $s service to
#IP=10.0.0.1
$RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
$RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
+ $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
$RPM_BUILD_ROOT/etc/sysconfig/vservers
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
+ $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost
%endif
install vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
-install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
+sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
+chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron
%{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf
%endif
-cd $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/defaults/rpm
-# first platform file entry can't contain regexps
-echo x86_64-%{_target_vendor}-linux > platform.x86_64
-echo amd64-%{_target_vendor}-linux > platform.amd64
-echo athlon-%{_target_vendor}-linux > platform.athlon
-echo i686-%{_target_vendor}-linux > platform.i686
-echo i486-%{_target_vendor}-linux > platform.i486
-echo i386-%{_target_vendor}-linux > platform.i386
-echo alpha-%{_target_vendor}-linux > platform.alpha
-echo ppc-%{_target_vendor}-linux > platform.ppc
-echo sparc-%{_target_vendor}-linux > platform.sparc
-
-ifarch() {
- local arch buf=$(cat);
- for arch in $*; do
- echo "$buf" | tee -a platform.$arch
- done
-}
-
-# x86_64 things
-ifarch x86_64 <<endif
-amd64-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch amd64 <<endif
-amd64-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch ia32e <<endif
-ia32e-[^-]*-[Ll]inux(-gnu)?
-x86_64-[^-]*-[Ll]inux(-gnu)?
-endif
-
-# x86 things
-ifarch athlon %{x8664} <<endif
-athlon-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch pentium4 athlon %{x8664} <<endif
-pentium4-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch pentium3 pentium4 athlon %{x8664} <<endif
-pentium3-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch i686 pentium3 pentium4 athlon %{x8664} <<endif
-i686-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch i586 i686 pentium3 pentium4 athlon %{x8664} <<endif
-i586-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} <<endif
-i486-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch %{ix86} %{x8664} <<endif
-i386-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch alpha <<endif
-alpha-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch ia64 <<endif
-ia64-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch ppc64 <<endif
-powerpc64-[^-]*-[Ll]inux(-gnu)?
-ppc64-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch ppc ppc64 <<endif
-powerpc-[^-]*-[Ll]inux(-gnu)?
-ppc-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch s390x <<endif
-s390x-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch s390 s390x <<endif
-s390-[^-]*-[Ll]inux(-gnu)?
-endif
-
-ifarch sparc64 <<endif
-sparc64-[^-]*-[Ll]inux(-gnu)?
-sparcv8-[^-]*-[Ll]inux(-gnu)?
-sparcv9-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch sparcv9 <<endif
-sparcv8-[^-]*-[Ll]inux(-gnu)?
-sparcv9-[^-]*-[Ll]inux(-gnu)?
-endif
-ifarch sparc sparcv9 sparc64 <<endif
-sparc-[^-]*-[Ll]inux(-gnu)?
-endif
-
-# noarch
-for a in platform.*; do
- echo 'noarch-[^-]*-.*' >> $a
-done
-cd -
-
-# now create arch compat lists
-cd $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions
-# ac ftp archs
-ln defaults/rpm/platform.amd64 pld-ac/rpm/platform.amd64
-ln defaults/rpm/platform.alpha pld-ac/rpm/platform.alpha
-ln defaults/rpm/platform.athlon pld-ac/rpm/platform.athlon
-ln defaults/rpm/platform.sparc pld-ac/rpm/platform.sparc
-ln defaults/rpm/platform.ppc pld-ac/rpm/platform.ppc
-ln defaults/rpm/platform.i686 pld-ac/rpm/platform.i686
-ln defaults/rpm/platform.i586 pld-ac/rpm/platform.i586
-ln defaults/rpm/platform.i486 pld-ac/rpm/platform.i486
-ln defaults/rpm/platform.i386 pld-ac/rpm/platform.i386
-# th ftp archs
-ln defaults/rpm/platform.x86_64 pld-th/rpm/platform.x86_64
-ln defaults/rpm/platform.athlon pld-th/rpm/platform.athlon
-ln defaults/rpm/platform.ppc pld-th/rpm/platform.ppc
-ln defaults/rpm/platform.i686 pld-th/rpm/platform.i686
-ln defaults/rpm/platform.i486 pld-th/rpm/platform.i486
-# ti ftp archs
-ln defaults/rpm/platform.x86_64 pld-ti/rpm/platform.x86_64
-ln defaults/rpm/platform.i686 pld-ti/rpm/platform.i686
-ln defaults/rpm/platform.i586 pld-ti/rpm/platform.i586
-cd -
-
-# and get rid of the original files
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/defaults/rpm/platform.*
-
# current debootstrap link
echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
> $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
-# we have our own initscript which does the same
-rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
-rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
+# cleanups
rm -rf $RPM_BUILD_ROOT/dev
+rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
+# we have our own initscript which does the same
rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
+rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
%clean
rm -rf $RPM_BUILD_ROOT
+%triggerun -- util-vserver-init
+# Prevent preun from util-vserver-init from working
+chmod a-x /etc/rc.d/init.d/vprocunhide
+chmod a-x /etc/rc.d/init.d/vrootdevices
+chmod a-x /etc/rc.d/init.d/vservers
+
+%triggerpostun -- util-vserver-init
+# Restore what triggerun removed
+chmod ug+x /etc/rc.d/init.d/vprocunhide
+chmod ug+x /etc/rc.d/init.d/vrootdevices
+chmod ug+x /etc/rc.d/init.d/vservers
+/sbin/chkconfig --add vrootdevices
+/sbin/chkconfig --add vprocunhide
+/sbin/chkconfig --add vservers
+if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
+ cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
+ mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
+fi
+if [ -f /etc/sysconfig/vservers.rpmsave ]; then
+ cp -f /etc/sysconfig/vservers{,.rpmnew}
+ mv -f /etc/sysconfig/vservers{.rpmsave,}
+fi
+
%post
%{_sbindir}/setattr --barrier /vservers || :
-
-%post lib -p /sbin/ldconfig
-%postun lib -p /sbin/ldconfig
-
-%post init
+/sbin/chkconfig --add util-vserver
/sbin/chkconfig --add vrootdevices
/sbin/chkconfig --add vprocunhide
/sbin/chkconfig --add vservers
+if [ ! -f /var/lock/subsys/util-vserver ]; then
+ echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
+fi
if [ ! -f /var/lock/subsys/vrootdevices ]; then
echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
fi
echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
fi
-%preun init
+%preun
if [ "$1" = "0" ]; then
+ %service util-vserver stop
%service vservers stop
%service vprocunhide stop
%service vrootdevices stop
+ /sbin/chkconfig --del util-vserver
/sbin/chkconfig --del vservers
/sbin/chkconfig --del vprocunhide
/sbin/chkconfig --del vrootdevices
fi
+%post lib -p /sbin/ldconfig
+%postun lib -p /sbin/ldconfig
+
%post legacy
/sbin/chkconfig --add rebootmgr
/sbin/chkconfig --add vservers-legacy
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS THANKS doc/intro.txt
+%doc AUTHORS NEWS THANKS doc/intro.txt
+%doc package-management.txt
%{?with_doc:%doc doc/*.html}
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
+%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
+%attr(754,root,root) /etc/rc.d/init.d/vprocunhide
+%attr(754,root,root) /etc/rc.d/init.d/vrootdevices
+%attr(754,root,root) /etc/rc.d/init.d/util-vserver
+%attr(754,root,root) /etc/rc.d/init.d/vservers
%dir %{_sysconfdir}/vservers
%dir %{_sysconfdir}/vservers/.defaults
%dir %{_sysconfdir}/vservers/.defaults/apps
+%dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
+%dir %{_sysconfdir}/vservers/.defaults/apps/vunify
+%dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
%dir %{_sysconfdir}/vservers/.defaults/files
%{_sysconfdir}/vservers/.defaults/vdirbase
%{_sysconfdir}/vservers/.defaults/cachebase
%{_sysconfdir}/vservers/.defaults/run.rev
+%dir %{_sysconfdir}/vservers/.distributions
+%dir %{_sysconfdir}/vservers/.distributions/.common
+%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
/sbin/vshelper
%attr(755,root,root) %{_sbindir}/chbind
%attr(755,root,root) %{_sbindir}/chcontext
%attr(755,root,root) %{_sbindir}/reducecap
%attr(755,root,root) %{_sbindir}/setattr
%attr(755,root,root) %{_sbindir}/showattr
+%attr(755,root,root) %{_sbindir}/vapt-get
%attr(755,root,root) %{_sbindir}/vattribute
%attr(755,root,root) %{_sbindir}/vcontext
+%attr(755,root,root) %{_sbindir}/vdevmap
%attr(755,root,root) %{_sbindir}/vdlimit
-%attr(755,root,root) %{_sbindir}/vnamespace
+%attr(755,root,root) %{_sbindir}/vdu
%attr(755,root,root) %{_sbindir}/vkill
%attr(755,root,root) %{_sbindir}/vlimit
-%attr(755,root,root) %{_sbindir}/vdevmap
-%attr(755,root,root) %{_sbindir}/vdu
%attr(755,root,root) %{_sbindir}/vmemctrl
%attr(755,root,root) %{_sbindir}/vmount
+%attr(755,root,root) %{_sbindir}/vnamespace
+%attr(755,root,root) %{_sbindir}/vpoldek
%attr(755,root,root) %{_sbindir}/vproc
%attr(755,root,root) %{_sbindir}/vps
%attr(755,root,root) %{_sbindir}/vpstree
-%attr(755,root,root) %{_sbindir}/vspace
+%attr(755,root,root) %{_sbindir}/vrpm
%attr(755,root,root) %{_sbindir}/vrsetup
%attr(755,root,root) %{_sbindir}/vsched
%attr(755,root,root) %{_sbindir}/vserver
%attr(755,root,root) %{_sbindir}/vserver-info
%attr(755,root,root) %{_sbindir}/vserver-stat
%attr(755,root,root) %{_sbindir}/vsomething
+%attr(755,root,root) %{_sbindir}/vspace
%attr(755,root,root) %{_sbindir}/vtag
%attr(755,root,root) %{_sbindir}/vtop
%attr(755,root,root) %{_sbindir}/vuname
%attr(755,root,root) %{_sbindir}/vwait
+%attr(755,root,root) %{_sbindir}/vyum
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/defaults
-%{_libdir}/%{name}/FEATURES.txt
-%{_libdir}/%{name}/util-vserver-vars
+%{_libdir}/%{name}/defaults/fstab
+%{_libdir}/%{name}/defaults/debootstrap.*
+%{_libdir}/%{name}/defaults/vunify-exclude
%{_libdir}/%{name}/defaults/context.start
%{_libdir}/%{name}/defaults/environment
%{_libdir}/%{name}/defaults/h2ext.desc
%{_libdir}/%{name}/defaults/mtab
%{_libdir}/%{name}/defaults/vprocunhide-files
+%dir %{_libdir}/%{name}/distributions
+%{_libdir}/%{name}/distributions/defaults
+%dir %{_libdir}/%{name}/distributions/template
+%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
+%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
+%dir %{_libdir}/%{name}/distributions/redhat
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
+%{_libdir}/%{name}/FEATURES.txt
+%{_libdir}/%{name}/util-vserver-vars
+%attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
%attr(755,root,root) %{_libdir}/%{name}/capchroot
%attr(755,root,root) %{_libdir}/%{name}/chain-echo
%attr(755,root,root) %{_libdir}/%{name}/chbind-compat
-%attr(755,root,root) %{_libdir}/%{name}/check-unixfile
%attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
+%attr(755,root,root) %{_libdir}/%{name}/check-unixfile
%attr(755,root,root) %{_libdir}/%{name}/chroot-sh
+%attr(755,root,root) %{_libdir}/%{name}/exec-remount
%attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
%attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
%attr(755,root,root) %{_libdir}/%{name}/filetime
%attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
%attr(755,root,root) %{_libdir}/%{name}/lockfile
%attr(755,root,root) %{_libdir}/%{name}/mask2prefix
+%attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
%attr(755,root,root) %{_libdir}/%{name}/readlink
+%attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
%attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
%attr(755,root,root) %{_libdir}/%{name}/secure-mount
%attr(755,root,root) %{_libdir}/%{name}/sigexec
%attr(755,root,root) %{_libdir}/%{name}/start-vservers
%attr(755,root,root) %{_libdir}/%{name}/tunctl
+%attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
+%attr(755,root,root) %{_libdir}/%{name}/vclone
+%attr(755,root,root) %{_libdir}/%{name}/vcopy
+%attr(755,root,root) %{_libdir}/%{name}/vhashify
+%attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
+%attr(755,root,root) %{_libdir}/%{name}/vpkg
+%attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
%attr(755,root,root) %{_libdir}/%{name}/vprocunhide
-%{_libdir}/%{name}/vserver.*
+%attr(755,root,root) %{_libdir}/%{name}/vrpm-*
%attr(755,root,root) %{_libdir}/%{name}/vserver-build
+%{_libdir}/%{name}/vserver-build.*
+%{_libdir}/%{name}/vserver-setup.functions
+%{_libdir}/%{name}/vserver.*
%attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
-%attr(755,root,root) %{_libdir}/%{name}/vhashify
-%attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
%attr(755,root,root) %{_libdir}/%{name}/vshelper
%attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
%attr(755,root,root) %{_libdir}/%{name}/vsysctl
+%attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
+%attr(755,root,root) %{_libdir}/%{name}/vunify
+%attr(755,root,root) %{_libdir}/%{name}/vyum-worker
%{_mandir}/man8/chbind.8*
%{_mandir}/man8/chcontext.8*
%{_mandir}/man8/reducecap.8*
%{_mandir}/man8/vps.8*
%{_mandir}/man8/vpstree.8*
+%{_mandir}/man8/vserver-build.8*
%{_mandir}/man8/vserver-stat.8*
%{_mandir}/man8/vserver.8*
%{_mandir}/man8/vtop.8*
%defattr(644,root,root,755)
%{_libdir}/libvserver.a
-%files build
-%defattr(644,root,root,755)
-%doc contrib/yum*.patch package-management.txt
-%dir %{_sysconfdir}/vservers/.defaults/apps/vunify
-%dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
-%dir %{_sysconfdir}/vservers/.distributions
-%dir %{_sysconfdir}/vservers/.distributions/.common
-%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
-%attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
-%dir %{_libdir}/%{name}/distributions
-%{_libdir}/%{name}/distributions/defaults
-%dir %{_libdir}/%{name}/distributions/template
-%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
-%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
-%dir %{_libdir}/%{name}/distributions/redhat
-%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
-%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
-%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
-%{_libdir}/%{name}/vserver-setup.functions
-%{_libdir}/%{name}/vserver-build.*
-%{_libdir}/%{name}/defaults/fstab
-%{_libdir}/%{name}/defaults/debootstrap.*
-%{_libdir}/%{name}/defaults/vunify-exclude
-%attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
-%attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
-%attr(755,root,root) %{_libdir}/%{name}/vclone
-%attr(755,root,root) %{_libdir}/%{name}/vcopy
-%attr(755,root,root) %{_libdir}/%{name}/vpkg
-%attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
-%attr(755,root,root) %{_libdir}/%{name}/vrpm-*
-%attr(755,root,root) %{_libdir}/%{name}/vserver-build
-%attr(755,root,root) %{_libdir}/%{name}/vunify
-%attr(755,root,root) %{_libdir}/%{name}/vyum-worker
-%attr(755,root,root) %{_sbindir}/vapt-get
-%attr(755,root,root) %{_sbindir}/vpoldek
-%attr(755,root,root) %{_sbindir}/vrpm
-%attr(755,root,root) %{_sbindir}/vyum
-%{_mandir}/man8/vserver-build.8*
-
-%files init
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
-%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
-%attr(754,root,root) /etc/rc.d/init.d/vprocunhide
-%attr(754,root,root) /etc/rc.d/init.d/vrootdevices
-%attr(754,root,root) /etc/rc.d/init.d/vservers
-
%files legacy
%defattr(644,root,root,755)
%dir %{_sysconfdir}/vservices
%{_mandir}/man8/rebootmgr.8*
%{_mandir}/man8/vserver-copy.8*
+%files -n python-util-vserver
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/_libvserver.so
+%{py_sitedir}/libvserver.py
+
%files -n vserver-distro-alpine
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/distributions/alpine
%files -n vserver-distro-debian
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/distributions/debian
-%{_libdir}/%{name}/distributions/debian/debootstrap.script
%attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
%{_libdir}/%{name}/distributions/etch
%{_libdir}/%{name}/distributions/lenny
%{_libdir}/%{name}/distributions/sid
+%{_libdir}/%{name}/distributions/squeeze
%files -n vserver-distro-fedora
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
%{_libdir}/%{name}/distributions/f7
%{_libdir}/%{name}/distributions/f8
-%{_libdir}/%{name}/distributions/fc*
+%{_libdir}/%{name}/distributions/f9
+%{_libdir}/%{name}/distributions/f10
+%{_libdir}/%{name}/distributions/f11
+%{_libdir}/%{name}/distributions/f12
+%{_libdir}/%{name}/distributions/f13
+%{_libdir}/%{name}/distributions/f14
+%{_libdir}/%{name}/distributions/fc1
+%{_libdir}/%{name}/distributions/fc2
+%{_libdir}/%{name}/distributions/fc3
+%{_libdir}/%{name}/distributions/fc4
+%{_libdir}/%{name}/distributions/fc5
+%{_libdir}/%{name}/distributions/fc6
%files -n vserver-distro-gentoo
%defattr(644,root,root,755)
%files -n vserver-distro-redhat
%defattr(644,root,root,755)
-%dir %{_sysconfdir}/vservers/.distributions/rh*
-%dir %{_sysconfdir}/vservers/.distributions/rh*/apt
+%dir %{_sysconfdir}/vservers/.distributions/rh9
+%dir %{_sysconfdir}/vservers/.distributions/rh9/apt
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
-%{_libdir}/%{name}/distributions/rh*
+%{_libdir}/%{name}/distributions/rh9
+%dir %{_libdir}/%{name}/distributions/redhat
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
+%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
%files -n vserver-distro-suse
%defattr(644,root,root,755)
%dir %{_sysconfdir}/vservers/.distributions/suse*/apt
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
%{_libdir}/%{name}/distributions/suse*
-
-%files -n vserver-distro-ubuntu
-%defattr(644,root,root,755)
-%{_libdir}/%{name}/distributions/breezy
-%{_libdir}/%{name}/distributions/dapper
-%{_libdir}/%{name}/distributions/edgy
-%{_libdir}/%{name}/distributions/feisty
-%{_libdir}/%{name}/distributions/gutsy
-%{_libdir}/%{name}/distributions/hoary
-%{_libdir}/%{name}/distributions/warty