X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Futil-vserver.spec.in;h=01f05c6a681065da95f397e52c8049173b314a3f;hb=bb95a260f18983e80abcad495bd224b386a705e1;hp=7d5ab6e4d56409941d2101a18c87677fb49d1e4f;hpb=259ceda0ea720f1bd8c93068e78667c3599bf8d4;p=util-vserver.git diff --git a/util-vserver/util-vserver.spec.in b/util-vserver/util-vserver.spec.in index 7d5ab6e..01f05c6 100644 --- a/util-vserver/util-vserver.spec.in +++ b/util-vserver/util-vserver.spec.in @@ -1,8 +1,16 @@ # $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 +%define __chattr /usr/bin/chattr +%define chkconfig /sbin/chkconfig + +%define _localstatedir %_var Summary: Linux virtual server utilities Name: @PACKAGE@ @@ -14,36 +22,64 @@ 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: gcc-c++ +BuildRequires: mount vconfig gawk iproute iptables +BuildRequires: gcc-c++ wget BuildRequires: e2fsprogs-devel -%{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.22} +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 +Group: System Environment/Libraries %package core -Summary: The core-utilities for util-vserver -Group: Applications/System +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: %name = %epoch:%version-%release -Requires: rpm apt +Summary: Tools which can be used to build vservers +Group: Applications/System +Requires: rpm apt wget binutils tar e2fsprogs +Requires: %name = %epoch:%version-%release +Requires(pre): %confdir +Requires(postun): %confdir %package sysv -Summary: SysV-initscripts for vserver -Group: System Environment/Base -Provides: init(@PACKAGE@) -Requires: %name = %epoch:%version-%release -Requires: initscripts +Summary: SysV-initscripts for vserver +Group: System Environment/Base +Provides: init(%name) = sysv +Requires: make diffutils +Requires: initscripts +Requires: %name = %epoch:%version-%release +Requires(post): %chkconfig +Requires(preun): %chkconfig +Requires(pre): %_initrddir %pkglibdir +requires(postun): %_initrddir %pkglibdir + +%package legacy +Summary: Legacy utilities for util-vserver +Group: Applications/System +Requires: %name = %epoch:%version-%release +Requires(post): %chkconfig +Requires(preun): %chkconfig +Requires(pre): %_initrddir %pkglibdir +requires(postun): %_initrddir %pkglibdir %package devel -Summary: Header-files and libraries which are needed to develop vserver based applications -Group: Development/Libraries -Requires: pkgconfig +Summary: Header-files and libraries which are needed to develop vserver based applications +Group: Development/Libraries +Requires: pkgconfig %description @@ -56,9 +92,11 @@ 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 lib %description core %description build %description sysv +%description legacy %description devel @@ -69,156 +107,162 @@ set_ipv4root system call. %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 +%__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 + + +%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" +test -d /vservers || mkdir -m0000 /vservers +test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg + +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 %post sysv -/sbin/chkconfig --add vservers -/sbin/chkconfig --add rebootmgr +%chkconfig --add vservers-default +%chkconfig --add vprocunhide + + + +%preun sysv +test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || : + +test "$1" != 0 || %chkconfig --del vprocunhide +test "$1" != 0 || %chkconfig --del vservers-default + + +%postun sysv +test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : + +## 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 - /sbin/chkconfig --add v_$i + %chkconfig --del v_$i || : done -%preun sysv -test "$1" != 0 || for i in %v_services; do - /sbin/chkconfig --del v_$i +%post legacy +%chkconfig --add rebootmgr +%chkconfig --add vservers-legacy + +for i in %v_services; do + %chkconfig --add 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 +%preun legacy +test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || : -%postun sysv -test "$1" = 0 || %{_initrddir}/rebootmgr condrestart >/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 -%post core -p /sbin/ldconfig -%postun core -p /sbin/ldconfig +%postun legacy +test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : -%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/exec-cd -%_sbindir/rebootmgr -%_sbindir/vdu -%_sbindir/vfiles -%_sbindir/vlimit -%_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* - +%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 %ghost %confdefaultdir/run.rev +%dir %_localstatedir/run/vservers +%dir %_localstatedir/run/vservers.rev +%dir %_localstatedir/run/vshelper -%attr(000,root,root) %dir /vservers/.pkg -%attr(000,root,root) %dir /vservers -%dir /var/run/vservers -%dir /var/run/vservers.rev +%files lib -f %name-lib.list +%files sysv -f %name-sysv.list -%files core +%files core -f %name-core.list %defattr(-,root,root,-) -%_libdir/*.so.* -%_sbindir/chbind -%_sbindir/chcontext -%_sbindir/new-namespace -%_sbindir/reducecap -%_sbindir/vkill -%_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 sysv +%files legacy -f %name-legacy.list %defattr(-,root,root,-) -%_initrddir/* -%config(noreplace) %_sysconfdir/vservers.conf +%dir %pkglibdir/legacy -%files devel +%files devel -f %name-devel.list %defattr(-,root,root,-) -%_includedir/*.h -%_libdir/*.a -%_libdir/*.so -%_libdir/pkgconfig/* +%doc lib/apidoc/latex/refman.pdf +%doc lib/apidoc/html %changelog +* Wed Jan 26 2005 Enrico Scholz - 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 - 0:0.30.194-0 +- documented switches for 'rpmbuild' + +* Wed May 26 2004 Enrico Scholz - 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 - 0:0.29.202-0 +- use file-list for sysv scripts also + +* Sat Mar 6 2004 Enrico Scholz - 0:0.29.198-0 +- added vprocunhide-service support +- added doxygen support +- updated Requires: + * Wed Oct 1 2003 Enrico Scholz - 0:0.23.5-0 - Initial build. -