# $Id: util-vserver.spec.in,v 1.31 2004/04/23 16:47:03 ensc Exp $ %define confdir %_sysconfdir/vservers %define confdefaultdir %confdir/.defaults %define pkglibdir %_libdir/%name %define __chattr /usr/bin/chattr %define chkconfig /sbin/chkconfig %define localstatedir %_var/run %define with_docu 0 %define name util-vserver %define version 0.30.204 %define release 1mdk Summary: Linux virtual server utilities Name: %{name} Version: %{version} Release: %{release} License: GPL Group: System/Base URL: http://savannah.nongnu.org/projects/util-vserver/ Source0: http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2 Patch0: vserver-include.patch.bz2 Patch1: vserver-mandrake.patch BuildRoot: %_tmppath/%name-%version-%release-root Requires: init(util-vserver) Requires: %name-core = %version Requires: %name-lib = %version Requires: %name-sysv = %version Requires: diffutils mktemp sed Provides: vserver = %version Obsoletes: vserver < %version BuildRequires: mount vlan-utils gawk iproute2 iptables BuildRequires: gcc-c++ wget BuildRequires: e2fsprogs-devel %if %with_docu BuildRequires: doxygen tetex-latex libxslt %endif Requires(post): %__chattr Requires(pre): %pkglibdir Requires(postun): %pkglibdir # %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.24} %package lib Summary: Dynamic libraries for util-vserver Group: System/Libraries %package core Summary: The core-utilities for util-vserver Group: System/Base Requires: util-linux %package build Summary: Tools which can be used to build vservers Group: System/Base Requires: rpm apt wget binutils tar e2fsprogs Requires: %name = %version Requires(pre): %confdir Requires(postun): %confdir %package sysv Summary: SysV-initscripts for vserver Group: System/Configuration/Other Provides: init(util-vserver) Requires: make diffutils Requires: initscripts Requires: %name = %version Requires(post): %chkconfig Requires(preun): %chkconfig Requires(pre): %_initrddir %pkglibdir requires(postun): %_initrddir %pkglibdir %package legacy Summary: Legacy utilities for util-vserver Group: System/Base Requires: %name = %version Requires(post): %chkconfig Requires(preun): %chkconfig Requires(pre): %_initrddir %pkglibdir requires(postun): %_initrddir %pkglibdir %package devel Summary: Header-files and libraries which are needed to develop vserver based applications Group: Development/C Requires: pkgconfig %description This package 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 requires a special kernel supporting the new new_s_context and set_ipv4root system call. %description lib %description core %description build %description sysv %description legacy %description devel %prep %setup -q %patch0 %patch1 %build rm -rf $RPM_BUILD_ROOT %configure --with-initrddir=%_initrddir \ --localstatedir=%_var \ --enable-release \ %{?_without_dietlibc:--disable-dietlibc} %__make %{?_smp_mflags} all %if %with_docu %__make %{?_smp_mflags} doc %endif %install rm -rf $RPM_BUILD_ROOT %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution rm -f $RPM_BUILD_ROOT/%_libdir/*.la contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat %check || : %__make check %clean rm -rf $RPM_BUILD_ROOT %post test -d /vservers || mkdir -m0000 /vservers test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f" f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f" %_sbindir/setattr --barrier /vservers || : %post lib -p /sbin/ldconfig %postun lib -p /sbin/ldconfig %post sysv %chkconfig --add vservers-default %chkconfig --add vprocunhide %preun sysv test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || : test "$1" != 0 || %chkconfig --del vprocunhide test "$1" != 0 || %chkconfig --del vservers-default %postun sysv test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : ## Temporary workaround to remove old v_* files; it will conflict ## somehow with the -legacy package but can be fixed by reinstalling ## this package. ## TODO: remove me in the final .spec file %define v_services httpd named portmap sendmail smb sshd xinetd gated %triggerun sysv -- util-vserver-sysv < 0.30.198 for i in %v_services; do %chkconfig --del v_$i || : done %post legacy %chkconfig --add rebootmgr %chkconfig --add vservers-legacy for i in %v_services; do %chkconfig --add v_$i done %preun legacy test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || : test "$1" != 0 || for i in %v_services; do %chkconfig --del v_$i done test "$1" != 0 || %chkconfig --del rebootmgr test "$1" != 0 || %chkconfig --del vservers-legacy %postun legacy test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : %files -f %name-base.list %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README THANKS %doc doc/*.html doc/*.css /sbin/vshelper %dir %confdir %dir %confdefaultdir %dir %confdefaultdir/apps %dir %confdefaultdir/files %dir %pkglibdir/defaults %ghost %confdefaultdir/vdirbase %ghost %confdefaultdir/run.rev %dir %localstatedir/vservers %dir %localstatedir/vservers.rev %dir %localstatedir/vshelper %files lib -f %name-lib.list %files sysv -f %name-sysv.list %files core -f %name-core.list %defattr(-,root,root,-) %dir %pkglibdir %files build -f %name-build.list %defattr(-,root,root,-) %dir %confdir/.distributions %dir %confdir/.distributions/* %dir %confdir/.distributions/*/apt %files legacy -f %name-legacy.list %defattr(-,root,root,-) %dir %pkglibdir/legacy %config(noreplace) /etc/vservers.conf %files devel -f %name-devel.list %defattr(-,root,root,-) %if %with_docu %doc lib/apidoc/latex/refman.pdf %doc lib/apidoc/html %endif %changelog * Sat Feb 19 2005 Erwan Velu <erwan@seanodes.com> - 0.30.204-1mdk - 0.30.204 - Integrating mandrake's patch * Tue Feb 15 2005 Erwan Velu <erwan@seanodes.com> - 0.30.203-2mdk - First mdk release (why 1mdk before that's the question) - Removing epoch (not necessary for a new rpm) - Cleaning * Sat Feb 12 2005 Herbert Pƶtzl <herbert@13thfloor.at> - 0:0.30.203-1mdk - updated to latest alpha release * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3 - updated BuildRequires: - use 'setattr --barrier' instead of 'chattr +t' in the %post scriptlet - moved the v_* initscripts to legacy - do not ship the /vservers directory itself; as it is immutable, the extraction will fail else * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0 - use file-list for sysv scripts also * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0 - added vprocunhide-service support - added doxygen support - updated Requires: * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0 - Initial build.