Apparently the situation is much more complicated in newer versions, so
until someone more knowledgable can help, don't try to determine
superuser status there.
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
return os.getenv("FAKEROOTKEY") != None
+_warned_about_superuser_detection = None
def is_superuser():
if sys.platform.startswith('cygwin'):
+ if sys.getwindowsversion()[0] > 5:
+ # Sounds like situation is much more complicated here
+ global _warned_about_superuser_detection
+ if not _warned_about_superuser_detection:
+ log("can't detect root status for OS version > 5; assuming not root")
+ _warned_about_superuser_detection = True
+ return False
import ctypes
return ctypes.cdll.shell32.IsUserAnAdmin()
else:
"""
# end of bup preamble
+from sys import stderr
import sys
+
if sys.platform.startswith('cygwin'):
+ if sys.getwindowsversion()[0] > 5:
+ # Sounds like the situation is much more complicated here
+ print >> stderr, "can't detect root status for OS version > 5; assuming not root"
+ print 'none'
import ctypes
if ctypes.cdll.shell32.IsUserAnAdmin():
print 'root'