X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Goalfile;h=ad820ec27b98a631c876d95eb9685f0ae1e40fd8;hb=HEAD;hp=80229631890e5de9463f7cd5e427d6f97a24b066;hpb=8bd3d2b6a5d8e01b5e1fd6b77f0e1fb03f6027d9;p=fedora-ocaml-rebuild.git diff --git a/Goalfile b/Goalfile index 8022963..ad820ec 100644 --- a/Goalfile +++ b/Goalfile @@ -4,21 +4,19 @@ include "fedora.gl" let fedora-dir = "%HOME/d/fedora" -let fedora-branch = "master" -let fedora-tag = "f33-build-side-19773" -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 = "f41-build-side-91297" # The magic string that must appear in %changelog when the # package has been rebuilt. -let fedora-rebuild-name = "OCaml 4.10.0 final." +let fedora-rebuild-name = "OCaml 5.2.0 ppc64le fix" -# 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 = "0" # Packages that are ignored, which means they are treated as if # they have been rebuilt. @@ -26,35 +24,36 @@ let fedora-ignored = [ "ocaml-srpm-macros", "ocaml", ] -# All OCaml-related source package names -let other-packages = [ - "alt-ergo", "apron", "brltty", - "graphviz", "hevea", "hivex", - "libguestfs", "libnbd", "nbdkit", - "opam", - "plplot", - "virt-top", "virt-v2v", - "z3", - - # no OCaml code, but needs to be rebuilt after Coq - #"flocq" - - # Coq problems: - # https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/6I2CB4KNAZXH6TKX5WQZJ3ZQGBIOCNJK/ - # "coq", "frama-c", "gappalib-coq", - # "why3", "zenon", - # "flocq", - - # Coccinelle uses -unsafe-string. - # "coccinelle", -] +# Include the full list of packages for either Fedora or ELN. +include "./fedora-packages.gl" +#include "./eln-packages.gl" + +# 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 "ERROR: $pkg: package is not checked out locally" >&2 + # This does NOT exit the script, why??? + exit 1 + fi done } let fedora-source-packages = get-source-packages () # Main goal: Rebuild all packages in Koji. -goal all = : wrap ("*koji-built", fedora-source-packages) +goal all = : wrap ("is-koji-built", fedora-source-packages)