oci: set XDG_RUNTIME_DIR to the runtime from GetRootlessRuntimeDir()

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #936
Approved by: rhatdan
This commit is contained in:
Giuseppe Scrivano 2018-06-20 12:21:36 +02:00 committed by Atomic Bot
parent 5ff90677c8
commit 4415bad6fe
2 changed files with 1 additions and 6 deletions

View File

@ -302,7 +302,7 @@ func (r *OCIRuntime) createOCIContainer(ctr *Container, cgroupParent string) (er
// 0, 1 and 2 are stdin, stdout and stderr
cmd.Env = append(r.conmonEnv, fmt.Sprintf("_OCI_SYNCPIPE=%d", 3))
cmd.Env = append(cmd.Env, fmt.Sprintf("_OCI_STARTPIPE=%d", 4))
cmd.Env = append(cmd.Env, fmt.Sprintf("XDG_RUNTIME_DIR=%s", os.Getenv("XDG_RUNTIME_DIR")))
cmd.Env = append(cmd.Env, fmt.Sprintf("XDG_RUNTIME_DIR=%s", GetRootlessRuntimeDir()))
if notify, ok := os.LookupEnv("NOTIFY_SOCKET"); ok {
cmd.Env = append(cmd.Env, fmt.Sprintf("NOTIFY_SOCKET=%s", notify))
}

View File

@ -177,10 +177,8 @@ var (
// GetRootlessRuntimeDir returns the runtime directory when running as non root
func GetRootlessRuntimeDir() string {
hasNoEnv := false
runtimeDir := os.Getenv("XDG_RUNTIME_DIR")
if runtimeDir == "" {
hasNoEnv = true
tmpDir := filepath.Join(os.TempDir(), "user", fmt.Sprintf("%d", os.Getuid()))
os.MkdirAll(tmpDir, 0700)
st, err := os.Stat(tmpDir)
@ -191,9 +189,6 @@ func GetRootlessRuntimeDir() string {
if runtimeDir == "" {
runtimeDir = filepath.Join(os.Getenv("HOME"), "rundir")
}
if hasNoEnv {
os.Setenv("XDG_RUNTIME_DIR", runtimeDir)
}
return runtimeDir
}