let fedora-branch = "rawhide"
#let fedora-branch = "f34"
-let fedora-tag = "f35-build-side-38024"
+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 4.12.0 build"
+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.
# All OCaml-related source package names
let packages = [
"ocaml-alcotest",
- "ocaml-ancient",
"ocaml-astring",
+ "ocaml-atd",
"ocaml-augeas",
"ocaml-autoconf",
"ocaml-base",
"ocaml-biniou",
"ocaml-bin-prot",
"ocaml-bisect-ppx",
+ "ocaml-bos",
"ocaml-cairo",
"ocaml-calendar",
+ "ocaml-camlbz2",
"ocaml-camlidl",
"ocaml-camlimages",
+ "ocaml-camlp-streams",
"ocaml-camlp5",
+ "ocaml-camlp5-buildscripts",
"ocaml-camomile",
- "ocaml-charinfo-width",
- "ocaml-cil",
"ocaml-cinaps",
"ocaml-cmdliner",
"ocaml-compiler-libs-janestreet",
"ocaml-facile",
"ocaml-fieldslib",
"ocaml-fileutils",
- "ocaml-findlib",
+ "ocaml-findlib", "not-ocamlfind",
"ocaml-fmt",
"ocaml-fpath",
"ocaml-gen",
"ocamlify",
"ocaml-integers",
"ocaml-jane-street-headers",
-# "ocaml-jsonm", https://bugzilla.redhat.com/show_bug.cgi?id=1183825
"ocaml-jst-config",
"ocaml-lablgl",
"ocaml-lablgtk",
"ocaml-lacaml",
"ocaml-lambda-term",
"ocaml-libvirt",
+ "ocaml-logs",
"ocaml-luv",
"ocaml-lwt",
- "ocaml-lwt-log",
"ocaml-markup",
"ocaml-mccs",
+ "ocaml-mdx",
"ocaml-menhir",
"ocaml-merlin",
"ocaml-mew",
"ocaml-mew-vi",
- "ocaml-migrate-parsetree",
"ocaml-mlgmpidl",
"ocaml-mlmpfr",
- "ocaml-mmap",
+ "ocaml-mtime",
"ocamlmod",
"ocaml-mysql",
"ocaml-newt",
"ocaml-num",
- "ocaml-oasis",
"ocaml-obuild",
"ocaml-ocamlbuild",
"ocaml-ocamlgraph",
"ocaml-ocplib-endian",
"ocaml-ocplib-simplex",
"ocaml-octavius",
- #"ocaml-odoc", # Causes dep loop.
+ "ocaml-odoc",
"ocaml-omake",
"ocaml-opam-file-format",
"ocaml-ounit",
+ "ocaml-parmap",
"ocaml-parsexp",
"ocaml-pcre",
+ "ocaml-pcre2",
"ocaml-perl4caml",
"ocaml-postgresql",
+ "ocaml-pp",
"ocaml-ppx-assert",
"ocaml-ppx-base",
"ocaml-ppx-cold",
"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-tools",
- "ocaml-ppx-tools-versioned",
+ "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-rope",
+ "ocaml-rresult",
"ocaml-SDL",
"ocaml-sedlex",
- "ocaml-seq",
"ocaml-sexplib",
"ocaml-sexplib0",
"ocaml-sha",
"ocaml-sqlite",
"ocaml-ssl",
- "ocaml-stdint",
+ "ocaml-stdcompat",
"ocaml-stdio",
"ocaml-time-now",
"ocaml-topkg",
- "ocaml-tplib",
"ocaml-trie",
"ocaml-tyxml",
- "ocaml-uuidm",
+ "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",
"brltty",
"coccinelle",
"coq",
+ "emacs-common-tuareg",
"flocq",
"frama-c",
"gappalib-coq",
+ "guestfs-tools",
"graphviz",
"haxe",
"hevea",
"hivex",
- "laby",
"libguestfs",
"libnbd",
"opam",
+ "planets",
"plplot",
"prooftree",
+ "supermin",
+ "swig",
"utop",
"virt-top",
"virt-v2v",
#"nbdkit",
]
+# Get the list of source packages.
pure function get-source-packages () returning strings = {
cd %fedora-dir
- for f in %packages; do
- if [ -f $f/%fedora-branch/$f.spec ]; then
- 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 "$f: package is not checked out locally" >&2
+ echo "ERROR: $pkg: package is not checked out locally" >&2
+ # This does NOT exit the script, why???
exit 1
fi
done