X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Goalfile;h=964121b27d701ea40ca6962a999fbb6fdbd35931;hb=eedc74f8e10f68905779370cc936b0a11ea35282;hp=35909e0987af4191cd3150320700d8cfcfaf2b6f;hpb=3a10c0c2da969efc3b9b3aa153aac7dcc673c0fe;p=fedora-ocaml-rebuild.git diff --git a/Goalfile b/Goalfile index 35909e0..964121b 100644 --- a/Goalfile +++ b/Goalfile @@ -4,59 +4,248 @@ include "fedora.gl" let fedora-dir = "%HOME/d/fedora" -let fedora-branch = "master" -let fedora-tag = "f32-build-side-18015" -let koji = "koji" -#let koji = "koji -p riscv64" -let fedpkg = "fedpkg" -#let fedpkg = "fedpkg --user-config %HOME/d/fedora-ocaml-rebuild/fedpkg-user-config" +let fedora-branch = "rawhide" +#let fedora-branch = "f34" +let fedora-tag = "f39-build-side-69760" # The magic string that must appear in %changelog when the # package has been rebuilt. -let fedora-rebuild-name = "OCaml 4.10.0+beta1 rebuild." +let fedora-rebuild-name = "OCaml 5.0 rebuild for Fedora 39" -# Packages that are blocked. Any dependent packages are also blocked -# automatically. -# XXX Not implemented, use ignore for now. -#let fedora-blocked = [ "ocaml-camlp4" ] +# %fedora-retry-failed: +# If set to 1 then failed builds are retried automatically. +# If set to 0 then failed builds must be manually restarted. +# Normally you want this to be 0. +let fedora-retry-failed = "1" # Packages that are ignored, which means they are treated as if # they have been rebuilt. -let fedora-ignored = [ "ocaml-srpm-macros", "ocaml", - # These ones are only needed because blocked is not working - "ocaml-camlp4", - "cduce", - "guestfs-browser", - "ocaml-bin-prot", - "ocaml-bisect", - "ocaml-bitstring", - "ocaml-deriving", - "ocaml-json-static", - "ocaml-mikmatch", - "ocaml-openin", - "ocaml-pa-monad", - "ocaml-pgocaml", - "ocaml-sexplib", - "ocaml-type-conv", - "ocamldsort", +let fedora-ignored = [ + "ocaml-srpm-macros", "ocaml", ] # All OCaml-related source package names -let other-packages = [ - "alt-ergo", "apron", "brltty", "coccinelle", "coq", - "frama-c", "gappalib-coq", "graphviz", "hevea", "hivex", - "libguestfs", "libnbd", "nbdkit", "opam", "plplot", - "virt-top", "virt-v2v", "why3", "z3", - # no OCaml code, but needs to be rebuilt after Coq - "flocq" +let packages = [ + "ocaml-alcotest", + "ocaml-astring", + "ocaml-atd", + "ocaml-augeas", + "ocaml-autoconf", + "ocaml-base", + "ocaml-base64", + "ocaml-benchmark", + "ocaml-bigarray-compat", + "ocaml-biniou", + "ocaml-bin-prot", + "ocaml-bisect-ppx", + "ocaml-bos", + "ocaml-cairo", + "ocaml-calendar", + "ocaml-camlbz2", + "ocaml-camlidl", + "ocaml-camlimages", + "ocaml-camlp-streams", + # Waiting on two dependencies to be reviewed + #"ocaml-camlp5", + "ocaml-camomile", + "ocaml-cinaps", + "ocaml-cmdliner", + "ocaml-compiler-libs-janestreet", + "ocaml-cppo", + "ocaml-cryptokit", + "ocaml-csexp", + "ocaml-csv", + "ocaml-ctypes", + "ocaml-cudf", + "ocaml-curl", + "ocaml-curses", + "ocaml-dbus", + "ocaml-dose3", + "ocaml-dune", + "ocaml-easy-format", + "ocaml-expat", + "ocaml-extlib", + "ocaml-facile", + "ocaml-fieldslib", + "ocaml-fileutils", + "ocaml-findlib", + "ocaml-fmt", + "ocaml-fpath", + "ocaml-gen", + "ocaml-gettext", + "ocaml-graphics", + "ocaml-gsl", + "ocamlify", + "ocaml-integers", + "ocaml-jane-street-headers", + "ocaml-jst-config", + "ocaml-lablgl", + "ocaml-lablgtk", + "ocaml-lablgtk3", + "ocaml-labltk", + "ocaml-lacaml", + "ocaml-lambda-term", + "ocaml-libvirt", + "ocaml-logs", + "ocaml-luv", + "ocaml-lwt", + "ocaml-markup", + "ocaml-mccs", + "ocaml-mdx", + "ocaml-menhir", + "ocaml-merlin", + "ocaml-mew", + "ocaml-mew-vi", + "ocaml-mlgmpidl", + "ocaml-mlmpfr", + "ocaml-mtime", + "ocamlmod", + "ocaml-mysql", + "ocaml-newt", + "ocaml-num", + "ocaml-obuild", + "ocaml-ocamlbuild", + "ocaml-ocamlgraph", + "ocaml-ocamlnet", + "ocaml-ocp-indent", + "ocaml-ocplib-endian", + "ocaml-ocplib-simplex", + "ocaml-octavius", + "ocaml-odoc", + "ocaml-odoc-parser", + "ocaml-omake", + "ocaml-opam-file-format", + "ocaml-ounit", + "ocaml-parmap", + "ocaml-parsexp", + "ocaml-pcre", + "ocaml-perl4caml", + "ocaml-postgresql", + "ocaml-pp", + "ocaml-ppx-assert", + "ocaml-ppx-base", + "ocaml-ppx-cold", + "ocaml-ppx-compare", + "ocaml-ppx-custom-printf", + "ocaml-ppx-derivers", + "ocaml-ppx-deriving", + "ocaml-ppx-deriving-yaml", + "ocaml-ppx-deriving-yojson", + "ocaml-ppx-enumerate", + "ocaml-ppx-expect", + "ocaml-ppx-fields-conv", + "ocaml-ppx-globalize", + "ocaml-ppx-hash", + "ocaml-ppx-here", + "ocaml-ppx-import", + "ocaml-ppx-inline-test", + "ocaml-ppx-js-style", + "ocaml-ppx-let", + "ocaml-ppxlib", + "ocaml-ppx-optcomp", + "ocaml-ppx-sexp-conv", + "ocaml-ppx-stable-witness", + "ocaml-ppx-variants-conv", + "ocaml-psmt2-frontend", + "ocaml-ptmap", + "ocaml-pyml", + "ocaml-qcheck", + "ocaml-qtest", + "ocaml-re", + "ocaml-react", + "ocaml-res", + "ocaml-result", + "ocaml-rresult", + "ocaml-SDL", + "ocaml-sedlex", + "ocaml-sexplib", + "ocaml-sexplib0", + "ocaml-sha", + "ocaml-sqlite", + "ocaml-ssl", + "ocaml-stdcompat", + "ocaml-stdio", + "ocaml-time-now", + "ocaml-topkg", + "ocaml-trie", + "ocaml-tyxml", + "ocaml-uucd", + "ocaml-uucp", + "ocaml-uunf", + "ocaml-uuseg", + "ocaml-uutf", + "ocaml-variantslib", + "ocaml-version", + "ocaml-xml-light", + "ocaml-xmlm", + "ocaml-xmlrpc-light", + "ocaml-yaml", + "ocaml-yojson", + "ocaml-zarith", + "ocaml-zed", + "ocaml-zip", + "ocaml-zmq", + + "alt-ergo", + "apron", + "brltty", + "coccinelle", + "coq", + "flocq", + "frama-c", + "gappalib-coq", + # Depends on swig: + #"graphviz", + # Depends on camlp5: + #"haxe", + "hevea", + "hivex", + "libguestfs", + "libnbd", + "opam", + "plplot", + "prooftree", + "supermin", + # Tests fail for unclear reasons. + #"swig", + "utop", + "virt-top", + "virt-v2v", + "why3", + "z3", + "zenon", + + # Causes a cyclic dependency between libnbd <-> nbdkit. We need + # to fix this in goals itself, but in the meantime disable nbdkit + # and build it by hand. + #"nbdkit", ] + +# Get the list of source packages. pure function get-source-packages () returning strings = { cd %fedora-dir - for f in ocaml* %other-packages; do - [ -f $f/%fedora-branch/$f.spec ] && echo "$f" + for pkg in %packages; do + spec=$pkg/%fedora-branch/$pkg.spec + if [ -f $spec ]; then + # Check that the spec file excludes i686. + # Only implement this check for ocaml-* packages, as the + # other packages are more complicated. + if [[ "$spec" =~ ^ocaml ]] && + ! rpmspec -P $spec | grep -sq 'ExcludeArch:.*i386' ; then + echo "ERROR: $pkg does not ExcludeArch: %%{ix86}" >&2 + exit 1 + fi + # OK to rebuild this package. + echo "$pkg" + elif [ -f $pkg/%fedora-branch/dead.package ]; then + echo "WARNING: $pkg: is a dead package, ignored" >&2 + else + echo "$pkg: package is not checked out locally" >&2 + exit 1 + fi done } let fedora-source-packages = get-source-packages () -# Main goal: Rebuild all packages. -goal all = : wrap ("*koji-built", fedora-source-packages) +# Main goal: Rebuild all packages in Koji. +goal all = : wrap ("is-koji-built", fedora-source-packages)