[Kimchi-devel] [PATCH 1/2] Fix Issue #744 - gingerbase: objectstore issues
Chandra Shehkhar Reddy Potula
chandra at linux.vnet.ibm.com
Fri Oct 30 12:25:59 UTC 2015
On 10/30/2015 05:41 PM, Paulo Ricardo Paz Vital wrote:
> On Fri, 2015-10-30 at 01:50 +0530, chandra at linux.vnet.ibm.com wrote:
>> From: chandrureddy <chandra at linux.vnet.ibm.com>
>>
>> plug in path for gingerbase been changed to /var/lib/gingerbase
>> Fix issue 'unable to open database file' in root.py and gingerbase.py
>> ---
>> src/wok/plugins/gingerbase/Makefile.am | 18 ++++++++++--------
>> src/wok/plugins/gingerbase/config.py.in | 6 +++---
>> src/wok/plugins/gingerbase/gingerbase.conf | 2 +-
>> src/wok/plugins/gingerbase/gingerbase.py | 16 ++++++++--------
>> src/wok/plugins/kimchi/root.py | 18 +++++++++---------
>> 5 files changed, 31 insertions(+), 29 deletions(-)
>>
>> diff --git a/src/wok/plugins/gingerbase/Makefile.am
>> b/src/wok/plugins/gingerbase/Makefile.am
>> index 99a69df..533cdf8 100644
>> --- a/src/wok/plugins/gingerbase/Makefile.am
>> +++ b/src/wok/plugins/gingerbase/Makefile.am
>> @@ -31,6 +31,9 @@ gingerbasedir = $(pythondir)/wok/plugins/gingerbase
>> confdir = $(sysconfdir)/wok/plugins.d
>> dist_conf_DATA = gingerbase.conf
>>
>> +name=ginger-base
>> +distdir=$(name)-$(PACKAGE_VERSION)
>> +
>> AUTOMAKE_OPTIONS = foreign
>>
>> ACLOCAL_AMFLAGS = --install -I m4
>> @@ -80,8 +83,8 @@ do_substitution = \
>> -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
>> -e 's,[@]wokdir[@],$(wokdir),g' \
>> -e 's,[@]gingerbasedir[@],$(gingerbasedir),g' \
>> - -e 's,[@]kimchiversion[@],$(PACKAGE_VERSION),g' \
>> - -e 's,[@]kimchirelease[@],$(PACKAGE_RELEASE),g' \
>> + -e 's,[@]gingerbaseversion[@],$(PACKAGE_VERSION),g' \
>> + -e 's,[@]gingerbaserelease[@],$(PACKAGE_RELEASE),g' \
>> -e 's,[@]withspice[@],$(WITH_SPICE),g'
>>
>> config.py: config.py.in Makefile
>> @@ -94,8 +97,8 @@ config.py: config.py.in Makefile
>>
>> install-deb: install
>> cp -R $(top_srcdir)/contrib/DEBIAN $(DESTDIR)/
>> - mkdir -p $(DESTDIR)/$(localstatedir)/lib/kimchi
>> - mkdir -p $(DESTDIR)/$(localstatedir)/lib/kimchi/debugreports
>> + mkdir -p $(DESTDIR)/$(localstatedir)/lib/gingerbase
>> + mkdir -p
>> $(DESTDIR)/$(localstatedir)/lib/gingerbase/debugreports
>>
>>
>> deb: contrib/make-deb.sh
>> @@ -131,18 +134,17 @@ ChangeLog:
>> fi
>>
>> install-data-local:
>> - $(MKDIR_P) $(DESTDIR)/$(localstatedir)/lib/kimchi/
>> + $(MKDIR_P) $(DESTDIR)/$(localstatedir)/lib/gingerbase/
>> $(MKDIR_P) $(DESTDIR)$(gingerbasedir)
>> $(INSTALL_DATA) API.json $(DESTDIR)$(gingerbasedir)/API.json
>> - mkdir -p $(DESTDIR)/$(localstatedir)/lib/kimchi/debugreports
>> + mkdir -p
>> $(DESTDIR)/$(localstatedir)/lib/gingerbase/debugreports
>>
>> uninstall-local:
>> @if test -f
>> $(DESTDIR)/etc/systemd/system/wokd.service.d/gingerbase.conf; then \
>> $(RM)
>> $(DESTDIR)/etc/systemd/system/wokd.service.d/gingerbase.conf; \
>> fi; \
>> $(RM) $(DESTDIR)$(gingerbasedir)/API.json
>> - $(RM) -rf
>> $(DESTDIR)/$(localstatedir)/lib/kimchi/debugreports
>> - $(RM) -rf
>> $(DESTDIR)/$(localstatedir)/lib/kimchi/objectstore_gingerbase
>> + $(RM) -rf $(DESTDIR)/$(localstatedir)/lib/gingerbase
> I don't recomment to delete the whole directory. If you want to keep
> some special file, you will lose with this command. My suggestion is
> keep only removing the directories inside it.
>
I am fine doing this. I observed that this is the same case for plugin
kimchi as well. we have to take care there too !!
>> VERSION:
>> @if test -d .git; then \
>> diff --git a/src/wok/plugins/gingerbase/config.py.in
>> b/src/wok/plugins/gingerbase/config.py.in
>> index 922c914..9d911da 100644
>> --- a/src/wok/plugins/gingerbase/config.py.in
>> +++ b/src/wok/plugins/gingerbase/config.py.in
>> @@ -27,12 +27,12 @@ gingerBaseLock = threading.Lock()
>>
>>
>> def get_debugreports_path():
>> - return os.path.join('/var/lib/kimchi', 'debugreports')
>> + return os.path.join(PluginPaths('gingerbase').conf_dir,
>> 'debugreports')
>>
>>
>> def get_object_store():
>> - return os.path.join('/var/lib/kimchi',
>> - 'objectstore' + '_gingerbase')
>> + return os.path.join(PluginPaths('gingerbase').state_dir,
>> + 'objectstore_gingerbase')
>>
>>
>> class GingerBasePaths(PluginPaths):
>> diff --git a/src/wok/plugins/gingerbase/gingerbase.conf
>> b/src/wok/plugins/gingerbase/gingerbase.conf
>> index cbe3358..560e38b 100644
>> --- a/src/wok/plugins/gingerbase/gingerbase.conf
>> +++ b/src/wok/plugins/gingerbase/gingerbase.conf
>> @@ -20,7 +20,7 @@ tools.wokauth.on = True
>>
>> [/data/debugreports]
>> tools.staticdir.on = True
>> -tools.staticdir.dir = '/var/lib/kimchi/debugreports'
>> +tools.staticdir.dir =
>> wok.config.PluginPaths('gingerbase').state_dir + '/debugreports'
>> tools.nocache.on = False
>> tools.wokauth.on = True
>> tools.staticdir.content_types = {'xz': 'application/x-xz'}
>> diff --git a/src/wok/plugins/gingerbase/gingerbase.py
>> b/src/wok/plugins/gingerbase/gingerbase.py
>> index 0d3709e..bca1503 100644
>> --- a/src/wok/plugins/gingerbase/gingerbase.py
>> +++ b/src/wok/plugins/gingerbase/gingerbase.py
>> @@ -29,6 +29,14 @@ from wok.root import WokRoot
>>
>> class GingerBase(WokRoot):
>> def __init__(self, wok_options):
>> + make_dirs = [
>> +
>> os.path.dirname(os.path.abspath(config.get_object_store())),
>> + os.path.abspath(config.get_debugreports_path())
>> + ]
>> + for directory in make_dirs:
>> + if not os.path.isdir(directory):
>> + os.makedirs(directory)
>> +
>> if hasattr(wok_options, "model"):
>> self.model = wok_options.model
>> elif wok_options.test:
>> @@ -48,13 +56,5 @@ class GingerBase(WokRoot):
>> self.domain = 'gingerbase'
>> self.messages = messages
>>
>> - make_dirs = [
>> -
>> os.path.dirname(os.path.abspath(config.get_object_store())),
>> - os.path.abspath(config.get_debugreports_path())
>> - ]
>> - for directory in make_dirs:
>> - if not os.path.isdir(directory):
>> - os.makedirs(directory)
>> -
>> def get_custom_conf(self):
>> return config.GingerBaseConfig()
>> diff --git a/src/wok/plugins/kimchi/root.py
>> b/src/wok/plugins/kimchi/root.py
>> index 44452b4..37da8b3 100644
>> --- a/src/wok/plugins/kimchi/root.py
>> +++ b/src/wok/plugins/kimchi/root.py
> Don't this path solving only gingerbase isseu?
> I recommend send a different patch solvinf the kimchi issue. Remember
> that in the near future, Wok, Kimchi and GingerBase will be in
> different repositories each one.
>
Will not fix root.py in my patches. Rather will provide a different patch
>> @@ -30,6 +30,15 @@ from wok.root import WokRoot
>>
>> class KimchiRoot(WokRoot):
>> def __init__(self, wok_options):
>> + make_dirs = [
>> +
>> os.path.dirname(os.path.abspath(config.get_object_store())),
>> + os.path.abspath(config.get_distros_store()),
>> + os.path.abspath(config.get_screenshot_path())
>> + ]
>> + for directory in make_dirs:
>> + if not os.path.isdir(directory):
>> + os.makedirs(directory)
>> +
>> if hasattr(wok_options, "model"):
>> self.model = wok_options.model
>> elif wok_options.test:
>> @@ -53,14 +62,5 @@ class KimchiRoot(WokRoot):
>> self.domain = 'kimchi'
>> self.messages = messages
>>
>> - make_dirs = [
>> -
>> os.path.dirname(os.path.abspath(config.get_object_store())),
>> - os.path.abspath(config.get_distros_store()),
>> - os.path.abspath(config.get_screenshot_path())
>> - ]
>> - for directory in make_dirs:
>> - if not os.path.isdir(directory):
>> - os.makedirs(directory)
>> -
>> def get_custom_conf(self):
>> return config.KimchiConfig()
More information about the Kimchi-devel
mailing list