X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fedora_ocaml_rebuild.ml;h=c4bedebd68e8242568c5c3efef57dbeb02ae5fd1;hb=5324bda8dbb31613640901bfba9b0dd339bc9616;hp=6ce5911851f128582960de5f6fb1b8932cc4d8e7;hpb=4934854dd907c596c2574e27568c8beb4e5aca5d;p=goaljobs-goals.git diff --git a/fedora_ocaml_rebuild.ml b/fedora_ocaml_rebuild.ml index 6ce5911..c4bedeb 100644 --- a/fedora_ocaml_rebuild.ml +++ b/fedora_ocaml_rebuild.ml @@ -9,12 +9,18 @@ open Git open Fedora let branch = "master" -let koji_target = "rawhide" +let side_tag = Some "f31-ocaml" +(*let side_tag = None*) + +let koji_target = + match side_tag with + | Some t -> t + | None -> "f31-build" (* 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.2 final" +let rebuild_name = "OCaml 4.08.0 (beta 3)" (* Local repository that contains build dependencies. *) let yum_repo = "koji-rawhide" @@ -23,8 +29,10 @@ let yum_repo = "koji-rawhide" * dependent packages. *) let blocked = [ - "ocaml-pa-do"; (* orphaned *) - "plplot"; (* FTBFS, unrelated to OCaml *) + "ocaml-camlp4"; (* not ported to 4.08 yet *) + "ocaml-camlp5"; (* not ported to 4.08 yet *) + "ocaml-zarith"; (* build failures, seemingly unrelated *) + "ocaml-yojson"; (* seems to require some proper attention *) ] let blocked pkg = List.mem pkg blocked @@ -32,19 +40,22 @@ let blocked pkg = List.mem pkg blocked let ignored = [ "ocaml-srpm-macros"; (* don't need to build this *) "ocaml"; (* rebuilt by hand *) - "whenjobs"; (* obsolete *) ] let ignored pkg = List.mem pkg ignored (* List of OCaml-related source package names. *) let source_packages = - let dirs = shlines "cd %s && ls -1d ocaml*" fedora_dir in + let dirs = shlines " + cd %s && \ + for f in ocaml*; do + [ -f \"$f/master/$f.spec\" ] && echo \"$f\" + done + " fedora_dir in dirs @ [ "alt-ergo"; "apron"; "brltty"; "coccinelle"; "coq"; "cduce"; "frama-c"; "gappalib-coq"; "graphviz"; "hevea"; "hivex"; - "js-of-ocaml"; "plplot"; "virt-top"; "why3"; "z3"; + "opam"; "plplot"; "virt-top"; "why3"; "z3"; "flocq" (* no OCaml code, but needs to be rebuilt after Coq *); - "guestfs-browser"; "libguestfs"; - "virt-dmesg" ] + "guestfs-browser"; "libguestfs" ] (* Dependencies of each package. (pkg, [deps ...]) *) let pkg_deps = dependencies branch source_packages @@ -90,12 +101,14 @@ 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) + *) (* Unset MAKEFLAGS so it doesn't affect local builds. *) let () = Unix.putenv "MAKEFLAGS" "" @@ -186,7 +199,7 @@ and rebuild_started pkg = require (specfile_updated pkg); (* Rebuild the package in Koji. Don't wait ... *) - koji_build ~wait:false pkg branch; + koji_build ~wait:false ?side_tag pkg branch; (* ... but the build doesn't appear in Koji (eg. in 'koji * buildinfo') until the SRPM has been built. This can take quite