[copr] skvidal-backend: make sure we're using whatever current umask is and we don't force into lesser levels (6d065fa)

skvidal at fedoraproject.org skvidal at fedoraproject.org
Wed Dec 5 22:09:21 UTC 2012


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : skvidal-backend

>---------------------------------------------------------------

commit 6d065fa3965f0974cdc57b6d9a54f4a7205f56bf
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Wed Dec 5 17:06:37 2012 -0500

    make sure we're using whatever current umask is and we don't force into lesser levels


>---------------------------------------------------------------

 backend/dispatcher.py |    2 +-
 copr-be.py            |    6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/backend/dispatcher.py b/backend/dispatcher.py
index 16e0825..b9c1251 100644
--- a/backend/dispatcher.py
+++ b/backend/dispatcher.py
@@ -216,7 +216,7 @@ class Worker(multiprocessing.Process):
                 # setup our target dir locally
                 if not os.path.exists(chroot_destdir):
                     try:
-                        os.makedirs(chroot_destdir, mode=0755)
+                        os.makedirs(chroot_destdir)
                     except (OSError, IOError), e:
                         msg = "Could not make results dir for job: %s - %s" % (chroot_destdir, str(e))
                         self.callback.log(msg)
diff --git a/copr-be.py b/copr-be.py
index 9cd2bba..bd26444 100644
--- a/copr-be.py
+++ b/copr-be.py
@@ -145,12 +145,15 @@ def daemonize(pidfile=None):
     Writes the new PID to the provided file name if not None.
     """
 
+    cur_umask = os.umask(077)
+    os.umask(cur_umask)
+    
     pid = os.fork()
     if pid > 0:
         sys.exit(0)
     os.chdir("/")
     os.setsid()
-    os.umask(077)
+    os.umask(cur_umask)
     pid = os.fork()
 
     os.close(0)
@@ -223,6 +226,7 @@ if __name__ == '__main__':
         main(sys.argv[1:])
     except Exception, e:
         print "ERROR:  %s - %s" % (str(type(e)), str(e))
+        # FIXME - maybe check on daemonize and do this as a syslog.syslog() call?
         sys.exit(1)
     except KeyboardInterrupt, e:
         print "\nUser cancelled, may need cleanup\n"



More information about the copr-devel mailing list