5 let fedora-dir = "%HOME/d/fedora"
7 let fedora-branch = "rawhide"
8 #let fedora-branch = "f34"
9 let fedora-tag = "f40-build-side-75060"
11 # The magic string that must appear in %changelog when the
12 # package has been rebuilt.
13 let fedora-rebuild-name = "OCaml 5.1 rebuild for Fedora 40"
15 # %fedora-retry-failed:
16 # If set to 1 then failed builds are retried automatically.
17 # If set to 0 then failed builds must be manually restarted.
18 # Normally you want this to be 0.
19 let fedora-retry-failed = "1"
21 # Packages that are ignored, which means they are treated as if
22 # they have been rebuilt.
23 let fedora-ignored = [
24 "ocaml-srpm-macros", "ocaml",
27 # All OCaml-related source package names
37 "ocaml-bigarray-compat",
47 "ocaml-camlp-streams",
49 "ocaml-camlp5-buildscripts",
53 "ocaml-compiler-libs-janestreet",
71 "ocaml-findlib", "not-ocamlfind",
80 "ocaml-jane-street-headers",
111 "ocaml-ocplib-endian",
112 "ocaml-ocplib-simplex",
115 # To be retired after 5.1, now merged into ocaml-odoc
116 #"ocaml-odoc-parser",
118 "ocaml-opam-file-format",
131 "ocaml-ppx-custom-printf",
132 "ocaml-ppx-derivers",
133 "ocaml-ppx-deriving",
134 "ocaml-ppx-deriving-yaml",
135 "ocaml-ppx-deriving-yojson",
136 "ocaml-ppx-enumerate",
138 "ocaml-ppx-fields-conv",
139 "ocaml-ppx-globalize",
143 "ocaml-ppx-inline-test",
144 "ocaml-ppx-js-style",
148 "ocaml-ppx-sexp-conv",
149 "ocaml-ppx-stable-witness",
150 "ocaml-ppx-variants-conv",
151 "ocaml-psmt2-frontend",
183 "ocaml-xmlrpc-light",
196 "emacs-common-tuareg",
220 # Causes a cyclic dependency between libnbd <-> nbdkit. We need
221 # to fix this in goals itself, but in the meantime disable nbdkit
222 # and build it by hand.
226 # Get the list of source packages.
227 pure function get-source-packages () returning strings = {
229 for pkg in %packages; do
230 spec=$pkg/%fedora-branch/$pkg.spec
231 if [ -f $spec ]; then
232 # Check that the spec file excludes i686.
233 # Only implement this check for ocaml-* packages, as the
234 # other packages are more complicated.
235 if [[ "$spec" =~ ^ocaml ]] &&
236 ! rpmspec -P $spec | grep -sq 'ExcludeArch:.*i386' ; then
237 echo "ERROR: $pkg does not ExcludeArch: %%{ix86}" >&2
240 # OK to rebuild this package.
242 elif [ -f $pkg/%fedora-branch/dead.package ]; then
243 echo "WARNING: $pkg: is a dead package, ignored" >&2
245 echo "ERROR: $pkg: package is not checked out locally" >&2
246 # This does NOT exit the script, why???
251 let fedora-source-packages = get-source-packages ()
253 # Main goal: Rebuild all packages in Koji.
254 goal all = : wrap ("is-koji-built", fedora-source-packages)