diff --git a/src/builder/b-nspawn.c b/src/builder/b-nspawn.c
index 7646e41..b0f1c2a 100644
--- a/src/builder/b-nspawn.c
+++ b/src/builder/b-nspawn.c
@@ -402,6 +402,7 @@ static const char * const runscript_first =
#endif
"export HOME=%s\n"
"export SAI_OVN=%s\n"
+ "export SAI_VN=%s\n"
"export SAI_PROJECT=%s\n"
"export SAI_REMOTE_REF=%s\n"
"export SAI_INSTANCE_IDX=%d\n"
@@ -411,7 +412,7 @@ static const char * const runscript_first =
"export SAI_LOGPROXY_TTY0=%s\n"
"export SAI_LOGPROXY_TTY1=%s\n"
"set -e\n"
- "cd %s/jobs/$SAI_OVN\n"
+ "cd %s/jobs/$SAI_VN\n"
"rm -rf build\n"
"%s < /dev/null\n"
"exit $?\n"
@@ -426,6 +427,7 @@ static const char * const runscript_next =
#endif
"export HOME=%s\n"
"export SAI_OVN=%s\n"
+ "export SAI_VN=%s\n"
"export SAI_PROJECT=%s\n"
"export SAI_REMOTE_REF=%s\n"
"export SAI_INSTANCE_IDX=%d\n"
@@ -435,7 +437,7 @@ static const char * const runscript_next =
"export SAI_LOGPROXY_TTY0=%s\n"
"export SAI_LOGPROXY_TTY1=%s\n"
"set -e\n"
- "cd %s/jobs/$SAI_OVN\n"
+ "cd %s/jobs/$SAI_VN\n"
"%s < /dev/null\n"
"exit $?\n"
;
@@ -449,6 +451,7 @@ static const char * const runscript_build =
#endif
"export HOME=%s\n"
"export SAI_OVN=%s\n"
+ "export SAI_VN=%s\n"
"export SAI_PROJECT=%s\n"
"export SAI_REMOTE_REF=%s\n"
"export SAI_INSTANCE_IDX=%d\n"
@@ -458,7 +461,7 @@ static const char * const runscript_build =
"export SAI_LOGPROXY_TTY0=%s\n"
"export SAI_LOGPROXY_TTY1=%s\n"
"set -e\n"
- "cd %s/jobs/$SAI_OVN/src\n"
+ "cd %s/jobs/$SAI_VN/src\n"
"%s < /dev/null\n"
"exit $?\n"
;
@@ -541,7 +544,7 @@ saib_spawn_script(struct sai_nspawn *ns)
n = lws_snprintf(st, sizeof(st),
script_template,
- builder.home, ns->fsm.ovname,
+ builder.home, ns->fsm.ovname, ns->inp_vn,
ns->project_name, ns->ref, ns->instance_ordinal,
ns->task->parallel ? ns->task->parallel : 1,
respath, ns->slp_control.sockpath,
diff --git a/src/builder/b-task.c b/src/builder/b-task.c
index 36197ab..a74fcd1 100644
--- a/src/builder/b-task.c
+++ b/src/builder/b-task.c
@@ -943,8 +943,12 @@ saib_ws_json_rx_builder(struct sai_plat_server *spm, const void *in, size_t len)
goto ebail;
}
+ memcpy(ns->inp_vn, ns->fsm.ovname, 4);
+ memcpy(ns->inp_vn + 4, ns->fsm.ovname + strlen(ns->fsm.ovname) - 4, 4);
+ ns->inp_vn[8] = '\0';
+
n += lws_snprintf(ns->inp + n, sizeof(ns->inp) - (unsigned int)n, "%s%c",
- ns->fsm.ovname, csep);
+ ns->inp_vn, csep);
lws_filename_purify_inplace(ns->inp);
if (mkdir(ns->inp, 0755) && errno != EEXIST) {
en = errno;
diff --git a/src/common/include/private.h b/src/common/include/private.h
index ac9ed4f..1b59f23 100644
--- a/src/common/include/private.h
+++ b/src/common/include/private.h
@@ -153,6 +153,7 @@ struct sai_nspawn {
lws_dll2_owner_t chunk_cache;
char inp[512];
+ char inp_vn[16];
char path[384];
char script_path[290];
char pending_mirror_log[128];