[Kimchi-devel] [PATCH 3/4] Upgrade to Kimchi 2.0: change SPEC files to update objectstore content.

Paulo Ricardo Paz Vital pvital at linux.vnet.ibm.com
Wed Oct 28 18:06:09 UTC 2015


Aline,

I started the solution of this problems with the idea to add Kimchi
version on objectstore, but I though that these modifications are too
big to solve a simple question.

By adding Kimchi version on objectstore entries, I can solve this
problem on Wokd start-up, actually better, only when Kimchi plugin
loads, and then the solution can be used by any distro.

I'm gonna develop this again (still have my first modifications in a
local branch) and then submitt a V2 to ML.

Thanks and regards,
Paulo Vital


On Wed, 2015-10-28 at 10:34 -0200, Aline Manera wrote:
> This patch set only covers the scenario when user is 
> installing/upgrading Kimchi from a package.
> 
> We also need to think about users whom installed Kimchi using 
> make-install or even those running locally.
> 
> So to cover all installation types, I suggest to make a solution
> outside 
> SPEC files / build process.
> 
> As I suggested before, we can add a tag "version" to the objectstore 
> which reflects the Kimchi version.
> On server starts up, we verify the version and do the update if
> needed.
> 
> That way we make sure the user will get the update objectstore 
> independent on how he/she has installed it before.
> 
> What do you think about it?
> 
> Regards,
> Aline Manera
> 
> On 26/10/2015 17:16, pvital at linux.vnet.ibm.com wrote:
> > From: Paulo Vital <pvital at linux.vnet.ibm.com>
> > 
> > Changed the spec file to execute the script to update the content
> > of the
> > objectstore file after upgrade from Kimchi 1.5.1 (or previous
> > versions) to
> > the new Wok and Kimchi 2.0 RPM's.
> > 
> > Signed-off-by: Paulo Vital <pvital at linux.vnet.ibm.com>
> > ---
> >   src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in | 9
> > +++++++++
> >   src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in   | 7 +++++++
> >   2 files changed, 16 insertions(+)
> > 
> > diff --git a/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in
> > b/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in
> > index fbc59c4..e987856 100644
> > --- a/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in
> > +++ b/src/wok/plugins/kimchi/contrib/kimchi.spec.fedora.in
> > @@ -71,17 +71,26 @@ if [ $1 -eq 2 ]; then
> >       if [ -e %{_sharedstatedir}/kimchi/objectstore ] && [
> > $cur_version -lt 2 ]; then
> >           mkdir -p %{_tmppath}/kimchi
> >           cp %{_sharedstatedir}/kimchi/objectstore
> > %{_tmppath}/kimchi/
> > +        touch %{_tmppath}/kimchi/need_update
> >       fi
> >   fi
> > 
> > +
> >   %install
> >   rm -rf %{buildroot}
> >   make DESTDIR=%{buildroot} install
> > 
> > +# Install update_objectstore.py to execute update to Kimchi/Wok
> > version 2.0.0
> > +install -Dm 0744 contrib/update_objectstore.py
> > %{buildroot}%{_datadir}/wok/plugins/kimchi/utils/update_objectstore
> > .py
> > +
> > +
> >   %posttrans
> >   # Copy backup'ed objectstore file to correct place.
> >   if [ -e %{_tmppath}/kimchi/objectstore ]; then
> >       cp %{_tmppath}/kimchi/objectstore %{_sharedstatedir}/kimchi/
> > +    if [ -e %{_tmppath}/kimchi/need_update ]; then
> > +        python
> > %{_datadir}/wok/plugins/kimchi/utils/update_objectstore.py
> > +    fi
> >       rm -rf %{_tmppath}/kimchi
> >   fi
> > 
> > diff --git a/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in
> > b/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in
> > index 5346c17..571cb1f 100644
> > --- a/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in
> > +++ b/src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in
> > @@ -59,6 +59,7 @@ if [ $1 -eq 2 ]; then
> >       if [ -e %{_var}/lib/kimchi/objectstore ] && [ $cur_version 
> > -lt 2 ]; then
> >           mkdir -p %{_tmppath}/kimchi
> >           cp %{_var}/lib/kimchi/objectstore %{_tmppath}/kimchi/
> > +        touch %{_tmppath}/kimchi/need_update
> >       fi
> >   fi
> > 
> > @@ -66,10 +67,16 @@ fi
> >   rm -rf %{buildroot}
> >   make DESTDIR=%{buildroot} install
> > 
> > +# Install update_objectstore.py to execute update to Kimchi/Wok
> > version 2.0.0
> > +install -Dm 0744 contrib/update_objectstore.py
> > %{buildroot}%{_datadir}/wok/plugins/kimchi/utils/update_objectstore
> > .py
> > +
> >   %posttrans
> >   # Copy backup'ed objectstore file to correct place.
> >   if [ -e %{_tmppath}/kimchi/objectstore ]; then
> >       cp %{_tmppath}/kimchi/objectstore %{_var}/lib/kimchi/
> > +    if [ -e %{_tmppath}/kimchi/need_update ]; then
> > +        python
> > %{_datadir}/wok/plugins/kimchi/utils/update_objectstore.py
> > +    fi
> >       rm -rf %{_tmppath}/kimchi
> >   fi
> > 
> 




More information about the Kimchi-devel mailing list