let fedora-dir = "%HOME/d/fedora"
-let fedora-branch = "master"
-#let fedora-branch = "f32"
-let fedora-tag = "f34-build-side-28234"
+let fedora-branch = "rawhide"
+#let fedora-branch = "f34"
+let fedora-tag = "f37-build-side-54560"
# The magic string that must appear in %changelog when the
# package has been rebuilt.
-let fedora-rebuild-name = "OCaml 4.11.0 rebuild"
+let fedora-rebuild-name = "OCaml 4.14.0 rebuild"
# Packages that are ignored, which means they are treated as if
# they have been rebuilt.
let fedora-ignored = [
"ocaml-srpm-macros", "ocaml",
+
+ # These use rpmautospec and must be rebuilt by hand for now.
+ # XXX eventually need to fix stdlib/fedora.gl to deal with these
+ "ocaml-base64",
+ "ocaml-opam-file-format",
]
# All OCaml-related source package names
"ocaml-base",
"ocaml-base64",
"ocaml-benchmark",
+ "ocaml-bigarray-compat",
"ocaml-biniou",
"ocaml-bin-prot",
"ocaml-bisect-ppx",
+ "ocaml-bos",
"ocaml-cairo",
"ocaml-calendar",
+ "ocaml-camlbz2",
"ocaml-camlidl",
"ocaml-camlimages",
"ocaml-camlp5",
"ocaml-compiler-libs-janestreet",
"ocaml-cppo",
"ocaml-cryptokit",
+ "ocaml-csexp",
"ocaml-csv",
+ "ocaml-ctypes",
"ocaml-cudf",
"ocaml-curl",
"ocaml-curses",
"ocaml-fpath",
"ocaml-gen",
"ocaml-gettext",
+ "ocaml-graphics",
"ocaml-gsl",
"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-mlgmpidl",
"ocaml-mlmpfr",
"ocaml-mmap",
+ "ocaml-mtime",
"ocamlmod",
"ocaml-mysql",
"ocaml-newt",
"ocaml-num",
- "ocaml-oasis",
"ocaml-obuild",
"ocaml-ocamlbuild",
"ocaml-ocamlgraph",
"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-perl4caml",
"ocaml-ppx-deriving",
"ocaml-ppx-deriving-yojson",
"ocaml-ppx-enumerate",
+ "ocaml-ppx-expect",
"ocaml-ppx-fields-conv",
- "ocaml-ppxfind",
"ocaml-ppx-hash",
"ocaml-ppx-here",
"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-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-sha",
"ocaml-sqlite",
"ocaml-ssl",
+ "ocaml-stdcompat",
"ocaml-stdint",
"ocaml-stdio",
"ocaml-time-now",
"ocaml-uuidm",
"ocaml-uutf",
"ocaml-variantslib",
+ "ocaml-version",
"ocaml-xml-light",
"ocaml-xmlm",
"ocaml-xmlrpc-light",
"apron",
"brltty",
"coccinelle",
+ "coq",
+ "flocq",
+ "frama-c",
+ "gappalib-coq",
"graphviz",
"haxe",
"hevea",
"libguestfs",
"libnbd",
"opam",
- "plplot",
+ # plplot dependencies cannot be installed:
+ # https://bugzilla.redhat.com/show_bug.cgi?id=2050480
+ #"plplot",
"prooftree",
+ "supermin",
"utop",
"virt-top",
"virt-v2v",
"why3",
"z3",
-
- # For Coq:
- "coq",
- "frama-c",
- "gappalib-coq",
"zenon",
- "flocq",
# Causes a cyclic dependency between libnbd <-> nbdkit. We need
# to fix this in goals itself, but in the meantime disable nbdkit
#"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 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"
+ 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 "$pkg: package is not checked out locally" >&2
exit 1
fi
done