Fix so that vsh works from /bin/vsh again.
[util-vserver.git] / util-vserver.spec
index c1996d7..1bc0e6f 100644 (file)
@@ -51,16 +51,18 @@ linuxconf.
 
 %prep
 %setup -q
-
-
-%build
+aclocal -I m4
+autoconf
+automake --add-missing
 # 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}
 
 
+%build
+make
+
 %install
 rm -rf $RPM_BUILD_ROOT
 %__make DESTDIR=$RPM_BUILD_ROOT install
@@ -71,22 +73,19 @@ test "%_initrddir" = %_sysconfdir/init.d || {
        mv ${RPM_BUILD_ROOT}%_sysconfdir/init.d/* ${RPM_BUILD_ROOT}%_initrddir/
 }
 
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-
-%define services vcached
+%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
+       [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || :
     done
 fi
 
-
 %post
 # 1 = install, 2 = upgrade/reinstall
 if [ $1 -eq 1 ] ; then
@@ -96,23 +95,33 @@ if [ $1 -eq 1 ] ; then
     done
 fi
 for i in %{services} ; do
-    [ "`/sbin/runlevel`" != "unknown" ] && service $i start
+    [ "`/sbin/runlevel`" = "unknown" ] || service $i start
 done
+if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then
+    echo /bin/vsh >> /etc/shells
+fi
+ln -f /usr/sbin/vsh /bin/vsh
 
 %__chattr +t /vservers || :
 
 
+%postun
+# 0 = erase, 1 = upgrade
+if [ "$1" = 0 ] ; then
+    perl -i -n -e 'next if /^\/bin\/vsh$/; print' /etc/shells
+fi
+rm -f /usr/sbin/vsh /bin/vsh
+
 %preun
 # 0 = erase, 1 = upgrade
 if [ $1 -eq 0 ] ; then
     for i in %{services} ; do
-       [ "`/sbin/runlevel`" != "unknown" ] && service $i stop
+       [ "`/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
@@ -123,20 +132,25 @@ fi
 %_mandir/man8/*
 %config %_initrddir/*
 %config(noreplace) /etc/vservers.conf
+%config(noreplace) /etc/vcached.conf
+%dir /etc/vservers
 %attr(0,root,root) %dir /vservers
+%attr(4755,root,root) /usr/sbin/vsh
+%attr(4755,root,root) /bin/vsh
 
 %exclude %_sbindir/newvserver
 %exclude %_mandir/man8/newvserver*
 
-
 %files linuxconf
 %defattr(-,root,root)
 %config(noreplace) /etc/vservers/newvserver.defaults
 %_sbindir/newvserver
 %_mandir/man8/newvserver*
 
-
 %changelog
+* Mon Oct 11 2004 Marc E. Fiuczynski <mef@cs.princeton.edu> 0.1-1.planetlab
+- added vsh
+
 * Wed Aug 11 2004 Mark Huang <mlhuang@cs.princeton.edu> 0.29-1.planetlab
 - initial PlanetLab 3.0 build.
 
@@ -145,3 +159,4 @@ fi
 
 * Fri Sep 26 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.4-1
 - initial build.
+