Since we're moving the queue entries into the queue directory for
[invirt/packages/invirt-dev.git] / invirtibuilder
index 4849bee..ff82d4e 100755 (executable)
@@ -7,7 +7,7 @@ attempts to build a particular package.
 
 If the build succeeds, the new version of the package is uploaded to
 the apt repository, tagged in its git repository, and the Invirt
 
 If the build succeeds, the new version of the package is uploaded to
 the apt repository, tagged in its git repository, and the Invirt
-superrepo is updated to point at the new version.
+superproject is updated to point at the new version.
 
 If the build fails, the Invirtibuilder sends mail with the build log.
 
 
 If the build fails, the Invirtibuilder sends mail with the build log.
 
@@ -173,19 +173,19 @@ def uploadBuild(pocket, workdir):
                        changes])
 
 
                        changes])
 
 
-def updateSuperrepo(pocket, package, commit, principal):
-    """Update the superrepo.
+def updateSuperproject(pocket, package, commit, principal):
+    """Update the superproject.
 
     This will create a new commit on the branch for the given pocket
     that sets the commit for the package submodule to commit.
 
     Note that there's no locking issue here, because we disallow all
 
     This will create a new commit on the branch for the given pocket
     that sets the commit for the package submodule to commit.
 
     Note that there's no locking issue here, because we disallow all
-    pushes to the superrepo.
+    pushes to the superproject.
     """
     """
-    superrepo = os.path.join(b._REPO_DIR, 'invirt/packages.git')
+    superproject = os.path.join(b._REPO_DIR, 'invirt/packages.git')
     branch = b.pocketToGit(pocket)
     tree = c.captureOutput(['git', 'ls-tree', branch],
     branch = b.pocketToGit(pocket)
     tree = c.captureOutput(['git', 'ls-tree', branch],
-                         cwd=superrepo)
+                         cwd=superproject)
 
     new_tree = re.compile(
         r'^(160000 commit )[0-9a-f]*(\t%s)$' % package, re.M).sub(
 
     new_tree = re.compile(
         r'^(160000 commit )[0-9a-f]*(\t%s)$' % package, re.M).sub(
@@ -193,7 +193,7 @@ def updateSuperrepo(pocket, package, commit, principal):
         tree)
 
     new_tree_id = c.captureOutput(['git', 'mktree'],
         tree)
 
     new_tree_id = c.captureOutput(['git', 'mktree'],
-                                cwd=superrepo,
+                                cwd=superproject,
                                 stdin_str=new_tree)
 
     commit_msg = ('Update %s to version %s\n\n'
                                 stdin_str=new_tree)
 
     commit_msg = ('Update %s to version %s\n\n'
@@ -202,13 +202,13 @@ def updateSuperrepo(pocket, package, commit, principal):
                                        principal))
     new_commit = c.captureOutput(
         ['git', 'commit-tree', new_tree_hash, '-p', branch],
                                        principal))
     new_commit = c.captureOutput(
         ['git', 'commit-tree', new_tree_hash, '-p', branch],
-        cwd=superrepo,
+        cwd=superproject,
         env=env,
         stdin_str=commit_msg)
 
     c.captureOutput(
         ['git', 'update-ref', 'refs/heads/%s' % branch, new_commit],
         env=env,
         stdin_str=commit_msg)
 
     c.captureOutput(
         ['git', 'update-ref', 'refs/heads/%s' % branch, new_commit],
-        cwd=superrepo)
+        cwd=superproject)
 
 
 @contextlib.contextmanager
 
 
 @contextlib.contextmanager
@@ -329,8 +329,8 @@ def build():
                     tagSubmodule(pocket, package, commit, principal)
                     db.failed_stage = 'updating submodule branches'
                     updateSubmoduleBranch(pocket, package, commit)
                     tagSubmodule(pocket, package, commit, principal)
                     db.failed_stage = 'updating submodule branches'
                     updateSubmoduleBranch(pocket, package, commit)
-                    db.failed_stage = 'updating superrepo'
-                    updateSuperrepo(pocket, package, commit, principal)
+                    db.failed_stage = 'updating superproject'
+                    updateSuperproject(pocket, package, commit, principal)
                     db.failed_stage = 'uploading packages to apt repo'
                     uploadBuild(pocket, workdir)
 
                     db.failed_stage = 'uploading packages to apt repo'
                     uploadBuild(pocket, workdir)
 
@@ -353,10 +353,10 @@ def build():
 
 class Invirtibuilder(pyinotify.ProcessEvent):
     """Process inotify triggers to build new packages."""
 
 class Invirtibuilder(pyinotify.ProcessEvent):
     """Process inotify triggers to build new packages."""
-    def process_IN_CREATE(self, event):
-        """Handle a created file or directory.
+    def process_default(self, event):
+        """Handle an inotify event.
 
 
-        When an IN_CREATE event comes in, trigger the builder.
+        When an inotify event comes in, trigger the builder.
         """
         build()
 
         """
         build()
 
@@ -369,7 +369,8 @@ def main():
     invirtibuilder = Invirtibuilder()
     notifier = pyinotify.Notifier(watch_manager, invirtibuilder)
     watch_manager.add_watch(b._QUEUE_DIR,
     invirtibuilder = Invirtibuilder()
     notifier = pyinotify.Notifier(watch_manager, invirtibuilder)
     watch_manager.add_watch(b._QUEUE_DIR,
-                            pyinotify.EventsCodes.ALL_FLAGS['IN_CREATE'])
+                            pyinotify.EventsCodes.ALL_FLAGS['IN_CREATE'] |
+                            pyinotify.EventsCodes.ALL_FLAGS['IN_MOVED_TO'])
 
     # Before inotifying, run any pending builds; otherwise we won't
     # get notified for them.
 
     # Before inotifying, run any pending builds; otherwise we won't
     # get notified for them.