-BuildRequires: crate(autocfg/default)
-BuildRequires: crate(bitflags/default)
-BuildRequires: crate(cc/default)
-BuildRequires: crate(cfg-if/default)
-BuildRequires: crate(concat-idents/default)
-BuildRequires: crate(const-cstr/default)
-BuildRequires: crate(io-uring/default)
-BuildRequires: crate(lazy_static/default)
-BuildRequires: crate(libc/default)
-# BuildRequires: crate(memfd...)
-BuildRequires: crate(memmap/default)
-BuildRequires: crate(memoffset/default)
-BuildRequires: crate(nix/default)
-BuildRequires: crate(num-traits/default)
-# BuildRequires: crate(pci-driver/default)
-BuildRequires: crate(proc-macro2/default)
-BuildRequires: crate(quote/default)
-BuildRequires: crate(syn/default)
-BuildRequires: crate(unicode-xid/default)
-BuildRequires: crate(virtio-bindings/default)
+
+# XXX Eventually use %%generate_buildrequires but it does not support
+# workspaces yet. See
+# https://bugzilla.redhat.com/show_bug.cgi?id=2124697#c57
+#
+# For major version >= 1, we are requiring that the major version does
+# not change.
+#
+# For major version >= 0, we are requiring that the minor version does
+# not change.
+BuildRequires: (crate(autocfg/default) >= 1.0.0 with crate(autocfg/default) < 2.0.0~)
+BuildRequires: (crate(bitflags/default) >= 1.0.0 with crate(bitflags/default) < 2.0.0~)
+BuildRequires: (crate(cc/default) >= 1.0.0 with crate(cc/default) < 2.0.0~)
+BuildRequires: (crate(cfg-if/default) >= 1.0.0 with crate(cfg-if/default) < 2.0.0~)
+BuildRequires: (crate(concat-idents/default) >= 1.0.0 with crate(concat-idents/default) < 2.0.0~)
+BuildRequires: (crate(const-cstr/default) >= 0.3.0 with crate(const-cstr/default) < 0.4.0~)
+BuildRequires: (crate(io-uring/default) >= 0.5.8 with crate(io-uring/default) < 0.6.0~)
+BuildRequires: (crate(lazy_static/default) >= 1.0.0 with crate(lazy_static/default) < 2.0.0~)
+BuildRequires: (crate(libc/default) >= 0.2.134 with crate(libc/default) < 0.3.0~)
+BuildRequires: (crate(memmap2/default) >= 0.5.7 with crate(memmap2/default) < 0.6.0~)
+BuildRequires: (crate(nix/default) >= 0.24.2 with crate(nix/default) < 0.25.0~)
+BuildRequires: (crate(num-traits/default) >= 0.2.15 with crate(num-traits/default) < 0.3.0~)
+BuildRequires: (crate(pci-driver/default) >= 0.1.2 with crate(pci-driver/default) < 0.2.0~)
+BuildRequires: (crate(proc-macro2/default) >= 1.0.0 with crate(proc-macro2/default) < 2.0.0~)
+BuildRequires: (crate(quote/default) >= 1.0.0 with crate(quote/default) < 2.0.0~)
+BuildRequires: (crate(syn/default) >= 1.0.0 with crate(syn/default) < 2.0.0~)
+BuildRequires: (crate(unicode-ident/default) >= 1.0.0 with crate(unicode-ident/default) < 2.0.0~)
+BuildRequires: (crate(virtio-bindings/default) >= 0.1.0 with crate(virtio-bindings/default) < 0.2.0~)