# See README. include "fedora.gl" let fedora-dir = "%HOME/d/fedora" let fedora-branch = "rawhide" #let fedora-branch = "f34" let fedora-tag = "f40-build-side-79351" # The magic string that must appear in %changelog when the # package has been rebuilt. let fedora-rebuild-name = "OCaml 5.1.1 rebuild for Fedora 40" # %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. let fedora-ignored = [ "ocaml-srpm-macros", "ocaml", ] # 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 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 ("is-koji-built", fedora-source-packages)