prelude-correlator/master: Fix configuration and /var/lib directory in case installation prefix is "/usr"

[email protected] Thu, 9 Jul 2009 17:57:28 +0200 (CEST)
Newsgroups gmane.comp.security.ids.prelude.cvs
Message-ID <[email protected]>
commit 8efd56a7635f69b2a40fb52961d1a519fda3026f
Author: Yoann Vandoorselaere <[email protected]>
Date:   Thu Jul 9 16:11:21 2009 +0200

    Fix configuration and /var/lib directory in case installation prefix is "/usr"


========================================

 setup.py |   38 ++++++++++++++++++++++++++++----------
 1 files changed, 28 insertions(+), 10 deletions(-)

========================================

diff --git a/setup.py b/setup.py
index f3f791f..886fe6e 100644
--- a/setup.py
+++ b/setup.py
@@ -21,22 +21,40 @@ class my_sdist(sdist):
                 sdist.__init__(self, *args)
 
 class my_install(install):
-        def run(self):
-                if self.prefix:
-                        self.conf_prefix = self.prefix + "/etc/prelude-correlator"
+        def __install_data(self):
+                data_files = self.distribution.data_files
+                self.distribution.data_files = []
+
+                if self.prefix == "/usr":
+                        prefix = "/"
                 else:
-                        self.conf_prefix = "/etc/prelude-correlator"
+                        prefix = self.prefix or ""
+
+                root = self.root or ""
+                for dir, files in data_files:
+                        dir = os.path.abspath(os.path.join(root, prefix, dir))
 
-                if not os.path.exists(self.prefix + "/var/lib/prelude-correlator"):
-                        os.makedirs(self.prefix + "/var/lib/prelude-correlator")
+                        self.mkpath(dir)
+                        for f in files:
+                                dest = os.path.join(dir, os.path.basename(f))
+                                if dest[-4:] == "conf" and os.path.exists(dest):
+                                        dest += "-dist"
+
+                                self.copy_file(f, dest)
+
+        def run(self):
+                prefix = self.prefix
+                if prefix == "/usr":
+                        prefix = ""
 
-                self.init_siteconfig()
+                self.init_siteconfig(prefix)
+                self.__install_data()
                 install.run(self)
 
-        def init_siteconfig(self):
+        def init_siteconfig(self, prefix):
                 config = open("PreludeCorrelator/siteconfig.py", "w")
-                print >> config, "conf_dir = '%s'" % os.path.abspath(self.conf_prefix)
-                print >> config, "lib_dir = '%s'" % os.path.abspath(self.prefix + "/var/lib/prelude-correlator")
+                print >> config, "conf_dir = '%s'" % os.path.abspath(prefix + "/etc/prelude-correlator")
+                print >> config, "lib_dir = '%s'" % os.path.abspath(prefix + "/var/lib/prelude-correlator")
                 print >> config, "libprelude_required_version = '%s'" % LIBPRELUDE_REQUIRED_VERSION
                 config.close()
 
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog