X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fedora_ocaml_rebuild.ml;h=c708223078ddba42b6bd854e3d297f1b0f2ebe8b;hb=9b311682ee639fc3399056b7b93ba9bd0140a639;hp=15fda83c97b4ba79aabea6982d41c40e96ae17c4;hpb=4b20f6a99081f5a0678460a2fb9c1ae291247555;p=goaljobs-goals.git diff --git a/fedora_ocaml_rebuild.ml b/fedora_ocaml_rebuild.ml index 15fda83..c708223 100644 --- a/fedora_ocaml_rebuild.ml +++ b/fedora_ocaml_rebuild.ml @@ -14,7 +14,7 @@ let koji_target = "rawhide" (* The name of the rebuild, and also the magic substring that must * appear in the %changelog when the package has been rebuilt. *) -let rebuild_name = "ocaml-4.02.0-0.8.git10e45753.fc22" +let rebuild_name = "ocaml-4.02.0+rc1" (* Local repository that contains build dependencies. *) let yum_repo = "koji-rawhide" @@ -23,15 +23,10 @@ let yum_repo = "koji-rawhide" * dependent packages. *) let blocked = [ - "ocaml-mikmatch"; (* build failure on 4.02.0 *) - "ocaml-omake"; (* build failure on 4.02.0 with hevea *) - "ocaml-p3l"; (* build failure on 4.02.0 -warn-error A *) "ocaml-pa-do"; (* build failure, complex *) - "ocaml-lwt"; (* build failure on 4.02.0 *) - "ocaml-preludeml"; (* build failure *) - "cduce"; (* broken again with latest 4.02 *) "frama-c"; (* build failure *) "gappalib-coq"; (* build failure in configure script *) + "ocaml-camlimages"; (* build failure, conflicting C types in header files *) ] let blocked pkg = List.mem pkg blocked @@ -40,10 +35,6 @@ let ignored = [ "ocaml-srpm-macros"; (* don't need to build this *) "ocaml"; (* rebuilt by hand *) "whenjobs"; (* obsolete *) - "libguestfs"; (* rebuilt by hand *) - "graphviz"; (* rebuilt by hand *) - "xen"; (* already done *) - "plplot"; (* already done *) ] let ignored pkg = List.mem pkg ignored @@ -51,8 +42,11 @@ let ignored pkg = List.mem pkg ignored let source_packages = let dirs = shlines "cd %s && ls -1d ocaml*" fedora_dir in dirs @ [ "alt-ergo"; "apron"; "brltty"; "coccinelle"; "coq"; - "cduce"; "frama-c"; "gappalib-coq"; "graphviz"; "hivex"; - "js-of-ocaml"; "llvm"; "plplot"; "why3"; "xen" ] + "cduce"; "frama-c"; "gappalib-coq"; "graphviz"; "hevea"; "hivex"; + "js-of-ocaml"; "llvm"; "plplot"; "virt-top"; "why3"; "xen"; + "flocq" (* no OCaml code, but needs to be rebuilt after Coq *); + "guestfs-browser"; + "virt-dmesg" ] (* Dependencies of each package. (pkg, [deps ...]) *) let pkg_deps = dependencies branch source_packages @@ -110,7 +104,12 @@ let () = Unix.putenv "MAKEFLAGS" "" (* Goal: rebuild all packages. *) let rec goal all () = - List.iter (fun pkg -> require (rebuild_started pkg)) source_packages + let n = List.length source_packages in + List.iteri ( + fun i pkg -> + require (rebuild_started pkg); + printf "*** *** rebuilt %d/%d packages *** ***\n%!" (i+1) n + ) source_packages (* Goal: That 'package' has been rebuilt and exists in Koji. *) and rebuilt pkg = @@ -181,8 +180,12 @@ and rebuild_started pkg = (* Ignored packages are treated as if they have been rebuilt. *) if not (ignored pkg) then ( +(* (* A local test build must succeed. *) require (local_build_succeeded pkg); +*) + (* local_build_succeeded normally does this ... *) + require (specfile_updated pkg); (* Rebuild the package in Koji. Don't wait ... *) koji_build ~wait:false pkg branch; @@ -208,6 +211,7 @@ and rebuild_started pkg = loop () ) +(* and local_build_succeeded pkg = (* The specfile must have been updated. *) require (specfile_updated pkg); @@ -226,6 +230,7 @@ and local_build_succeeded pkg = " (fedora_repo pkg branch); memory_set key "1" +*) and specfile_updated pkg = let repodir = fedora_repo pkg branch in @@ -243,7 +248,9 @@ and specfile_updated pkg = git pull --rebase " repodir; +(* - XXX why did we do this here? install_build_dependencies pkg; +*) (* For rationale behind always bumping the spec file, see comment * in 'fedora.ml'. @@ -259,16 +266,6 @@ and specfile_updated pkg = sh " cd %s - echo 'Please make further changes as required to the spec file %s.spec' - echo '(Press return key)' - read - emacs -nw %s - echo 'OK to commit this change? (press ^C if not)' - read fedpkg commit -c - echo 'OK to push this change? (press ^C if not)' - read fedpkg push " repodir - pkg - specfile