X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=util-vserver.spec.in;h=38f26695924675f8fc55e8eb04d36623761dff41;hb=7370d748ee384dd549f2947c60ebc9a647907d06;hp=d3fc04d9e265acd41126815bdcde517cdaa0e6c9;hpb=2094a2ebc9de3154eda9ae7992442bcd0e0dcf60;p=util-vserver.git diff --git a/util-vserver.spec.in b/util-vserver.spec.in index d3fc04d..38f2669 100644 --- a/util-vserver.spec.in +++ b/util-vserver.spec.in @@ -17,7 +17,7 @@ %define name @PACKAGE@ %define version @VERSION@ -%define release 10%{?pldistro:.%{pldistro}}%{?date:.%{date}} +%define release 15%{?pldistro:.%{pldistro}}%{?date:.%{date}} %define _without_dietlibc 1 %define _without_xalan 1 @@ -102,7 +102,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 @@ -211,7 +211,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 || : @@ -374,9 +377,71 @@ 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/python@PYTHON_VERSION@/site-packages/* +%{_datadir}/%{name} +%{_sbindir}/bwlimit %changelog