
On 10/30/2015 05:41 PM, Paulo Ricardo Paz Vital wrote:
On Fri, 2015-10-30 at 01:50 +0530, chandra@linux.vnet.ibm.com wrote:
From: chandrureddy <chandra@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()