From d72643fc2a1ee3fb598c27da5d27d9448d87a7ff Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Thu, 14 Mar 2019 13:18:43 -0400 Subject: [PATCH] Update plugin_staging to actually stage instead of symlink, since it no longer needs to be quite as fast (on startup). This will allow us to drop unnecessary trust rules from uwsgi static. --- scripts/plugin_staging.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/plugin_staging.py b/scripts/plugin_staging.py index bd4986801ec..908ae6d5599 100644 --- a/scripts/plugin_staging.py +++ b/scripts/plugin_staging.py @@ -7,7 +7,7 @@ import shutil GXY_ROOT = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir)) -def link_up_static(f): +def stage_static(f): src = os.path.join(GXY_ROOT, 'config/plugins', f) dest = os.path.join(GXY_ROOT, 'static/plugins', f) dest_parent = os.path.abspath(os.path.join(dest, os.pardir)) @@ -18,12 +18,14 @@ def link_up_static(f): else: shutil.rmtree(dest) elif not os.path.exists(dest_parent): - # Create parent dir structure to symlink directly to static. os.makedirs(dest_parent) try: - os.symlink(src, dest) + if os.path.isdir(src): + shutil.copytree(src, dest) + else: + shutil.copy(src, dest) except Exception: - print("Error symlinking '%s' to '%s'" % (src, dest)) + print("Error copying '%s' to '%s'" % (src, dest)) raise @@ -31,4 +33,4 @@ if __name__ == "__main__": # This is not awesome, but it's temporary, and it supports two-tier plugin static. for f in glob.glob(os.path.join(GXY_ROOT, 'config/plugins/*/*/static')) + glob.glob(os.path.join(GXY_ROOT, 'config/plugins/*/*/*/static')): f = os.path.relpath(f, os.path.join(GXY_ROOT, 'config/plugins')) - link_up_static(f) + stage_static(f)