]> git.ipfire.org Git - people/jschlag/pbs.git/blobdiff - src/scripts/pakfire-build-service
Redesign mastering repositories
[people/jschlag/pbs.git] / src / scripts / pakfire-build-service
index 470af173fc5c9ce26818cd9842171763c7bf676d..83aceb674ebdeaee8e585be12302caca26c54609 100644 (file)
@@ -14,12 +14,18 @@ class Cli(object):
                self.backend = pakfire.buildservice.Backend(*args, **kwargs)
 
                self._commands = {
+                       # Check build dependencies
+                       "check-build-dependencies" : self.backend.jobqueue.check_build_dependencies,
+
                        # Run mirror check
                        "check-mirrors" : self.backend.mirrors.check,
 
                        # Cleanup files
                        "cleanup-files" : self.backend.cleanup_files,
 
+                       # Cleanup repositories
+                       "cleanup-repositories" : self.backend.repos.cleanup,
+
                        # Cleanup sessions
                        "cleanup-sessions" : self.backend.sessions.cleanup,
 
@@ -29,6 +35,9 @@ class Cli(object):
                        # Create test jobs
                        "create-test-jobs" : self.backend.jobqueue.create_test_jobs,
 
+                       # Dist
+                       "dist" : self.backend.sources.dist,
+
                        # List repository
                        "list-repository" : self._list_repository,
 
@@ -41,17 +50,22 @@ class Cli(object):
                        # Remaster Repositories
                        "remaster-repositories" : self.backend.repos.remaster,
 
+                       # Restart failed jobs
+                       "restart-failed-jobs" : self.backend.jobs.restart_failed,
+
                        # Send bug updates to Bugzilla
                        "send-bug-updates" : self.backend.bugzilla.send_all,
                }
 
        def __call__(self, *args):
-               if not len(args) >= 2:
+               # Parse tornado settings
+               args = tornado.options.parse_command_line(args)
+
+               if not len(args) >= 1:
                        print >>sys.stderr, "Insufficient number of arguments"
                        return 2
 
                args = list(args)
-               basename = args.pop(0)
                command  = args.pop(0)
 
                # Get called command
@@ -83,7 +97,8 @@ class Cli(object):
                # Iterate through all of it
                for build in repo:
                        for job in build:
-                               if not job.type == "build":
+                               # Skip all test jobs
+                               if job.test:
                                        continue
 
                                if not job.arch in (arch, "noarch"):