X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fedora_ocaml_rebuild.ml;h=717572ee5bccf926afbe8f60bc4581b1c9fc51ef;hb=d2052875bb9df0274192039f4b6eef064431e8f2;hp=a22d84bc40cfeddc90393627ebc7cbe950400714;hpb=6117f2b37adc6f6ffefb345acc55956418bfeebe;p=goaljobs-goals.git diff --git a/fedora_ocaml_rebuild.ml b/fedora_ocaml_rebuild.ml index a22d84b..717572e 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 beta" +let rebuild_name = "ocaml-4.02.0-0.8.git10e45753.fc22" (* Local repository that contains build dependencies. *) let yum_repo = "koji-rawhide" @@ -23,17 +23,14 @@ let yum_repo = "koji-rawhide" * dependent packages. *) let blocked = [ - "ocaml-bitstring"; (* needs upstream fix for 4.02.0 *) - - (* ocaml-labltk needs to be packaged. Unfortunately because there - * is no spec file, ocaml-labltk doesn't appear in the list of - * source packages, and so is filtered out of all the dependency - * checks as if it were a non-OCaml package. Therefore we currently - * also have to list all packages that depend on it. - *) - "ocaml-labltk"; (* BRed by: *) "ocaml-lablgl"; "ocaml-ocamlnet"; "planets"; - - "ocaml-camlp5"; (* not updated for 4.02.0 *) + "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"; (* camlp4-related failure, discussed upstream *) + "frama-c"; (* build failure *) ] let blocked pkg = List.mem pkg blocked @@ -41,10 +38,11 @@ let blocked pkg = List.mem pkg blocked let ignored = [ "ocaml-srpm-macros"; (* don't need to build this *) "ocaml"; (* rebuilt by hand *) - "ocaml-findlib"; (* rebuilt by hand *) - "ocaml-lwt"; "ocaml-react"; (* loganjerry is handling *) - "ocaml-camlidl"; (* rebuilt by orionp *) "whenjobs"; (* obsolete *) + "libguestfs"; (* rebuilt by hand *) + "graphviz"; (* rebuilt by hand *) + "xen"; (* already done *) + "plplot"; (* already done *) ] let ignored pkg = List.mem pkg ignored @@ -75,6 +73,13 @@ let () = printf "final list of source packages = %s\n%!" (String.concat " " source_packages) +(* We could make this a goal, but it's cheap enough to run it unconditionally. *) +let install_build_dependencies pkg = + sh "sudo yum clean all --disablerepo=\\* --enablerepo=%s" + (quote yum_repo); + sh "sudo yum-builddep -y --disablerepo=\\* --enablerepo=%s %s" + (quote yum_repo) (fedora_specfile pkg branch) + (* Goal: rebuild all packages. *) let rec goal all () = List.iter (fun pkg -> require (rebuild_started pkg)) source_packages @@ -184,14 +189,13 @@ and local_build_succeeded pkg = target (memory_exists key); - (* Do a local test build to ensure the Koji build will work. *) + install_build_dependencies pkg; + + (* Do a local test build to ensure the Koji build will work. *) sh " cd %s - sudo yum-builddep -y --disablerepo=\\* --enablerepo=%s %s - fedpkg local - " (fedora_repo pkg branch) - (quote yum_repo) - (fedora_specfile pkg branch); + fedpkg local + " (fedora_repo pkg branch); memory_set key "1" @@ -211,8 +215,7 @@ and specfile_updated pkg = git pull --rebase " repodir; - sh "sudo yum-builddep -y --disablerepo=\\* --enablerepo=%s %s" - (quote yum_repo) specfile; + install_build_dependencies pkg; (* For rationale behind always bumping the spec file, see comment * in 'fedora.ml'.