let fedora-branch = "rawhide"
#let fedora-branch = "f34"
-let fedora-tag = "f38-build-side-62208"
+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 = "Rebuild OCaml packages for F38"
+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 = "1"
+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-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-curses",
"ocaml-dbus",
"ocaml-dose3",
- # Cyclic dependency ocaml-dune -> ocaml-pp -> ocaml-dune
- #"ocaml-dune",
+ "ocaml-dune",
"ocaml-easy-format",
"ocaml-expat",
"ocaml-extlib",
"ocaml-facile",
"ocaml-fieldslib",
"ocaml-fileutils",
- "ocaml-findlib",
+ "ocaml-findlib", "not-ocamlfind",
"ocaml-fmt",
"ocaml-fpath",
"ocaml-gen",
"ocaml-logs",
"ocaml-luv",
"ocaml-lwt",
- "ocaml-lwt-log",
"ocaml-markup",
"ocaml-mccs",
"ocaml-mdx",
"ocaml-merlin",
"ocaml-mew",
"ocaml-mew-vi",
- "ocaml-migrate-parsetree",
"ocaml-mlgmpidl",
"ocaml-mlmpfr",
- "ocaml-mmap",
"ocaml-mtime",
"ocamlmod",
"ocaml-mysql",
"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-pcre2",
"ocaml-perl4caml",
"ocaml-postgresql",
"ocaml-pp",
"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-rresult",
"ocaml-SDL",
"ocaml-sedlex",
- "ocaml-seq",
"ocaml-sexplib",
"ocaml-sexplib0",
"ocaml-sha",
"ocaml-stdio",
"ocaml-time-now",
"ocaml-topkg",
- "ocaml-tplib",
"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",
"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",
for pkg in %packages; do
spec=$pkg/%fedora-branch/$pkg.spec
if [ -f $spec ]; then
- # Check that all spec files have disabled the broken
- # "package notes" misfeature.
- if ! grep -sq "%%undefine _package_note_flags" $spec ; then
- echo "ERROR: $pkg does not %%undefine _package_note_flags" >&2
+ # 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.
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
+ echo "ERROR: $pkg: package is not checked out locally" >&2
+ # This does NOT exit the script, why???
exit 1
fi
done