# $Id$
%define confdir %_sysconfdir/vservers
+%define confdefaultdir %confdir/.defaults
%define pkglibdir %_libdir/%name
+%define __chattr /usr/bin/chattr
+%define chkconfig /sbin/chkconfig
Summary: Linux virtual server utilities
Name: @PACKAGE@
BuildRoot: %_tmppath/%name-%version-%release-root
Requires: init(@PACKAGE@)
Requires: %name-core = %epoch:%version-%release
+Requires: %name-lib = %epoch:%version-%release
Provides: vserver = %epoch:%version-%release
Obsoletes: vserver < %epoch:%version
BuildRequires: mount vconfig gawk iproute
-BuildRequires: gcc-c++
+BuildRequires: gcc-c++ wget
BuildRequires: e2fsprogs-devel
+BuildRequires: doxygen tetex-latex libxslt
+Requires(post): %__chattr
%{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.22}
+%package lib
+Summary: Dynamic libraries for util-vserver
+Group: System Environment/Libraries
+
%package core
Summary: The core-utilities for util-vserver
Group: Applications/System
Summary: Tools which can be used to build vservers
Group: Applications/System
Requires: %name = %epoch:%version-%release
-Requires: rpm apt
+Requires: rpm apt wget binutils tar
%package sysv
Summary: SysV-initscripts for vserver
Group: System Environment/Base
Provides: init(@PACKAGE@)
+Requires: make diffutils
Requires: %name = %epoch:%version-%release
Requires: initscripts
+Requires(pre,postun): %_initrddir %pkglibdir
+
+%package legacy
+Summary: Legacy utilities for util-vserver
+Group: Applications/System
+Requires: %name = %epoch:%version-%release
%package devel
Summary: Header-files and libraries which are needed to develop vserver based applications
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
%build
%configure --with-initrddir=%_initrddir --enable-release \
%{?_without_dietlibc:--disable-dietlibc}
-%__make %{?_smp_mflags}
+
+%__make %{?_smp_mflags} all
+%__make %{?_smp_mflags} doc
%install
rm -rf $RPM_BUILD_ROOT
%__make DESTDIR="$RPM_BUILD_ROOT" install install-vserverdir
+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
+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 || :
+
+
%define v_services httpd named portmap sendmail smb sshd xinetd
%post sysv
-/sbin/chkconfig --add vservers
-/sbin/chkconfig --add rebootmgr
+%chkconfig --add vservers-default
+%chkconfig --add rebootmgr
+%chkconfig --add vprocunhide
for i in %v_services; do
- /sbin/chkconfig --add v_$i
+ %chkconfig --add v_$i
done
%preun sysv
test "$1" != 0 || for i in %v_services; do
- /sbin/chkconfig --del v_$i
+ %chkconfig --del v_$i
done
-test "$1" != 0 || %{_initrddir}/rebootmgr stop &>/dev/null || :
-test "$1" != 0 || /sbin/chkconfig --del rebootmgr
-test "$1" != 0 || /sbin/chkconfig --del vservers
+test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
+test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
+
+test "$1" != 0 || %chkconfig --del vprocunhide
+test "$1" != 0 || %chkconfig --del rebootmgr
+test "$1" != 0 || %chkconfig --del vservers-default
%postun sysv
-test "$1" = 0 || %{_initrddir}/rebootmgr condrestart >/dev/null || :
+test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
+test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
+
+%post lib -p /sbin/ldconfig
+%postun lib -p /sbin/ldconfig
-%files
+
+%files -f %name-base.list
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README THANKS
%doc doc/FAQ.txt
-%pkglibdir
-%exclude %pkglibdir/distributions
-%exclude %pkglibdir/distrib-info
-%exclude %pkglibdir/rpm-fake.so
-%exclude %pkglibdir/util-vserver-vars
-%exclude %pkglibdir/vapt-get*
-%exclude %pkglibdir/vrpm*
-%exclude %pkglibdir/vserver-build*
-%exclude %pkglibdir/vserver-setup*
-%exclude %pkglibdir/vunify
-%_sbindir/rebootmgr
-%_sbindir/vdu
-%_sbindir/vfiles
-%_sbindir/vps
-%_sbindir/vpstree
-%_sbindir/vserver
-%_sbindir/vserver-stat
-%_sbindir/vtop
-%_mandir/*/*
-%exclude %_mandir/*/chbind*
-%exclude %_mandir/*/chcontext*
-%exclude %_mandir/*/reducecap*
-%exclude %_mandir/*/distrib-info*
-%exclude %_mandir/*/vserver-copy*
-%exclude %_mandir/*/vrpm*
-
-%dir %confdir/.defaults
-%dir %confdir/.defaults/*
-%pkglibdir/defaults
+%doc doc/*.html doc/*.css
+%dir %pkglibdir
+%dir %confdefaultdir
+%dir %confdefaultdir/init
+%dir %confdefaultdir/apps
+%dir %confdefaultdir/apps/pkgmgmt
+%dir %confdefaultdir/files
+%ghost %confdefaultdir/vdirbase
+%ghost %confdefaultdir/run.rev
%attr(000,root,root) %dir /vservers/.pkg
%attr(000,root,root) %dir /vservers
%dir /var/run/vservers.rev
+%files lib -f %name-lib.list
-%files core
+%files core -f %name-core.list
%defattr(-,root,root,-)
-%_sbindir/chbind
-%_sbindir/chcontext
-%_sbindir/ctx-kill
-%_sbindir/new-namespace
-%_sbindir/reducecap
-%_sbindir/util-vserver-vars
-%pkglibdir/util-vserver-vars
-%_mandir/*/chbind*
-%_mandir/*/chcontext*
-%_mandir/*/reducecap*
%dir %pkglibdir
-%files build
+%files build -f %name-build.list
%defattr(-,root,root,-)
-%_sbindir/vapt-get
-%_sbindir/vrpm
-%_sbindir/vserver-copy
%dir %pkglibdir
-%pkglibdir/distributions
-%pkglibdir/rpm-fake.so
-%pkglibdir/vapt-get*
-%pkglibdir/vrpm*
-%pkglibdir/vserver-build*
-%pkglibdir/vserver-setup*
-%pkglibdir/vunify
-%_mandir/*/distrib-info*
-%_mandir/*/vserver-copy*
-%exclude %_mandir/*/vrpm*
-
%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
+
-%files sysv
+%files sysv -f %name-sysv.list
%defattr(-,root,root,-)
-%_initrddir/*
+%config %_initrddir/*
%config(noreplace) %_sysconfdir/vservers.conf
-%files devel
+%files devel -f %name-devel.list
%defattr(-,root,root,-)
-%_includedir/*.h
-%_libdir/*.a
-%_libdir/pkgconfig/*
+%doc lib/apidoc/latex/refman.pdf
+%doc lib/apidoc/html
%changelog
+* 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.
-