commit 282809090aff18f93106158206dd1b222055b3ff
Author: Yoann Vandoorselaere <[email protected]>
Date: Tue May 19 10:51:05 2009 +0200
Check libprelude and libpreludedb version, and require an upgrade if necessary.
If the installed libprelude or libpreludedb version is too old, Prewikka
will require the user to upgrade. Currently, Prewikka depend on libpreludedb
0.9.12, and libprelude 0.9.23 (unreleased yet).
========================================
prewikka/Core.py | 17 ++++++++++++++++-
setup.py | 4 ++++
2 files changed, 20 insertions(+), 1 deletions(-)
========================================
diff --git a/prewikka/Core.py b/prewikka/Core.py
index 5fea394..ed2f42c 100644
--- a/prewikka/Core.py
+++ b/prewikka/Core.py
@@ -18,7 +18,7 @@
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
import os, copy, time
-import preludedb, CheetahFilters
+import prelude, preludedb, CheetahFilters
import prewikka.views
from prewikka import view, Config, Log, Database, IDMEFDatabase, \
@@ -121,6 +121,15 @@ def get_core_from_config(path, threaded=False):
class Core:
+ def _checkVersion(self):
+ self._prelude_version_error = None
+
+ if not prelude.prelude_check_version(siteconfig.libprelude_required_version):
+ self._prelude_version_error = "Prewikka %s require libprelude %s or higher" % (siteconfig.version, siteconfig.libprelude_required_version)
+
+ elif not preludedb.preludedb_check_version(siteconfig.libpreludedb_required_version):
+ self._prelude_version_error = "Prewikka %s require libpreludedb %s or higher" % (siteconfig.version, siteconfig.libpreludedb_required_version)
+
def __init__(self, config=None):
class Env: pass
self._env = Env()
@@ -137,6 +146,8 @@ class Core:
preludedb.preludedb_init()
+ self._checkVersion()
+
self._database_schema_error = None
try:
self._initDatabase()
@@ -315,7 +326,11 @@ class Core:
login = None
view = None
user = None
+
try:
+ if self._prelude_version_error:
+ raise Error.PrewikkaUserError("Version Requirement error", self._prelude_version_error)
+
if self._database_schema_error != None:
raise Error.PrewikkaUserError("Database error", self._database_schema_error)
diff --git a/setup.py b/setup.py
index 744228d..950bab8 100644
--- a/setup.py
+++ b/setup.py
@@ -37,6 +37,8 @@ from Cheetah.CheetahWrapper import CheetahWrapper
PREWIKKA_VERSION = "0.9.14"
+LIBPRELUDE_REQUIRED_VERSION = "0.9.23"
+LIBPRELUDEDB_REQUIRED_VERSION = "0.9.12"
from fnmatch import fnmatch
from distutils.dep_util import newer
@@ -178,6 +180,8 @@ class my_install(install):
print >> config, "locale_dir = '%s'" % os.path.abspath((self.prefix + "/share/locale"))
print >> config, "conf_dir = '%s'" % os.path.abspath((self.conf_prefix))
print >> config, "version = '%s'" % PREWIKKA_VERSION
+ print >> config, "libprelude_required_version = '%s'" % LIBPRELUDE_REQUIRED_VERSION
+ print >> config, "libpreludedb_required_version = '%s'" % LIBPRELUDEDB_REQUIRED_VERSION
config.close()
def run(self):
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.