Make F22 and F23 follow 1.30
[goaljobs-goals.git] / libguestfs_upstream.ml
index 69928da..dd69b25 100644 (file)
@@ -39,7 +39,7 @@ let rec goal website_updated version =
   if not version.is_stable then
     require (website_built version);
 
-  require (website_cvs_checked_in version);
+  require (website_checked_in version);
   require (website_rsync_done version)
 
 (* Goal: website has been rsync'd. *)
@@ -50,11 +50,11 @@ and website_rsync_done version =
   sh "
     cd %s
     ./.rsync
-  " libguestfs_website_cvs
+  " libguestfs_website_repo
 
-(* Goal: Tarball added to CVS and CVS checked in. *)
-and website_cvs_checked_in version =
-  let key = sprintf "libguestfs_website_cvs_checked_in_%s" version.version in
+(* Goal: Tarball added to repository and checked in. *)
+and website_checked_in version =
+  let key = sprintf "libguestfs_website_checked_in_%s" version.version in
   target (memory_exists key);
   onrun (fun () -> memory_set key "1");
 
@@ -64,16 +64,17 @@ and website_cvs_checked_in version =
   sh "
     cd %s
     cp %s/tarballs/%s %s
-    cvs add -kb %s
-    cvs ci -m \"Version %s\"
-  " libguestfs_website_cvs
+    git add %s
+    git add *.txt *.html
+    git commit -m \"Version %s\"
+  " libguestfs_website_repo
     buildtmp version.tarball version.urlpath
     version.urlpath
     version.version
 
 (* Goal: website (local copy) has been built. *)
 and website_built version =
-  let index_file = sprintf "%s/index.html" libguestfs_website_cvs in
+  let index_file = sprintf "%s/index.html" libguestfs_website_repo in
   target (file_contains_string index_file version.version);
 
   require (tarball_created version);
@@ -90,16 +91,14 @@ and website_built version =
     chmod +x localconfigure
     echo %s > localenv
 
-    # Copy in the builder/website templates.
-    cp $HOME/d/libguestfs/builder/website/*.xz builder/website/
-
     ./localconfigure
-    make
-    make website
+    make V=1
+    make website WEBSITEDIR=%s
   " buildtmp version.tarball
     version.package_version
     (quote (libguestfs_localconfigure `Tarball))
-    (quote libguestfs_localenv)
+    (quote (libguestfs_localenv (supermin version)))
+    (quote libguestfs_website_repo)
 
 (* Goal: the tarball has passed the required set of tests before
  * a release is allowed.
@@ -120,20 +119,21 @@ and tarball_tested version =
     echo %s > localenv
 
     ./localconfigure
-    make
+    make V=1
     make check-release
   " buildtmp version.tarball
     version.package_version
     (quote (libguestfs_localconfigure `Tarball))
-    (quote libguestfs_localenv)
+    (quote (libguestfs_localenv (supermin version)))
 
 (* Goal: the tarball has been created from git. *)
 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
@@ -145,13 +145,25 @@ and tarball_created version =
     echo %s > localenv
 
     ./localconfigure
-    make
+
+    # Ensure the po-docs are updated.  Grrr this is ugly ...
+    make ||:
+    rm po-docs/podfiles
+    make -C po-docs update-po
+
+    make V=1
     make dist
+
+    # Ensure redhat hardening flags didn't leak into the tarball.
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1214506
+    if zcat %s | grep -q redhat-hardened; then exit 1; fi
+
     mv %s %s/tarballs/%s
   " repodir
     version.version
     (quote (libguestfs_localconfigure `Git))
-    (quote libguestfs_localenv)
+    (quote (libguestfs_localenv (supermin version)))
+    version.tarball
     version.tarball buildtmp version.tarball
 
 (* Goal: test a commit. *)
@@ -166,8 +178,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
@@ -179,18 +192,21 @@ and commit_tested branch commit =
     echo %s > localenv
 
     ./localconfigure
-    make
+    make V=1
     make check-release
   " repodir
     commit
     (quote (libguestfs_localconfigure `Git))
-    (quote libguestfs_localenv)
+    (quote (libguestfs_localenv None))
+
+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 +214,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)
   )