]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
config: local addons modules should be loaded first
authorJulien Fortin <julien@cumulusnetworks.com>
Thu, 6 Dec 2018 18:56:50 +0000 (10:56 -0800)
committerJulien Fortin <julien@cumulusnetworks.com>
Thu, 13 Dec 2018 23:18:17 +0000 (15:18 -0800)
ifupdown2 can be installed via apt/dpkg or via pypi (pip), those two installation methods have
two different installation directory. Our main installation dir is /usr/share/ifupdown2. This is
also were other scripts might add their own addon.
If ifupdown2 is installed via pypi we need to make sure we are loading the script-added addon modules

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
ifupdown2/ifupdown/config.py

index 5e2696f4bfed80e642b8d63b0b02d5732a6273c4..3a29ef9b4765d6aa6040c2254bd5cd75e3969052 100644 (file)
@@ -13,20 +13,14 @@ import resource
 
 IFUPDOWN2_ADDON_DROPIN_FOLDER = '/usr/share/ifupdown2/addons'
 
-# ifupdown2/core/config.py -> we need to use dirname twice.
-_ = {
-    IFUPDOWN2_ADDON_DROPIN_FOLDER,
-    '%s/addons' % (os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
-}
-
 try:
-    addon_module_dir_list = list(_)
-    if addon_module_dir_list[0] is not IFUPDOWN2_ADDON_DROPIN_FOLDER:
-        addon_module_dir_list.remove(IFUPDOWN2_ADDON_DROPIN_FOLDER)
-        ADDON_MODULES_DIR = [IFUPDOWN2_ADDON_DROPIN_FOLDER] + addon_module_dir_list
-    else:
-        ADDON_MODULES_DIR = addon_module_dir_list
-except:
+    # ifupdown2/ifupdown/config.py -> we need to use dirname twice.
+    ADDON_MODULES_DIR = ['%s/addons' % (os.path.dirname(os.path.dirname(os.path.realpath(__file__))))]
+
+    if ADDON_MODULES_DIR[0] != IFUPDOWN2_ADDON_DROPIN_FOLDER:
+        ADDON_MODULES_DIR.append(IFUPDOWN2_ADDON_DROPIN_FOLDER)
+except Exception as e:
+    print "debug: error resolving ifupdown2 addons module directory: %s" % str(e)
     ADDON_MODULES_DIR = [IFUPDOWN2_ADDON_DROPIN_FOLDER]
 
 __version__ = ''