On Fri, 2015-10-30 at 01:50 +0530, chandra(a)linux.vnet.ibm.com wrote:
From: chandrureddy <chandra(a)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.
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.
@@ -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()