61 lines
2.1 KiB
Diff
61 lines
2.1 KiB
Diff
From 224da46b2331b582577b86c3eb707f67d57800fb Mon Sep 17 00:00:00 2001
|
|
From: chengquan <chengquan3@huawei.com>
|
|
Date: Thu, 8 Aug 2019 16:15:31 +0800
|
|
Subject: [PATCH] cloud-init: add variable to forbid tmp dir
|
|
|
|
reason: add variable to forbid temporary directory
|
|
|
|
Signed-off-by: chengquan <chengquan3@huawei.com>
|
|
---
|
|
setup.py | 15 ++++-
|
|
1 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/setup.py b/setup.py
|
|
index bd02fac..a22737c 100755
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -75,6 +75,8 @@ def read_requires():
|
|
deps = subprocess.check_output(cmd)
|
|
return deps.decode('utf-8').splitlines()
|
|
|
|
+# add variable to forbid tmp dir
|
|
+num = 0
|
|
|
|
def render_tmpl(template, mode=None):
|
|
"""render template into a tmpdir under same dir as setup.py
|
|
@@ -96,7 +98,10 @@ def render_tmpl(template, mode=None):
|
|
return template
|
|
|
|
topdir = os.path.dirname(sys.argv[0])
|
|
- tmpd = tempfile.mkdtemp(dir=topdir, prefix=RENDERED_TMPD_PREFIX)
|
|
+ global num
|
|
+ os.mkdir(topdir + str(num))
|
|
+ tmpd = os.path.abspath(topdir + str(num))
|
|
+ num = num + 1
|
|
atexit.register(shutil.rmtree, tmpd)
|
|
bname = os.path.basename(template).rstrip(tmpl_ext)
|
|
fpath = os.path.join(tmpd, bname)
|
|
@@ -111,6 +116,10 @@ def render_tmpl(template, mode=None):
|
|
# return path relative to setup.py
|
|
return os.path.join(os.path.basename(tmpd), bname)
|
|
|
|
+def sort_files(file_list):
|
|
+ file_list.sort()
|
|
+ return file_list
|
|
+
|
|
# User can set the variant for template rendering
|
|
if '--distro' in sys.argv:
|
|
idx = sys.argv.index('--distro')
|
|
@@ -126,9 +135,9 @@ INITSYS_FILES = {
|
|
'sysvinit_openrc': [f for f in glob('sysvinit/gentoo/*') if is_f(f)],
|
|
'sysvinit_suse': [f for f in glob('sysvinit/suse/*') if is_f(f)],
|
|
'systemd': [render_tmpl(f)
|
|
- for f in (glob('systemd/*.tmpl') +
|
|
+ for f in sort_files((glob('systemd/*.tmpl') +
|
|
glob('systemd/*.service') +
|
|
- glob('systemd/*.target'))
|
|
+ glob('systemd/*.target')))
|
|
if (is_f(f) and not is_generator(f))],
|
|
'systemd.generators': [
|
|
render_tmpl(f, mode=0o755)
|