X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=util-vserver.spec.in;h=38f26695924675f8fc55e8eb04d36623761dff41;hb=7370d748ee384dd549f2947c60ebc9a647907d06;hp=bfdb14fd10707ebe30d7cd1ddacfdf7beae95ce7;hpb=225e5c693e17be8a1562f0885286217ca2b322e3;p=util-vserver.git diff --git a/util-vserver.spec.in b/util-vserver.spec.in index bfdb14f..38f2669 100644 --- a/util-vserver.spec.in +++ b/util-vserver.spec.in @@ -17,11 +17,14 @@ %define name @PACKAGE@ %define version @VERSION@ -%define release 1.planetlab%{?date:.%{date}} +%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 @@ -30,7 +33,7 @@ URL: http://cvs.planet-lab.org/cvs/util-vserver Summary: Linux virtual server utilities Name: @PACKAGE@ Version: @VERSION@ -Release: %release_func 0 +Release: %{release} License: GPL Group: System Environment/Base #URL: http://savannah.nongnu.org/projects/util-vserver/ @@ -68,10 +71,6 @@ Requires: %name = %version-%release Requires(pre): %confdir Requires(postun): %confdir -%ifarch %ix86 -Requires: apt -%endif - %package sysv Summary: SysV-initscripts for vserver Group: System Environment/Base @@ -99,12 +98,11 @@ Group: Development/Libraries Requires: pkgconfig Requires: %name-lib = %version-%release -%if 0 -%package py23 +%package python Summary: Python modules for manipulating vservers Group: Applications/System -Requires: python %pkglibdir/util-vserver-vars util-python -%endif +Requires: python util-python +Obsoletes: util-vserver-py23 resman %description @@ -180,12 +178,10 @@ This package contains header files and libraries which are needed to develop VServer related applications. -%if 0 -%description py23 +%description python Python modules for manipulating vservers. Provides a superset of the functionality of the vserver script (at least will do in the future), but more readily accessible from Python code. -%endif %prep @@ -202,6 +198,7 @@ automake --add-missing %__make %{?_smp_mflags} all %__make %{?_smp_mflags} doc +%__make -C python %install rm -rf $RPM_BUILD_ROOT @@ -213,14 +210,15 @@ MANIFEST_CONFIG='%config' \ MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat -%if 0 -# build python bindings -%__make -C python INSTALL_ROOT=$RPM_BUILD_ROOT install -%endif +# install python bindings +%__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 || : -%__make check +#%__make check %clean @@ -379,22 +377,108 @@ done %doc lib/apidoc/html -%if 0 -%files py23 -%defattr(0644,root,root) -/usr/lib/python2.3/site-packages/bwlimit.py -/usr/lib/python2.3/site-packages/bwlimit.pyc -/usr/lib/python2.3/site-packages/cpulimit.py -/usr/lib/python2.3/site-packages/cpulimit.pyc -/usr/lib/python2.3/site-packages/util_vserver_vars.py -/usr/lib/python2.3/site-packages/vduimpl.so -/usr/lib/python2.3/site-packages/vserver.py -/usr/lib/python2.3/site-packages/vserver.pyc -/usr/lib/python2.3/site-packages/vserverimpl.so -%endif +%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 +%{_datadir}/%{name} +%{_sbindir}/bwlimit %changelog +* Fri Feb 17 2006 Steve Muir +- add support for setting guaranteed CPU share flag in rspec + +* 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 + +* 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 + * Sat Aug 20 2005 Mark Huang - upgrade to util-vserver-0.30.208 - forward-port vbuild and legacy support until we can find a suitable