Resync zephyr-post-receive with upstream
[invirt/packages/invirt-dev.git] / invirt-build-conf
index 2966427..8df29d2 100755 (executable)
@@ -43,7 +43,7 @@ def main():
     build_handler = '/usr/bin/invirt-submit-build'
 
     for pocket in config.build.pockets:
-        acl = authz.expandAdmin(getattr(config.build.pockets, pocket).acl, None)
+        acl = authz.expandAdmin(getattr(config.build.pockets, pocket).acl)
         with atomic_write(acl_path(pocket)) as f:
             princs = [userToPrinc(a) for a in acl]
             print >>f, '\n'.join(princs)
@@ -53,13 +53,18 @@ def main():
         for pocket in config.build.pockets:
             print >>f, 'build %s %s %s' % (pocket, build_handler, acl_path(pocket))
 
-    os.rename(conf_name, '/etc/remctl/conf.d/build')
+    with atomic_write('/etc/remctl/acl/repo_admin') as f:
+        acl = authz.expandAdmin(config.build.repo_admin)
+        print >>f, '\n'.join(userToPrinc(a) for a in acl)
 
-    k5login_fd, k5login_name = tempfile.mkstemp()
-    k5login = os.fdopen(k5login_fd, 'r+')
-    print >>k5login, '\n'.join(all_devs)
+    with atomic_write('/etc/remctl/conf.d/repo_admin') as f:
+        print >>f, 'create repo /usr/bin/invirt-add-repo /etc/remctl/acl/repo_admin'
 
     with atomic_write(os.path.join(builder._REPO_DIR, '.k5login')) as f:
+        if 'repo_access' in config.build:
+            acl = authz.expandAdmin(config.build.repo_access)
+            princs = [userToPrinc(a) for a in acl]
+            all_devs.update(set(princs))
         print >>f, '\n'.join(all_devs)