[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