summaryrefslogtreecommitdiffstats
path: root/layman/action.py
diff options
context:
space:
mode:
Diffstat (limited to 'layman/action.py')
-rw-r--r--layman/action.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/layman/action.py b/layman/action.py
index 32802b7..d5bd032 100644
--- a/layman/action.py
+++ b/layman/action.py
@@ -24,7 +24,7 @@ __version__ = "$Id: action.py 312 2007-04-09 19:45:49Z wrobel $"
#
#-------------------------------------------------------------------------------
-import sys
+import os, sys
from layman.db import DB, RemoteDB
@@ -472,6 +472,15 @@ class Actions:
result = 0
+ # Set the umask
+ umask = config['umask']
+ try:
+ new_umask = int(umask, 8)
+ old_umask = os.umask(new_umask)
+ except Exception, error:
+ OUT.die('Failed setting to umask "' + umask + '"!\nError was: '
+ + str(error))
+
for i in self.actions:
OUT.debug('Checking for action', 7)
@@ -479,6 +488,8 @@ class Actions:
if i[0] in config.keys():
result += i[1](config).run()
+ # Reset umask
+ os.umask(old_umask)
if not result:
sys.exit(0)