%bcond_without dietlibc # don't use dietlibc (ask for troubles)
%bcond_without doc # don't build documentation which needed LaTeX
%bcond_with xalan # use the xalan xslt processor
-
+#
Summary: Linux virtual server utilities
Summary(pl): Narzêdzia dla linuksowych serwerów wirtualnych
Name: util-vserver
-Version: 0.30.208
+Version: 0.30.209
Release: 0.1
License: GPL
Group: Applications/System
Source0: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%{name}-%{version}.tar.bz2
-# Source0-md5: 4453ad0ae7f351fec651d6904e00521f
+# Source0-md5: 674b122824292c20d3c53245b91f6088
Source1: vprocunhide.init
Source2: vservers-default.init
Source3: vservers-legacy.init
Source6: vservers-legacy.sysconfig
# A bit of documentation explaining package menagement
# http://www.paul.sladen.org/vserver/archives/200505/0078.html
-Source7: util-vserver-pkgmgmt.txt
+Source7: %{name}-pkgmgmt.txt
Patch0: %{name}-vsysvwrapper.patch
Patch1: %{name}-pld.patch
Patch2: %{name}-build-poldek.patch
Patch3: %{name}-include.patch
Patch4: %{name}-m4-diet.patch
-Patch5: http://vserver.13thfloor.at/Experimental/UTIL-VSERVER/delta-0.30.208-kheaders.diff
-Patch6: http://vserver.13thfloor.at/Experimental/UTIL-VSERVER/delta-0.30.208-shiny6.diff
+Patch7: %{name}-cpuset.patch
+Patch8: %{name}-build-umask.patch
+Patch10: %{name}-mounted.patch
+Patch11: %{name}-utmpx.patch
URL: http://savannah.nongnu.org/projects/util-vserver/
BuildRequires: autoconf
BuildRequires: automake >= 1.9
%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29}
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1.5.14
-BuildREquires: sed
+%ifarch %{x8664}
+BuildRequires: sed >= 4.0
+%endif
%if %{with doc}
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: tetex-makeindex
%{?with_xalan:BuildRequires: xalan-j}
%endif
-PreReq: rc-scripts
+Requires: rc-scripts
Requires: util-linux
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-lib = %{version}-%{release}
Obsoletes: util-vserver-core
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# for adapter
+%define _usrbin /usr/bin
+%define _usrsbin /usr/sbin
+%define _usrlib /usr/lib
+
%description
This package provides the components and a framework to setup virtual
servers. A virtual server runs inside a Linux server. It is
Summary: Tools which can be used to build vservers
Summary(pl): Narzêdzia do budowania vserverów
Group: Applications/System
-Requires: binutils
-Requires: e2fsprogs
-Requires: rpm
-Requires: tar
-Requires: wget
Conflicts: poldek < 0.18.8-10
Requires: %{name} = %{version}-%{release}
Ten pakiet zawiera narzêdzia pomagaj±ce przy budowaniu Vserwerów.
+%package -n vserver-distro-fedora
+Summary: VServer build templates for Fedora Core
+Summary(pl): Szablony do tworzenia VServerów dla dystrybucji Fedora Core
+Group: Applications/System
+Requires: %{name} = %{version}-%{release}
+Requires: binutils
+Requires: e2fsprogs
+Requires: rpm
+Requires: tar
+Requires: wget
+
+%description -n vserver-distro-fedora
+VServer build templates for Fedora Core 1,2,3,4.
+
+%description -n vserver-distro-fedora -l pl
+Szablony do tworzenia VServerów dla dystrybucji Fedora Core 1,2,3,4.
+
+%package -n vserver-distro-redhat
+Summary: VServer build template for Red Hat Linux 9
+Summary(pl): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
+Group: Applications/System
+Requires: %{name} = %{version}-%{release}
+Requires: binutils
+Requires: e2fsprogs
+Requires: rpm
+Requires: tar
+Requires: wget
+
+%description -n vserver-distro-redhat
+VServer build template for RedHat Linux 9.
+
+%description -n vserver-distro-redhat -l pl
+Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
+
+%package -n vserver-distro-suse
+Summary: VServer build template for SuSE 9.1
+Summary(pl): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
+Group: Applications/System
+Requires: %{name} = %{version}-%{release}
+Requires: binutils
+Requires: e2fsprogs
+Requires: rpm
+Requires: tar
+Requires: wget
+
+%description -n vserver-distro-suse
+VServer build template for SuSE Linux 9.1.
+
+%description -n vserver-distro-suse -l pl
+Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
+
+%package -n vserver-distro-centos
+Summary: VServer build template for CentOS 4.2
+Summary(pl): Szablon budowania VServera dla CentOS 4.2
+Group: Applications/System
+Requires: util-vserver-build
+Requires: yum
+
+%description -n vserver-distro-centos
+VServer build template for CentOS 4.2.
+
+%description -n vserver-distro-centos -l pl
+Szablon budowania VServera dla CentOS 4.2.
+
%package init
Summary: initscripts for vserver
Summary(pl): Skrypty inicjalizuj±ce dla vserwera
Summary: /dev entries for systems in Vservers
Summary(pl): Pliki specjalne /dev/* dla systemów w Vserwerach
Group: Base
-PreReq: setup >= 2.4.1-2
+Requires: setup >= 2.4.1-2
Provides: dev = 2.9.0-19
Provides: devfs
AutoReqProv: no
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+#%patch10 -p1
+%patch11 -p1
install %{SOURCE7} package-menagament.txt
cp -a compat.h vserver-compat.h
%build
+%if %{with dietlibc}
+CFLAGS="%{rpmcflags} -D__GLIBC__"
+%endif
%{__aclocal} -I m4
%{__automake}
+%{__autoconf}
%configure \
--with-initrddir=/etc/rc.d/init.d \
--enable-release \
PS=/bin/ps \
UMOUNT=/bin/umount \
IP=/sbin/ip \
- IPTABLES=/usr/sbin/iptables \
+ IPTABLES=%{_usrsbin}/iptables \
MODPROBE=/sbin/modprobe \
NAMEIF=/sbin/nameif \
RMMOD=/sbin/rmmod \
VCONFIG=/sbin/vconfig \
- WGET=/usr/bin/wget \
+ WGET=%{_usrbin}/wget \
%{__make} all
%{?with_doc:%{__make} doc}
%{__make} install install-distribution \
DESTDIR=$RPM_BUILD_ROOT
-install vserver-compat.h $RPM_BUILD_ROOT%{_includedir}/
+cp -a vserver-compat.h $RPM_BUILD_ROOT%{_includedir}
chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
-install -d $RPM_BUILD_ROOT/etc/vservices
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
install -d $RPM_BUILD_ROOT/vservers/.pkg
ln -s /vservers $RPM_BUILD_ROOT%{_sysconfdir}/vservers/vdirbase
ln -s %{_localstatedir}/run/vservers.rev $RPM_BUILD_ROOT%{_sysconfdir}/vservers/run.rev
for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
s=`basename $i | sed s/v_//`
- cat >$RPM_BUILD_ROOT/etc/vservices/$s << EOF
+ cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
# IP addresses/interfaces to bound $s service to
#IP=10.0.0.1
#IP=eth0
EOF
done
-sed 's|/usr/lib/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
$RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
-sed 's|/usr/lib/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
$RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
-sed 's|/usr/lib/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
$RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
-sed 's|/usr/lib/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
+sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
$RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers-default
install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
-ln -sf /dev/null $RPM_BUILD_ROOT/dev/initctl
+ln -sf null $RPM_BUILD_ROOT/dev/initctl
%ifarch %{x8664}
sed -i 's/^glibc$/glibc64/' $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld2.0/pkgs/01
%post init
/sbin/chkconfig --add vservers-default
/sbin/chkconfig --add vprocunhide
-#if [ -r /var/lock/subsys/vprocunhide ]; then
-# /etc/rc.d/init.d/vprocunhide restart >&2
-#else
+if [ ! -f /var/lock/subsys/vprocunhide ]; then
echo "Type \"/etc/rc.d/init.d/vprocunhide start\" to set /proc visibility for vservers" 1>&2
-#fi
-#if [ -r /var/lock/subsys/vservers-default ]; then
-# /etc/rc.d/init.d/vservers-default restart >&2
-#else
+fi
+if [ ! -f /var/lock/subsys/vservers-default ]; then
echo "Type \"/etc/rc.d/init.d/vservers-default start\" to start default vservers" 1>&2
-#fi
+fi
%preun init
if [ "$1" = "0" ]; then
- if [ -r /var/lock/subsys/vprocunhide ]; then
+ if [ -r /var/lock/subsys/vprocunhide ]; then
/etc/rc.d/init.d/vprocunhide stop >&2
- fi
- if [ -r /var/lock/subsys/vservers-default ]; then
+ fi
+ if [ -r /var/lock/subsys/vservers-default ]; then
/etc/rc.d/init.d/vservers-default stop >&2
- fi
- /sbin/chkconfig --del vprocunhide
- /sbin/chkconfig --del vservers-default
+ fi
+ /sbin/chkconfig --del vprocunhide
+ /sbin/chkconfig --del vservers-default
fi
%post legacy
/sbin/chkconfig --add rebootmgr
/sbin/chkconfig --add vservers-legacy
-#if [ -r /var/lock/subsys/rebootmgr ] ; then
-# /etc/rc.d/init.d/rebootmgr restart >&2
-#else
+if [ ! -f /var/lock/subsys/rebootmgr ] ; then
echo "Type \"/etc/rc.d/init.d/rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
-#fi
-#if [ -r /var/lock/subsys/vservers-legacy ] ; then
-# /etc/rc.d/init.d/vservers-legacy restart >&2
-#else
+fi
+if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
echo "Type \"/etc/rc.d/init.d/vservers-legacy start\" to start legacy vservers" 1>&2
-#fi
+fi
%preun legacy
if [ "$1" = "0" ]; then
%attr(755,root,root) %{_sbindir}/vsomething
%attr(755,root,root) %{_sbindir}/vtop
%attr(755,root,root) %{_sbindir}/vuname
+%attr(755,root,root) %{_sbindir}/vwait
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/defaults
%{_libdir}/%{name}/FEATURES.txt
%attr(755,root,root) %{_libdir}/%{name}/chain-echo
%attr(755,root,root) %{_libdir}/%{name}/check-unixfile
%attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
-%attr(755,root,root) %{_libdir}/%{name}/chroot-*
+%attr(755,root,root) %{_libdir}/%{name}/chroot-sh
%attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
%attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
%attr(755,root,root) %{_libdir}/%{name}/filetime
%{_mandir}/man8/vserver-stat.8*
%{_mandir}/man8/vserver.8*
%{_mandir}/man8/vtop.8*
-%attr(0,root,root) %dir /vservers
+%attr(000,root,root) %dir /vservers
%attr(755,root,root) %dir /vservers/.pkg
%dir %{_localstatedir}/run/vservers
%dir %{_localstatedir}/run/vservers.rev
%dir %{_sysconfdir}/vservers/.distributions
%dir %{_sysconfdir}/vservers/.distributions/.common
%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
-%dir %{_sysconfdir}/vservers/.distributions/[frs]*
-%dir %{_sysconfdir}/vservers/.distributions/[frs]*/apt
%dir %{_sysconfdir}/vservers/.distributions/pld2.0
%dir %{_sysconfdir}/vservers/.distributions/pld2.0/poldek
%{_sysconfdir}/vservers/.distributions/pld1.99
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/vservers/.distributions/[frs]*/apt/sources.list
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/vservers/.distributions/pld2.0/poldek/poldek.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld2.0/poldek/poldek.conf
%attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
%dir %{_libdir}/%{name}/distributions
-%attr(-, root, root) %{_libdir}/%{name}/distributions/*
+%attr(-, root, root) %{_libdir}/%{name}/distributions/defaults
+%attr(-, root, root) %{_libdir}/%{name}/distributions/pld*
+%attr(-, root, root) %{_libdir}/%{name}/distributions/template
+%attr(-, root, root) %{_libdir}/%{name}/distributions/redhat*
%{_libdir}/%{name}/vserver-build.*
%{_libdir}/%{name}/vserver-setup.functions
%{_libdir}/%{name}/defaults/fstab
%{_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}/vbuild
-%attr(755,root,root) %{_libdir}/%{name}/vcheck
%attr(755,root,root) %{_libdir}/%{name}/vcopy
%attr(755,root,root) %{_libdir}/%{name}/vhashify
%attr(755,root,root) %{_libdir}/%{name}/vpkg
%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}/vfiles
%attr(755,root,root) %{_sbindir}/vpoldek
%attr(755,root,root) %{_sbindir}/vrpm
%attr(755,root,root) %{_sbindir}/vyum
+%files -n vserver-distro-fedora
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/vservers/.distributions/fc*
+%dir %{_sysconfdir}/vservers/.distributions/fc*/apt
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
+%{_libdir}/%{name}/distributions/fc*
+
+%files -n vserver-distro-redhat
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/vservers/.distributions/rh*
+%dir %{_sysconfdir}/vservers/.distributions/rh*/apt
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
+%{_libdir}/%{name}/distributions/rh*
+
+%files -n vserver-distro-suse
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/vservers/.distributions/suse*
+%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-centos
+%defattr(644,root,root,755)
+%{_libdir}/util-vserver/distributions/centos42
+
%files legacy
%defattr(644,root,root,755)
-%dir /etc/vservices
-/etc/vservices/*
+%dir %{_sysconfdir}/vservices
+%{_sysconfdir}/vservices/*
%dir %{_libdir}/%{name}/legacy
%attr(755,root,root) %{_libdir}/%{name}/legacy/*
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy