include <string.h>
[util-vserver.git] / util-vserver / util-vserver.spec.in
index ca9321d..251d234 100644 (file)
@@ -1,5 +1,9 @@
 # $Id$
 
+## This package understands the following switches:
+## --without dietlibc        ...   disable usage of dietlibc
+## --without xalan           ...   do not require/use the xalan xslt processor
+
 %define confdir                %_sysconfdir/vservers
 %define confdefaultdir %confdir/.defaults
 %define pkglibdir      %_libdir/%name
 Summary:       Linux virtual server utilities
 Name:          @PACKAGE@
 Version:       @VERSION@
-Release:       0
+Release:       0.3
 Epoch:         0
 License:       GPL
 Group:         System Environment/Base
 URL:           http://savannah.nongnu.org/projects/util-vserver/
 Source0:       http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
 BuildRoot:     %_tmppath/%name-%version-%release-root
-Requires:      init(@PACKAGE@)
+Requires:      init(%name)
 Requires:      %name-core = %epoch:%version-%release
 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 libxslt
+BuildRequires: doxygen tetex-latex
 Requires(post):                %__chattr
 Requires(pre):         %pkglibdir
 Requires(postun):      %pkglibdir
 %{!?_without_dietlibc:BuildRequires:   dietlibc >= 0:0.24}
+%{!?_without_xalan:BuildRequires:      xalan-j}
 
 %package lib
 Summary:               Dynamic libraries for util-vserver
@@ -37,11 +43,12 @@ Group:                      System Environment/Libraries
 %package core
 Summary:               The core-utilities for util-vserver
 Group:                 Applications/System
+Requires:              util-linux
 
 %package build
 Summary:               Tools which can be used to build vservers
 Group:                 Applications/System
-Requires:              rpm apt wget binutils tar
+Requires:              rpm apt wget binutils tar e2fsprogs
 Requires:              %name = %epoch:%version-%release
 Requires(pre):         %confdir
 Requires(postun):      %confdir
@@ -49,7 +56,7 @@ Requires(postun):     %confdir
 %package sysv
 Summary:               SysV-initscripts for vserver
 Group:                 System Environment/Base
-Provides:              init(@PACKAGE@)
+Provides:              init(%name) = sysv
 Requires:              make diffutils
 Requires:              initscripts
 Requires:              %name = %epoch:%version-%release
@@ -105,10 +112,12 @@ set_ipv4root system call.
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%__make DESTDIR="$RPM_BUILD_ROOT" install install-vserverdir
+%__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
 
 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
 
+MANIFEST_CONFIG='%config' \
+MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
 
 
@@ -124,24 +133,16 @@ rm -rf $RPM_BUILD_ROOT
 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"
 
-%__chattr +t /vservers || :
+%_sbindir/setattr --barrier /vservers || :
 
 
-%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
@@ -156,13 +157,33 @@ test "$1" = 0  || %_initrddir/vprocunhide condrestart >/dev/null || :
 %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
+test "$1" != 0 || 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
 
@@ -173,13 +194,11 @@ 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/FAQ.txt
 %doc doc/*.html doc/*.css
+/sbin/vshelper
 %dir %confdir
 %dir %confdefaultdir
-%dir %confdefaultdir/init
 %dir %confdefaultdir/apps
-%dir %confdefaultdir/apps/pkgmgmt
 %dir %confdefaultdir/files
 %dir %pkglibdir/defaults
 %ghost %confdefaultdir/vdirbase
@@ -190,6 +209,7 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 
 %dir /var/run/vservers
 %dir /var/run/vservers.rev
+%dir /var/run/vshelper
 
 
 %files lib -f %name-lib.list
@@ -206,13 +226,11 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 %dir %confdir/.distributions
 %dir %confdir/.distributions/*
 %dir %confdir/.distributions/*/apt
-%config(noreplace) %confdir/.distributions/*/apt/sources.list
 
 
 %files legacy -f %name-legacy.list
 %defattr(-,root,root,-)
 %dir %pkglibdir/legacy
-%config(noreplace) %_sysconfdir/vservers.conf
 
 
 %files devel -f %name-devel.list
@@ -222,6 +240,18 @@ 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 
+
+* Thu Sep  9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
+- 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;
+  this will preserve %%config files...
+
 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
 - use file-list for sysv scripts also