From c640e32a4ddca24f34eaa5fd1337b75516eebcb2 Mon Sep 17 00:00:00 2001 From: John Vrbanac Date: Fri, 31 May 2013 11:33:45 -0500 Subject: [PATCH] Fixing sudo user issue with virtual environments. Change-Id: I828a17e6675c21a8eab0fc4f2afbd70487a5f83f --- setup.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index d930eb2e..772faf4d 100644 --- a/setup.py +++ b/setup.py @@ -70,6 +70,8 @@ setup( #'Programming Language :: Python :: 3.3', ) ) +# real_prefix should only be set under a virtualenv +using_virtualenv = hasattr(sys, 'real_prefix') ''' @todo: need to clean this up or do it with puppet/chef ''' # Default Config Options @@ -108,10 +110,14 @@ else: # Get uid and gid of the current user to set permissions (Linux/OSX only) if platform.system().lower() != 'windows': - sudo_user = os.getenv("SUDO_USER") - uid = pwd.getpwnam(sudo_user).pw_uid - gid = pwd.getpwnam(sudo_user).pw_gid - + if using_virtualenv: + working_user = os.getenv("USER") + else: + working_user = os.getenv("SUDO_USER") + + uid = pwd.getpwnam(working_user).pw_uid + gid = pwd.getpwnam(working_user).pw_gid + config_dirs = os.listdir("configs") for dir in config_dirs: if not os.path.exists("{0}/{1}".format(config_dir, dir)):