X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=util-vserver.spec;h=1c37fcd874548ec9939fa79ee4c183a0ab4dc130;hb=be7e00f3306309928406b77a54b85c1db4b319cf;hp=b4df1f1bf5bcc6945c25446af6665903a4098794;hpb=272cd65d97715143f588744100419e827bbe494a;p=util-vserver.git diff --git a/util-vserver.spec b/util-vserver.spec index b4df1f1..1c37fcd 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,13 +1,12 @@ -# $Id: util-vserver.spec.in,v 1.49 2005/07/15 19:06:58 ensc Exp $ +# $Id: util-vserver.spec.in 2283 2006-09-10 17:07:57Z hollow $ ## This package understands the following switches: ## --without dietlibc ... disable usage of dietlibc -## --without xalan ... do not require/use the xalan xslt processor +## --with xalan ... require/use the xalan xslt processor %global confdir %_sysconfdir/vservers %global confdefaultdir %confdir/.defaults %global pkglibdir %_libdir/%name -%global __chattr /usr/bin/chattr %global chkconfig /sbin/chkconfig %global _localstatedir %_var @@ -15,26 +14,30 @@ %{!?release_func:%global release_func() %1%{?dist}} -%define name util-vserver -%define version 0.30.208 -%define release 1.planetlab%{?date:.%{date}} +%define name @PACKAGE@ +%define version @VERSION@ +%define release 15%{?pldistro:.%{pldistro}}%{?date:.%{date}} %define _without_dietlibc 1 %define _without_xalan 1 +# don't build debuginfo RPM +%define debug_package %{nil} + Vendor: PlanetLab Packager: PlanetLab Central Distribution: PlanetLab 3.0 URL: http://cvs.planet-lab.org/cvs/util-vserver Summary: Linux virtual server utilities -Name: util-vserver -Version: 0.30.208 +Name: @PACKAGE@ +Version: @VERSION@ Release: %{release} 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 +URL: http://savannah.nongnu.org/projects/util-vserver/ +Source0: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2 +#Source1: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2.asc BuildRoot: %_tmppath/%name-%version-%release-root Requires: init(%name) Requires: %name-core = %version-%release @@ -46,10 +49,11 @@ BuildRequires: mount vconfig gawk iproute iptables BuildRequires: gcc-c++ wget which diffutils BuildRequires: e2fsprogs-devel beecrypt-devel BuildRequires: doxygen tetex-latex +Requires(post): %name-core Requires(pre): %pkglibdir Requires(postun): %pkglibdir %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25} -%{!?_without_xalan:BuildRequires: xalan-j} +%{?_with_xalan:BuildRequires: xalan-j} %package lib Summary: Dynamic libraries for util-vserver @@ -67,10 +71,7 @@ Requires: rpm wget binutils tar e2fsprogs Requires: %name = %version-%release Requires(pre): %confdir Requires(postun): %confdir - -%ifarch %ix86 -Requires: apt -%endif +Requires(post): %name-core %package sysv Summary: SysV-initscripts for vserver @@ -103,7 +104,7 @@ Requires: %name-lib = %version-%release Summary: Python modules for manipulating vservers Group: Applications/System Requires: python util-python -Obsoletes: util-vserver-py23 +Obsoletes: util-vserver-py23 resman %description @@ -212,7 +213,10 @@ MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat # install python bindings -%__make -C python DESTDIR="$RPM_BUILD_ROOT" install +%__make -C python DESTDIR="$PWD/tmp" install +install -d $RPM_BUILD_ROOT/%{_datadir}/%{name} +install tmp/usr/lib/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/ +install -D -m 755 python/bwlimit $RPM_BUILD_ROOT/%{_sbindir}/bwlimit %check || : @@ -227,10 +231,15 @@ rm -rf $RPM_BUILD_ROOT 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" +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" +f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers "$f" + +%_sbindir/setattr --barrier /vservers /vservers/.pkg || : -%_sbindir/setattr --barrier /vservers || : + +%preun +test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || : # add /bin/vsh to list of secure shells if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then @@ -268,7 +277,7 @@ fi #test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : -%triggerin build -- fedora-release +%triggerin build -- fedora-release, centos-release function copy() { base=$1 @@ -283,6 +292,16 @@ function copy() } copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-* copy fedora /etc/pki/rpm-gpg/RPM-GPG-* +copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-* + + +%post build +test -d /vservers/.hash || mkdir -m0700 /vservers/.hash + +f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \ + ln -s /vservers/.hash "$f"/00 + +%_sbindir/setattr --barrier /vservers/.hash || : %preun build @@ -335,9 +354,11 @@ done %dir %confdefaultdir/apps %dir %confdefaultdir/files %dir %pkglibdir/defaults +%ghost %confdefaultdir/cachebase %ghost %confdefaultdir/vdirbase %ghost %confdefaultdir/run.rev +%dir %_localstatedir/cache/vservers %dir %_localstatedir/run/vservers %dir %_localstatedir/run/vservers.rev %dir %_localstatedir/run/vshelper @@ -375,12 +396,120 @@ done %doc lib/apidoc/html +%post python +pushd %{_datadir}/%{name} >/dev/null + +# Byte compile and install modules +py_modules= +for file in *.py ; do + if [ -n "$py_modules" ] ; then + py_modules="$py_modules," + fi + py_modules="$py_modules '${file%*.py}'" +done +%define setup %{__python} -c "from distutils.core import setup; setup(py_modules=[$py_modules])" +%{setup} build +%{setup} install + +# Install the prebuilt extensions by hand +python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") +install -D -m 755 *.so "$python_sitelib"/ + +popd + + +%triggerpostun python -- util-vserver-python, util-vserver-py23 +# RPMs get upgraded by installing the new one, then uninstalling the +# old one. Since we no longer own the byte-compiled modules, they may +# be removed right after we create them in %post if we are upgraded +# from a version that did own them at one point. This section should +# be removed once all packages have been upgraded to at least this +# version. +pushd %{_datadir}/%{name} >/dev/null + +# Byte compile and install modules +py_modules= +for file in *.py ; do + if [ -n "$py_modules" ] ; then + py_modules="$py_modules," + fi + py_modules="$py_modules '${file%*.py}'" +done +%define setup %{__python} -c "from distutils.core import setup; setup(py_modules=[$py_modules])" +%{setup} build +%{setup} install + +# Install the prebuilt extensions by hand +python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") +install -D -m 755 *.so "$python_sitelib"/ + +popd + + +%preun python +# 0 = erase, 1 = upgrade +if [ $1 -eq 0 ] ; then + python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") + pushd %{_datadir}/%{name} >/dev/null + for file in *.py *.so ; do + rm -f "$python_sitelib"/${file}* + done + popd +fi + + %files python -%defattr(0644,root,root) -%_libdir/python2.3/site-packages/* +%{_datadir}/%{name} +%{_sbindir}/bwlimit %changelog +* Fri Feb 17 2006 Steve Muir +- add support for setting guaranteed CPU share flag in rspec + +* Sun Jan 22 2006 Enrico Scholz - 0.30.210-0 +- do not require 'xalan' anymore by default +- removed 'Requires: apt'; apt-rpm is not maintained upstream anymore +- removed 'chattr' leftovers +- create the '/etc/vservers/.defaults/cachebase' symlink +- added /var/cache/vservers and the needed support +- set barrier attribute on /vservers/.pkg and /vservers/.hash +- added 'centos-release' to the list of packages in the copy-the-keys + trigger script +- create '/vservers/.hash' and add initial configuration for it + +* Fri Jan 13 2006 Steve Muir +- fix bug in python/vserverimpl.c where attempting to adjust CPU share + for a context that didn't exist would cause an error (it should be a + safe no-op) + +* Fri Dec 2 2005 Steve Muir +- fix bugs in python/vserverimpl.c where exceptions were not raised when + they should be and thus occured later at unexpected times +- add support for stopping a vserver + +* Wed Nov 9 2005 Steve Muir +- add support for removing resource limits e.g., when a slice is deleted + +* Mon Nov 7 2005 Steve Muir +- fix file descriptor leak in vduimpl +- clean up handling of network parameters +- don't rely upon /etc/vservers/foo.conf to initialise vserver object + +* Wed Nov 2 2005 Steve Muir +- fix Python modules to handling scheduling parameters correctly + +* Sun Oct 30 2005 Enrico Scholz - 0:0.30.209-0 +- version 0.30.209 +- copy centos keys + +* Fri Oct 28 2005 Steve Muir +- raise exception about being over disk limit after setting usage values + +* Fri Oct 7 2005 Steve Muir +- create common function to be used for entering a vserver and applying + resource limits + * Thu Aug 21 2005 Mark Huang - restore build of python modules @@ -396,7 +525,11 @@ done * Thu Jul 21 2005 Steve Muir - add bwlimit and cpulimit modules +* Sat Jul 16 2005 Enrico Scholz - 0:0.30.208-2 +- updated URLs + * Fri Jul 15 2005 Enrico Scholz - 0:0.30.208-1 +- version 0.30.208 - require the -lib subpackage by -devel - copy GPG keys from /etc/pki/rpm-gpg/