From 927851cf15ad90c9d326de5388c860ab9a463d94 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Wed, 26 Apr 2006 18:34:30 +0000 Subject: [PATCH] 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. --- util-vserver.spec | 28 ++++++++++++++++++++++++++++ util-vserver.spec.in | 28 ++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/util-vserver.spec b/util-vserver.spec index da4df85..20b864d 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -398,6 +398,34 @@ install -D -m 755 *.so "$python_sitelib"/ popd +%triggerpostun -- %{name} +# 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 diff --git a/util-vserver.spec.in b/util-vserver.spec.in index a16619d..78fad84 100644 --- a/util-vserver.spec.in +++ b/util-vserver.spec.in @@ -398,6 +398,34 @@ install -D -m 755 *.so "$python_sitelib"/ popd +%triggerpostun -- %{name} +# 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 -- 2.43.0