libguestfs: Make sure timestamps aren't changed on the builder templates.
[goaljobs-goals.git] / libguestfs_upstream.ml
index 69928da..215772c 100644 (file)
@@ -91,7 +91,7 @@ and website_built version =
     echo %s > localenv
 
     # Copy in the builder/website templates.
-    cp $HOME/d/libguestfs/builder/website/*.xz builder/website/
+    cp -a $HOME/d/libguestfs/builder/website/*.xz builder/website/
 
     ./localconfigure
     make
@@ -132,8 +132,9 @@ and tarball_created version =
   let filename = sprintf "%s/tarballs/%s" buildtmp version.tarball in
   target (file_exists filename);
 
+  require (repo_up_to_date version.branch);
+
   let repodir = sprintf "%s/repos/%s-%s" buildtmp package version.branch in
-  require (directory_exists repodir);
 
   sh "
     cp -a %s libguestfs
@@ -166,8 +167,9 @@ and commit_tested branch commit =
   target (memory_exists key);
   onrun (fun () -> memory_set key "1");
 
+  require (repo_up_to_date branch);
+
   let repodir = sprintf "%s/repos/%s-%s" buildtmp package branch in
-  require (directory_exists repodir);
 
   sh "
     cp -a %s libguestfs
@@ -186,11 +188,14 @@ and commit_tested branch commit =
     (quote (libguestfs_localconfigure `Git))
     (quote libguestfs_localenv)
 
+and repo_up_to_date branch =
+  git_force branch
+
 let () =
   (* Add a periodic job to check for new git commits and test them. *)
   every libguestfs_query_mins minutes ~name:"new libguestfs commit" (
     fun () ->
-      git_force "master";
+      require (repo_up_to_date "master");
       let commit = git_latest_commit "master" in
       require (commit_tested "master" commit);
   );
@@ -198,7 +203,7 @@ let () =
   (* Periodic job to build new tarballs. *)
   every libguestfs_query_mins minutes ~name:"new libguestfs version" (
     fun () ->
-      git_force "master";
+      require (repo_up_to_date "master");
       let version = git_latest_version "master" in
       require (website_updated version)
   )