added list-* files
[util-vserver.git] / util-vserver / util-vserver.spec.in
index d92826a..01f05c6 100644 (file)
@@ -10,6 +10,8 @@
 %define __chattr       /usr/bin/chattr
 %define chkconfig      /sbin/chkconfig
 
+%define _localstatedir %_var
+
 Summary:       Linux virtual server utilities
 Name:          @PACKAGE@
 Version:       @VERSION@
@@ -26,7 +28,7 @@ Requires:     %name-lib  = %epoch:%version-%release
 Requires:      diffutils mktemp sed
 Provides:      vserver = %epoch:%version-%release
 Obsoletes:     vserver < %epoch:%version
-BuildRequires: mount vconfig gawk iproute
+BuildRequires: mount vconfig gawk iproute iptables
 BuildRequires: gcc-c++ wget
 BuildRequires: e2fsprogs-devel
 BuildRequires: doxygen tetex-latex
@@ -130,27 +132,26 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %post
-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 /var/run/vservers.rev "$f"
+test -d /vservers      || mkdir -m0000 /vservers
+test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
 
-%__chattr +t /vservers || :
+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
 
 
-%define v_services     httpd named portmap sendmail smb sshd xinetd gated
 %post sysv
 %chkconfig --add vservers-default
 %chkconfig --add vprocunhide
 
-for i in %v_services; do
-       %chkconfig --add v_$i
-done
 
 
 %preun sysv
-test "$1" != 0 || for i in %v_services; do
-       %chkconfig --del v_$i
-done
-
 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
 
 test "$1" != 0 || %chkconfig --del vprocunhide
@@ -161,17 +162,33 @@ test "$1" != 0 || %chkconfig --del vservers-default
 test "$1" = 0  || %_initrddir/vprocunhide condrestart >/dev/null || :
 
 
-%post   lib -p /sbin/ldconfig
-%postun lib -p /sbin/ldconfig
+## 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
 
@@ -192,12 +209,9 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 %ghost %confdefaultdir/vdirbase
 %ghost %confdefaultdir/run.rev
 
-%attr(000,root,root) %dir /vservers/.pkg
-%attr(000,root,root) %dir /vservers
-
-%dir /var/run/vservers
-%dir /var/run/vservers.rev
-%dir /var/run/vshelper
+%dir %_localstatedir/run/vservers
+%dir %_localstatedir/run/vservers.rev
+%dir %_localstatedir/run/vshelper
 
 
 %files lib -f %name-lib.list
@@ -228,8 +242,15 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 
 
 %changelog
+* 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
+
 * Thu Sep  9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
-- commented switches
+- documented switches for 'rpmbuild'
 
 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
 - (re)added the MANIFEST_* variables which were lost some time ago;