%define name @PACKAGE@ %define version @VERSION@ %define release 1.planetlab%{?date:.%{date}} Vendor: PlanetLab Packager: PlanetLab Central Distribution: PlanetLab 3.0 URL: http://www.planet-lab.org %define __chattr /usr/bin/chattr Summary: Linux virtual server utilities Name: %{name} Version: %{version} Release: %{release} Epoch: 0 Copyright: GPL Group: System Environment/Base Source0: http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2 Provides: %name-devel = %epoch:%version-%release BuildRoot: %_tmppath/%name-%version-%release-root Provides: vserver = %epoch:%version-%release Conflicts: vserver < %epoch:%version-%release Conflicts: vserver > %epoch:%version-%release BuildRequires: e2fsprogs-devel Requires(post): %__chattr %package linuxconf Summary: Linuxconf administration modules for vservers Group: Applications/System Requires: %name = %epoch:%version-%release Provides: vserver-admin = %epoch:%version-%release Conflicts: vserver-admin < %epoch:%version-%release Conflicts: vserver-admin > %epoch:%version-%release %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 linuxconf This package provides the components to setup virtual servers with linuxconf. %prep %setup -q %build aclocal -I m4 autoconf automake # bootstrap to avoid BuildRequires of kernel-source for linux in $RPM_BUILD_DIR/linux-* /lib/modules/`uname -r`/build ; do [[ -d $linux/include ]] && %configure --with-kerneldir=$linux --enable-linuxconf && break done %__make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT %__make DESTDIR=$RPM_BUILD_ROOT install mkdir -p $RPM_BUILD_ROOT/vservers test "%_initrddir" = %_sysconfdir/init.d || { mkdir -p ${RPM_BUILD_ROOT}%_initrddir mv ${RPM_BUILD_ROOT}%_sysconfdir/init.d/* ${RPM_BUILD_ROOT}%_initrddir/ } %clean rm -rf $RPM_BUILD_ROOT %define services vcached vservers %pre # 1 = install, 2 = upgrade/reinstall if [ $1 -eq 2 ] ; then for i in %{services} ; do [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || : done fi %post # 1 = install, 2 = upgrade/reinstall if [ $1 -eq 1 ] ; then for i in %{services} ; do chkconfig --add $i chkconfig $i on done fi for i in %{services} ; do [ "`/sbin/runlevel`" = "unknown" ] || service $i start done %__chattr +t /vservers || : %preun # 0 = erase, 1 = upgrade if [ $1 -eq 0 ] ; then for i in %{services} ; do [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || : chkconfig $i off chkconfig --del $i done fi %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README THANKS %_sbindir/* %_libdir/%name %_includedir/vserver.h %_libdir/libvserver.a %_mandir/man8/* %config %_initrddir/* %config(noreplace) /etc/vservers.conf %config(noreplace) /etc/vcached.conf %dir /etc/vservers %attr(0,root,root) %dir /vservers %exclude %_sbindir/newvserver %exclude %_mandir/man8/newvserver* %files linuxconf %defattr(-,root,root) %config(noreplace) /etc/vservers/newvserver.defaults %_sbindir/newvserver %_mandir/man8/newvserver* %changelog * Wed Aug 11 2004 Mark Huang 0.29-1.planetlab - initial PlanetLab 3.0 build. * Thu Mar 18 2004 Enrico Scholz - 0:0.29.3-0 - removed '%%doc doc/FAQ.txt' since file does not exist anymore * Fri Sep 26 2003 Enrico Scholz - 0:0.23.4-1 - initial build.