
From: Paulo Vital <pvital@linux.vnet.ibm.com> With the new structure of Wok and Kimchi, the objectstore file is deleted when performing a upgrade from Kimchi 1.5.1 (or previous versions) to the new Wok and Kimchi 2.0 RPM's. This patch checks the current version of Kimchi, and if <= 1.5.1 it saves a copy of the current objectstore file in the beggining of Kimchi 2.0 installation and restore this file in the end of the process. Signed-off-by: Paulo Vital <pvital@linux.vnet.ibm.com> --- src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in | 16 ++++++++++++++++ src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in | 17 +++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in b/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in index d1e0046..fbc59c4 100644 --- a/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in +++ b/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in @@ -64,11 +64,27 @@ Web application to manage KVM/Qemu virtual machines %endif make +%pre +# Check if upgrading from Kimchi < 2 and copy the objectstore file. +if [ $1 -eq 2 ]; then + cur_version=$(rpm -qi kimchi | grep Version | cut -d ":" -f2 | cut -d "." -f1) + if [ -e %{_sharedstatedir}/kimchi/objectstore ] && [ $cur_version -lt 2 ]; then + mkdir -p %{_tmppath}/kimchi + cp %{_sharedstatedir}/kimchi/objectstore %{_tmppath}/kimchi/ + fi +fi %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install +%posttrans +# Copy backup'ed objectstore file to correct place. +if [ -e %{_tmppath}/kimchi/objectstore ]; then + cp %{_tmppath}/kimchi/objectstore %{_sharedstatedir}/kimchi/ + rm -rf %{_tmppath}/kimchi +fi + %clean rm -rf $RPM_BUILD_ROOT diff --git a/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in b/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in index 640ade9..5346c17 100644 --- a/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in +++ b/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in @@ -52,10 +52,27 @@ Web application to manage KVM/Qemu virtual machines %configure --with-spice-html5 make +%pre +# Check if upgrading from Kimchi < 2 and copy the objectstore file. +if [ $1 -eq 2 ]; then + cur_version=$(rpm -qi kimchi | grep Version | cut -d ":" -f2 | cut -d "." -f1) + if [ -e %{_var}/lib/kimchi/objectstore ] && [ $cur_version -lt 2 ]; then + mkdir -p %{_tmppath}/kimchi + cp %{_var}/lib/kimchi/objectstore %{_tmppath}/kimchi/ + fi +fi + %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install +%posttrans +# Copy backup'ed objectstore file to correct place. +if [ -e %{_tmppath}/kimchi/objectstore ]; then + cp %{_tmppath}/kimchi/objectstore %{_var}/lib/kimchi/ + rm -rf %{_tmppath}/kimchi +fi + %clean rm -rf $RPM_BUILD_ROOT -- 2.4.3