%global crate foxing %global version 0.10.0 Name: foxing Version: %{version} Release: 12%{?dist} Summary: Filesystem replication daemon and smart copy tool (eBPF-powered) License: GPL-2.0-or-later URL: https://codeberg.org/aenertia/foxing Source0: %{url}/archive/v%{version}.tar.gz#/%{crate}-%{version}.tar.gz Source1: %{crate}-%{version}-vendor.tar.gz Source3: foxing.rpmlintrc # filetypes.json taxonomy registry is distributed separately (73MB, too large for SRPM). # Users can install it to /usr/share/foxing/filetypes.json for auto-detection. # Source2: filetypes.json BuildRequires: clang BuildRequires: llvm BuildRequires: elfutils-libelf-devel BuildRequires: openssl-devel BuildRequires: zlib-devel BuildRequires: systemd-rpm-macros BuildRequires: dbus-devel BuildRequires: curl BuildRequires: selinux-policy-devel BuildRequires: policycoreutils # Rust nightly installed via rustup during %%build # foxingd requires BPF toolchain — only available on architectures with # mature kernel BTF and libbpf BPF_KPROBE register definitions. # riscv64 builds fxcp only (no foxingd). %ifarch riscv64 %global build_foxingd 0 %else %global build_foxingd 1 BuildRequires: libbpf-devel BuildRequires: bpftool %endif ExclusiveArch: x86_64 aarch64 ppc64le s390x riscv64 # Disable debuginfo/debugsource — binaries are stripped by cargo %global debug_package %{nil} %description Foxing is an eBPF-powered filesystem replication system. It provides foxingd, a BPF-based replication daemon, and fxcp, a smart filesystem copy tool with CoW/reflink and io_uring support. # ---- Subpackage: fxcp ---- %package -n fxcp Summary: Smart filesystem copy tool with CoW/reflink support Requires: glibc Provides: bundled(crate(adler2)) = 2.0.1 Provides: bundled(crate(aes)) = 0.8.4 Provides: bundled(crate(ahash)) = 0.7.8 Provides: bundled(crate(ahash)) = 0.8.12 Provides: bundled(crate(aho-corasick)) = 1.1.4 Provides: bundled(crate(allocator-api2)) = 0.2.21 Provides: bundled(crate(android_system_properties)) = 0.1.5 Provides: bundled(crate(anes)) = 0.1.6 Provides: bundled(crate(anstream)) = 1.0.0 Provides: bundled(crate(anstyle)) = 1.0.14 Provides: bundled(crate(anstyle-parse)) = 1.0.0 Provides: bundled(crate(anstyle-query)) = 1.1.5 Provides: bundled(crate(anstyle-wincon)) = 3.0.11 Provides: bundled(crate(anyhow)) = 1.0.104 Provides: bundled(crate(arbitrary)) = 1.4.2 Provides: bundled(crate(arrayref)) = 0.3.9 Provides: bundled(crate(arrayvec)) = 0.7.8 Provides: bundled(crate(async-broadcast)) = 0.7.2 Provides: bundled(crate(async-channel)) = 2.5.0 Provides: bundled(crate(async-executor)) = 1.14.0 Provides: bundled(crate(async-io)) = 2.6.0 Provides: bundled(crate(async-lock)) = 3.4.2 Provides: bundled(crate(async-nats)) = 0.38.0 Provides: bundled(crate(async-notify)) = 0.3.4 Provides: bundled(crate(async-process)) = 2.5.0 Provides: bundled(crate(async-recursion)) = 1.1.1 Provides: bundled(crate(async-signal)) = 0.2.14 Provides: bundled(crate(async-task)) = 4.7.1 Provides: bundled(crate(async-trait)) = 0.1.91 Provides: bundled(crate(atoi)) = 2.0.0 Provides: bundled(crate(atomic-waker)) = 1.1.2 Provides: bundled(crate(autocfg)) = 1.5.1 Provides: bundled(crate(aws-lc-rs)) = 1.17.3 Provides: bundled(crate(aws-lc-sys)) = 0.43.0 Provides: bundled(crate(axum)) = 0.8.9 Provides: bundled(crate(axum-core)) = 0.5.6 Provides: bundled(crate(base64)) = 0.13.1 Provides: bundled(crate(base64)) = 0.22.1 Provides: bundled(crate(base64)) = 0.23.0 Provides: bundled(crate(base64ct)) = 1.8.3 Provides: bundled(crate(bincode)) = 1.3.3 Provides: bundled(crate(bindgen)) = 0.71.1 Provides: bundled(crate(bit-set)) = 0.6.0 Provides: bundled(crate(bit-set)) = 0.8.0 Provides: bundled(crate(bit-vec)) = 0.7.0 Provides: bundled(crate(bit-vec)) = 0.8.0 Provides: bundled(crate(bitflags)) = 1.3.2 Provides: bundled(crate(bitflags)) = 2.13.1 Provides: bundled(crate(bitvec)) = 1.1.1 Provides: bundled(crate(blake3)) = 1.8.5 Provides: bundled(crate(block-buffer)) = 0.10.4 Provides: bundled(crate(block-buffer)) = 0.12.1 Provides: bundled(crate(block-padding)) = 0.3.3 Provides: bundled(crate(blocking)) = 1.6.2 Provides: bundled(crate(borsh)) = 1.8.1 Provides: bundled(crate(borsh-derive)) = 1.8.1 Provides: bundled(crate(bumpalo)) = 3.20.3 Provides: bundled(crate(byte-unit)) = 5.2.5 Provides: bundled(crate(bytecheck)) = 0.6.12 Provides: bundled(crate(bytecheck_derive)) = 0.6.12 Provides: bundled(crate(byteorder)) = 1.5.0 Provides: bundled(crate(bytes)) = 1.12.1 Provides: bundled(crate(bzip2)) = 0.5.2 Provides: bundled(crate(bzip2-sys)) = 0.1.13 Provides: bundled(crate(calamine)) = 0.26.1 Provides: bundled(crate(camino)) = 1.2.5 Provides: bundled(crate(capstone)) = 0.14.0 Provides: bundled(crate(capstone-sys)) = 0.18.0 Provides: bundled(crate(cargo-platform)) = 0.1.9 Provides: bundled(crate(cargo_metadata)) = 0.19.2 Provides: bundled(crate(cassowary)) = 0.3.0 Provides: bundled(crate(cast)) = 0.3.0 Provides: bundled(crate(castaway)) = 0.2.4 Provides: bundled(crate(cbc)) = 0.1.2 Provides: bundled(crate(cc)) = 1.4.0 Provides: bundled(crate(cexpr)) = 0.6.0 Provides: bundled(crate(cfg-if)) = 1.0.4 Provides: bundled(crate(cfg_aliases)) = 0.2.2 Provides: bundled(crate(chacha20)) = 0.10.1 Provides: bundled(crate(chrono)) = 0.4.45 Provides: bundled(crate(ciborium)) = 0.2.2 Provides: bundled(crate(ciborium-io)) = 0.2.2 Provides: bundled(crate(ciborium-ll)) = 0.2.2 Provides: bundled(crate(cipher)) = 0.4.4 Provides: bundled(crate(clang-sys)) = 1.9.1 Provides: bundled(crate(clap)) = 4.6.4 Provides: bundled(crate(clap_builder)) = 4.6.2 Provides: bundled(crate(clap_complete)) = 4.6.8 Provides: bundled(crate(clap_derive)) = 4.6.4 Provides: bundled(crate(clap_lex)) = 1.1.0 Provides: bundled(crate(clap_mangen)) = 0.2.33 Provides: bundled(crate(cloudevents-sdk)) = 0.9.0 Provides: bundled(crate(cmake)) = 0.1.58 Provides: bundled(crate(cmov)) = 0.5.4 Provides: bundled(crate(codepage)) = 0.1.2 Provides: bundled(crate(codespan-reporting)) = 0.13.1 Provides: bundled(crate(colorchoice)) = 1.0.5 Provides: bundled(crate(colored)) = 3.1.1 Provides: bundled(crate(comfy-table)) = 7.2.2 Provides: bundled(crate(compact_str)) = 0.7.1 Provides: bundled(crate(compact_str)) = 0.9.1 Provides: bundled(crate(concurrent-queue)) = 2.5.0 Provides: bundled(crate(const-oid)) = 0.10.2 Provides: bundled(crate(const-oid)) = 0.9.6 Provides: bundled(crate(const_format)) = 0.2.36 Provides: bundled(crate(const_format_proc_macros)) = 0.2.34 Provides: bundled(crate(constant_time_eq)) = 0.4.2 Provides: bundled(crate(core-foundation)) = 0.10.1 Provides: bundled(crate(core-foundation)) = 0.9.4 Provides: bundled(crate(core-foundation-sys)) = 0.8.7 Provides: bundled(crate(cpp_demangle)) = 0.4.5 Provides: bundled(crate(cpufeatures)) = 0.2.17 Provides: bundled(crate(cpufeatures)) = 0.3.0 Provides: bundled(crate(crc)) = 3.4.0 Provides: bundled(crate(crc-catalog)) = 2.5.0 Provides: bundled(crate(crc32fast)) = 1.5.0 Provides: bundled(crate(criterion)) = 0.5.1 Provides: bundled(crate(criterion-plot)) = 0.5.0 Provides: bundled(crate(crossbeam)) = 0.8.4 Provides: bundled(crate(crossbeam-channel)) = 0.5.16 Provides: bundled(crate(crossbeam-deque)) = 0.8.7 Provides: bundled(crate(crossbeam-epoch)) = 0.9.20 Provides: bundled(crate(crossbeam-queue)) = 0.3.13 Provides: bundled(crate(crossbeam-utils)) = 0.8.22 Provides: bundled(crate(crossterm)) = 0.27.0 Provides: bundled(crate(crossterm)) = 0.29.0 Provides: bundled(crate(crossterm_winapi)) = 0.9.1 Provides: bundled(crate(crunchy)) = 0.2.4 Provides: bundled(crate(crypto-common)) = 0.1.7 Provides: bundled(crate(crypto-common)) = 0.2.2 Provides: bundled(crate(ctutils)) = 0.4.2 Provides: bundled(crate(curve25519-dalek)) = 4.1.3 Provides: bundled(crate(curve25519-dalek-derive)) = 0.1.1 Provides: bundled(crate(cxx)) = 1.0.198 Provides: bundled(crate(cxx-build)) = 1.0.198 Provides: bundled(crate(cxxbridge-cmd)) = 1.0.198 Provides: bundled(crate(cxxbridge-flags)) = 1.0.198 Provides: bundled(crate(cxxbridge-macro)) = 1.0.198 Provides: bundled(crate(darling)) = 0.20.11 Provides: bundled(crate(darling_core)) = 0.20.11 Provides: bundled(crate(darling_macro)) = 0.20.11 Provides: bundled(crate(dary_heap)) = 0.3.9 Provides: bundled(crate(dashmap)) = 6.2.1 Provides: bundled(crate(data-encoding)) = 2.11.0 Provides: bundled(crate(delegate-attr)) = 0.3.0 Provides: bundled(crate(der)) = 0.7.10 Provides: bundled(crate(deranged)) = 0.5.8 Provides: bundled(crate(derive_arbitrary)) = 1.4.2 Provides: bundled(crate(derive_builder)) = 0.20.2 Provides: bundled(crate(derive_builder_core)) = 0.20.2 Provides: bundled(crate(derive_builder_macro)) = 0.20.2 Provides: bundled(crate(digest)) = 0.10.7 Provides: bundled(crate(digest)) = 0.11.3 Provides: bundled(crate(dispatch2)) = 0.3.1 Provides: bundled(crate(displaydoc)) = 0.2.7 Provides: bundled(crate(document-features)) = 0.2.12 Provides: bundled(crate(dotenvy)) = 0.15.7 Provides: bundled(crate(dunce)) = 1.0.5 Provides: bundled(crate(dyn-clone)) = 1.0.20 Provides: bundled(crate(ecb)) = 0.1.2 Provides: bundled(crate(ed25519)) = 2.2.3 Provides: bundled(crate(ed25519-dalek)) = 2.2.0 Provides: bundled(crate(either)) = 1.17.0 Provides: bundled(crate(encoding_rs)) = 0.8.35 Provides: bundled(crate(endi)) = 1.1.1 Provides: bundled(crate(enum-display-derive)) = 0.1.1 Provides: bundled(crate(enum-primitive-derive)) = 0.3.0 Provides: bundled(crate(enumflags2)) = 0.7.12 Provides: bundled(crate(enumflags2_derive)) = 0.7.12 Provides: bundled(crate(equivalent)) = 1.0.2 Provides: bundled(crate(errno)) = 0.3.14 Provides: bundled(crate(esaxx-rs)) = 0.1.10 Provides: bundled(crate(etcetera)) = 0.11.0 Provides: bundled(crate(event-listener)) = 5.4.2 Provides: bundled(crate(event-listener-strategy)) = 0.5.4 Provides: bundled(crate(fancy-regex)) = 0.14.0 Provides: bundled(crate(fastrand)) = 2.5.0 Provides: bundled(crate(fiat-crypto)) = 0.2.9 Provides: bundled(crate(file-format)) = 0.29.0 Provides: bundled(crate(filetime)) = 0.2.29 Provides: bundled(crate(filetime_creation)) = 0.2.0 Provides: bundled(crate(find-msvc-tools)) = 0.1.9 Provides: bundled(crate(flate2)) = 1.1.9 Provides: bundled(crate(flume)) = 0.12.0 Provides: bundled(crate(fnv)) = 1.0.7 Provides: bundled(crate(foldhash)) = 0.1.5 Provides: bundled(crate(foldhash)) = 0.2.0 Provides: bundled(crate(foreign-types)) = 0.3.2 Provides: bundled(crate(foreign-types-shared)) = 0.1.1 Provides: bundled(crate(form_urlencoded)) = 1.2.2 Provides: bundled(crate(fs_extra)) = 1.3.0 Provides: bundled(crate(fsevent-sys)) = 4.1.0 Provides: bundled(crate(funty)) = 2.0.0 Provides: bundled(crate(fuse3)) = 0.8.1 Provides: bundled(crate(futures)) = 0.3.33 Provides: bundled(crate(futures-channel)) = 0.3.33 Provides: bundled(crate(futures-core)) = 0.3.33 Provides: bundled(crate(futures-executor)) = 0.3.33 Provides: bundled(crate(futures-intrusive)) = 0.5.0 Provides: bundled(crate(futures-io)) = 0.3.33 Provides: bundled(crate(futures-lite)) = 2.6.1 Provides: bundled(crate(futures-macro)) = 0.3.33 Provides: bundled(crate(futures-sink)) = 0.3.33 Provides: bundled(crate(futures-task)) = 0.3.33 Provides: bundled(crate(futures-util)) = 0.3.33 Provides: bundled(crate(fxhash)) = 0.2.1 Provides: bundled(crate(generic-array)) = 0.14.7 Provides: bundled(crate(getrandom)) = 0.2.17 Provides: bundled(crate(getrandom)) = 0.3.4 Provides: bundled(crate(getrandom)) = 0.4.3 Provides: bundled(crate(getset)) = 0.1.7 Provides: bundled(crate(gguf-rs)) = 0.1.8 Provides: bundled(crate(glob)) = 0.3.4 Provides: bundled(crate(goblin)) = 0.10.7 Provides: bundled(crate(h2)) = 0.4.15 Provides: bundled(crate(half)) = 2.7.1 Provides: bundled(crate(hashbrown)) = 0.12.3 Provides: bundled(crate(hashbrown)) = 0.14.5 Provides: bundled(crate(hashbrown)) = 0.15.5 Provides: bundled(crate(hashbrown)) = 0.16.1 Provides: bundled(crate(hashbrown)) = 0.17.1 Provides: bundled(crate(hashlink)) = 0.11.1 Provides: bundled(crate(heck)) = 0.5.0 Provides: bundled(crate(hermit-abi)) = 0.5.2 Provides: bundled(crate(hex)) = 0.4.3 Provides: bundled(crate(hkdf)) = 0.13.0 Provides: bundled(crate(hmac)) = 0.13.0 Provides: bundled(crate(hostname)) = 0.4.2 Provides: bundled(crate(http)) = 1.5.0 Provides: bundled(crate(http-body)) = 1.1.0 Provides: bundled(crate(http-body-util)) = 0.1.4 Provides: bundled(crate(httparse)) = 1.10.1 Provides: bundled(crate(httpdate)) = 1.0.3 Provides: bundled(crate(humantime)) = 2.4.0 Provides: bundled(crate(hybrid-array)) = 0.4.14 Provides: bundled(crate(hyper)) = 1.11.0 Provides: bundled(crate(hyper-rustls)) = 0.27.9 Provides: bundled(crate(hyper-util)) = 0.1.20 Provides: bundled(crate(iana-time-zone)) = 0.1.65 Provides: bundled(crate(iana-time-zone-haiku)) = 0.1.2 Provides: bundled(crate(icu_collections)) = 2.2.0 Provides: bundled(crate(icu_locale_core)) = 2.2.0 Provides: bundled(crate(icu_normalizer)) = 2.2.0 Provides: bundled(crate(icu_normalizer_data)) = 2.2.0 Provides: bundled(crate(icu_properties)) = 2.2.0 Provides: bundled(crate(icu_properties_data)) = 2.2.0 Provides: bundled(crate(icu_provider)) = 2.2.0 Provides: bundled(crate(ident_case)) = 1.0.1 Provides: bundled(crate(idna)) = 1.1.0 Provides: bundled(crate(idna_adapter)) = 1.2.2 Provides: bundled(crate(indexmap)) = 2.14.0 Provides: bundled(crate(infer)) = 0.22.0 Provides: bundled(crate(inotify)) = 0.9.6 Provides: bundled(crate(inotify-sys)) = 0.1.8 Provides: bundled(crate(inout)) = 0.1.4 Provides: bundled(crate(io-uring)) = 0.7.13 Provides: bundled(crate(ipnet)) = 2.12.0 Provides: bundled(crate(is-terminal)) = 0.4.17 Provides: bundled(crate(is_terminal_polyfill)) = 1.70.2 Provides: bundled(crate(itertools)) = 0.10.5 Provides: bundled(crate(itertools)) = 0.12.1 Provides: bundled(crate(itertools)) = 0.13.0 Provides: bundled(crate(itertools)) = 0.14.0 Provides: bundled(crate(itertools)) = 0.15.0 Provides: bundled(crate(itoa)) = 1.0.18 Provides: bundled(crate(jobserver)) = 0.1.35 Provides: bundled(crate(js-sys)) = 0.3.103 Provides: bundled(crate(kamadak-exif)) = 0.6.1 Provides: bundled(crate(keccak)) = 0.1.6 Provides: bundled(crate(konst)) = 0.2.20 Provides: bundled(crate(konst_macro_rules)) = 0.2.19 Provides: bundled(crate(kqueue)) = 1.2.0 Provides: bundled(crate(kqueue-sys)) = 1.1.2 Provides: bundled(crate(ktls)) = 6.0.2 Provides: bundled(crate(ktls-sys)) = 1.0.2 Provides: bundled(crate(lazy_static)) = 1.5.0 Provides: bundled(crate(libbpf-cargo)) = 0.26.2 Provides: bundled(crate(libbpf-rs)) = 0.26.2 Provides: bundled(crate(libbpf-sys)) = 1.7.0 Provides: bundled(crate(libc)) = 0.2.189 Provides: bundled(crate(libgssapi)) = 0.11.0 Provides: bundled(crate(libgssapi-sys)) = 0.3.4 Provides: bundled(crate(libloading)) = 0.8.9 Provides: bundled(crate(libloading)) = 0.9.0 Provides: bundled(crate(liblzma)) = 0.4.7 Provides: bundled(crate(liblzma-sys)) = 0.4.7 Provides: bundled(crate(libsqlite3-sys)) = 0.37.0 Provides: bundled(crate(link-cplusplus)) = 1.0.12 Provides: bundled(crate(linux-raw-sys)) = 0.12.1 Provides: bundled(crate(linux-raw-sys)) = 0.4.15 Provides: bundled(crate(litemap)) = 0.8.2 Provides: bundled(crate(litrs)) = 1.0.0 Provides: bundled(crate(lock_api)) = 0.4.14 Provides: bundled(crate(lofty)) = 0.24.0 Provides: bundled(crate(lofty_attr)) = 0.12.0 Provides: bundled(crate(log)) = 0.4.33 Provides: bundled(crate(lopdf)) = 0.42.0 Provides: bundled(crate(lru)) = 0.12.5 Provides: bundled(crate(lru-slab)) = 0.1.2 Provides: bundled(crate(lz4_flex)) = 0.11.6 Provides: bundled(crate(lzma-rust)) = 0.1.7 Provides: bundled(crate(macro_rules_attribute)) = 0.2.3 Provides: bundled(crate(macro_rules_attribute-proc_macro)) = 0.2.3 Provides: bundled(crate(magika)) = 1.0.1 Provides: bundled(crate(matchers)) = 0.2.0 Provides: bundled(crate(matchit)) = 0.8.4 Provides: bundled(crate(matrixmultiply)) = 0.3.11 Provides: bundled(crate(md-5)) = 0.10.6 Provides: bundled(crate(md-5)) = 0.11.0 Provides: bundled(crate(memchr)) = 2.8.3 Provides: bundled(crate(memmap2)) = 0.9.11 Provides: bundled(crate(memoffset)) = 0.9.1 Provides: bundled(crate(mime)) = 0.3.17 Provides: bundled(crate(mime_guess)) = 2.0.5 Provides: bundled(crate(minimal-lexical)) = 0.2.1 Provides: bundled(crate(miniz_oxide)) = 0.8.9 Provides: bundled(crate(mio)) = 0.8.11 Provides: bundled(crate(mio)) = 1.2.2 Provides: bundled(crate(monostate)) = 0.1.18 Provides: bundled(crate(monostate-impl)) = 0.1.18 Provides: bundled(crate(mutate_once)) = 0.1.2 Provides: bundled(crate(native-tls)) = 0.2.18 Provides: bundled(crate(ndarray)) = 0.17.2 Provides: bundled(crate(nix)) = 0.29.0 Provides: bundled(crate(nix)) = 0.31.3 Provides: bundled(crate(nkeys)) = 0.4.5 Provides: bundled(crate(nom)) = 7.1.3 Provides: bundled(crate(nom)) = 8.0.0 Provides: bundled(crate(notify)) = 6.1.1 Provides: bundled(crate(nt-time)) = 0.8.1 Provides: bundled(crate(ntapi)) = 0.4.3 Provides: bundled(crate(nu-ansi-term)) = 0.50.3 Provides: bundled(crate(nuid)) = 0.5.0 Provides: bundled(crate(num)) = 0.4.3 Provides: bundled(crate(num-bigint)) = 0.4.8 Provides: bundled(crate(num-complex)) = 0.4.6 Provides: bundled(crate(num-conv)) = 0.2.2 Provides: bundled(crate(num-derive)) = 0.5.1 Provides: bundled(crate(num-integer)) = 0.1.46 Provides: bundled(crate(num-iter)) = 0.1.46 Provides: bundled(crate(num-rational)) = 0.4.2 Provides: bundled(crate(num-traits)) = 0.2.19 Provides: bundled(crate(num_enum)) = 0.7.6 Provides: bundled(crate(num_enum_derive)) = 0.7.6 Provides: bundled(crate(num_threads)) = 0.1.7 Provides: bundled(crate(numkong)) = 7.7.1 Provides: bundled(crate(objc2)) = 0.6.4 Provides: bundled(crate(objc2-core-foundation)) = 0.3.2 Provides: bundled(crate(objc2-encode)) = 4.1.0 Provides: bundled(crate(objc2-foundation)) = 0.3.2 Provides: bundled(crate(objc2-io-kit)) = 0.3.2 Provides: bundled(crate(objc2-open-directory)) = 0.3.2 Provides: bundled(crate(object_store)) = 0.11.2 Provides: bundled(crate(oci-spec)) = 0.10.0 Provides: bundled(crate(ogg_pager)) = 0.7.2 Provides: bundled(crate(once_cell)) = 1.21.4 Provides: bundled(crate(once_cell_polyfill)) = 1.70.2 Provides: bundled(crate(oorandom)) = 11.1.5 Provides: bundled(crate(openssl)) = 0.10.81 Provides: bundled(crate(openssl-macros)) = 0.1.1 Provides: bundled(crate(openssl-probe)) = 0.1.6 Provides: bundled(crate(openssl-probe)) = 0.2.1 Provides: bundled(crate(openssl-sys)) = 0.9.117 Provides: bundled(crate(ordered-stream)) = 0.2.0 Provides: bundled(crate(ort)) = 2.0.0-rc.11 Provides: bundled(crate(ort-sys)) = 2.0.0-rc.11 Provides: bundled(crate(oxigeo-metadata)) = 0.2.4 Provides: bundled(crate(parking)) = 2.2.1 Provides: bundled(crate(parking_lot)) = 0.12.5 Provides: bundled(crate(parking_lot_core)) = 0.9.12 Provides: bundled(crate(paste)) = 1.0.15 Provides: bundled(crate(pastey)) = 0.2.3 Provides: bundled(crate(pathdiff)) = 0.2.3 Provides: bundled(crate(pem-rfc7468)) = 0.7.0 Provides: bundled(crate(percent-encoding)) = 2.3.2 Provides: bundled(crate(pgvector)) = 0.4.2 Provides: bundled(crate(pin-project)) = 1.1.13 Provides: bundled(crate(pin-project-internal)) = 1.1.13 Provides: bundled(crate(pin-project-lite)) = 0.2.17 Provides: bundled(crate(piper)) = 0.2.5 Provides: bundled(crate(pkcs8)) = 0.10.2 Provides: bundled(crate(pkg-config)) = 0.3.33 Provides: bundled(crate(plain)) = 0.2.3 Provides: bundled(crate(plotters)) = 0.3.7 Provides: bundled(crate(plotters-backend)) = 0.3.7 Provides: bundled(crate(plotters-svg)) = 0.3.7 Provides: bundled(crate(polling)) = 3.11.0 Provides: bundled(crate(portable-atomic)) = 1.14.0 Provides: bundled(crate(portable-atomic-util)) = 0.2.7 Provides: bundled(crate(potential_utf)) = 0.1.5 Provides: bundled(crate(powerfmt)) = 0.2.0 Provides: bundled(crate(ppv-lite86)) = 0.2.21 Provides: bundled(crate(prettyplease)) = 0.2.37 Provides: bundled(crate(proc-macro-crate)) = 3.5.0 Provides: bundled(crate(proc-macro2)) = 1.0.107 Provides: bundled(crate(procfs)) = 0.17.0 Provides: bundled(crate(procfs-core)) = 0.17.0 Provides: bundled(crate(prometheus)) = 0.14.0 Provides: bundled(crate(protobuf)) = 3.7.2 Provides: bundled(crate(protobuf-support)) = 3.7.2 Provides: bundled(crate(ptr_meta)) = 0.1.4 Provides: bundled(crate(ptr_meta_derive)) = 0.1.4 Provides: bundled(crate(quick-xml)) = 0.31.0 Provides: bundled(crate(quick-xml)) = 0.37.5 Provides: bundled(crate(quick-xml)) = 0.39.4 Provides: bundled(crate(quinn)) = 0.11.11 Provides: bundled(crate(quinn-proto)) = 0.11.16 Provides: bundled(crate(quinn-udp)) = 0.5.15 Provides: bundled(crate(quote)) = 1.0.47 Provides: bundled(crate(r-efi)) = 5.3.0 Provides: bundled(crate(r-efi)) = 6.0.0 Provides: bundled(crate(radium)) = 0.7.0 Provides: bundled(crate(rand)) = 0.10.2 Provides: bundled(crate(rand)) = 0.8.7 Provides: bundled(crate(rand)) = 0.9.5 Provides: bundled(crate(rand_chacha)) = 0.3.1 Provides: bundled(crate(rand_chacha)) = 0.9.0 Provides: bundled(crate(rand_core)) = 0.10.1 Provides: bundled(crate(rand_core)) = 0.6.4 Provides: bundled(crate(rand_core)) = 0.9.5 Provides: bundled(crate(rand_pcg)) = 0.10.2 Provides: bundled(crate(rangemap)) = 1.7.1 Provides: bundled(crate(ratatui)) = 0.26.3 Provides: bundled(crate(rawpointer)) = 0.2.1 Provides: bundled(crate(rayon)) = 1.12.0 Provides: bundled(crate(rayon-cond)) = 0.4.0 Provides: bundled(crate(rayon-core)) = 1.13.0 Provides: bundled(crate(rcue)) = 0.1.3 Provides: bundled(crate(redox_syscall)) = 0.5.18 Provides: bundled(crate(ref-cast)) = 1.0.27 Provides: bundled(crate(ref-cast-impl)) = 1.0.27 Provides: bundled(crate(regex)) = 1.13.1 Provides: bundled(crate(regex-automata)) = 0.4.16 Provides: bundled(crate(regex-syntax)) = 0.8.11 Provides: bundled(crate(rend)) = 0.4.2 Provides: bundled(crate(reqwest)) = 0.12.28 Provides: bundled(crate(retrospector)) = 1.1.1 Provides: bundled(crate(ring)) = 0.17.14 Provides: bundled(crate(rkyv)) = 0.7.46 Provides: bundled(crate(rkyv_derive)) = 0.7.46 Provides: bundled(crate(roff)) = 1.1.1 Provides: bundled(crate(rpm)) = 0.26.0 Provides: bundled(crate(rpm-version)) = 0.5.1 Provides: bundled(crate(rust-strings)) = 0.6.5 Provides: bundled(crate(rust_decimal)) = 1.42.1 Provides: bundled(crate(rustc-demangle)) = 0.1.28 Provides: bundled(crate(rustc-hash)) = 2.1.3 Provides: bundled(crate(rustc_version)) = 0.4.1 Provides: bundled(crate(rustix)) = 0.38.44 Provides: bundled(crate(rustix)) = 1.1.4 Provides: bundled(crate(rustls)) = 0.23.43 Provides: bundled(crate(rustls-native-certs)) = 0.7.3 Provides: bundled(crate(rustls-native-certs)) = 0.8.4 Provides: bundled(crate(rustls-pemfile)) = 2.2.0 Provides: bundled(crate(rustls-pki-types)) = 1.15.1 Provides: bundled(crate(rustls-webpki)) = 0.102.8 Provides: bundled(crate(rustls-webpki)) = 0.103.13 Provides: bundled(crate(rustversion)) = 1.0.23 Provides: bundled(crate(ryu)) = 1.0.23 Provides: bundled(crate(same-file)) = 1.0.6 Provides: bundled(crate(schannel)) = 0.1.29 Provides: bundled(crate(schemars)) = 1.2.2 Provides: bundled(crate(scopeguard)) = 1.2.0 Provides: bundled(crate(scratch)) = 1.0.9 Provides: bundled(crate(scroll)) = 0.13.0 Provides: bundled(crate(scroll_derive)) = 0.13.1 Provides: bundled(crate(sd-notify)) = 0.4.5 Provides: bundled(crate(seahash)) = 4.1.0 Provides: bundled(crate(security-framework)) = 2.11.1 Provides: bundled(crate(security-framework)) = 3.7.0 Provides: bundled(crate(security-framework-sys)) = 2.17.0 Provides: bundled(crate(semver)) = 1.0.28 Provides: bundled(crate(serde)) = 1.0.229 Provides: bundled(crate(serde_core)) = 1.0.229 Provides: bundled(crate(serde_derive)) = 1.0.229 Provides: bundled(crate(serde_json)) = 1.0.151 Provides: bundled(crate(serde_nanos)) = 0.1.4 Provides: bundled(crate(serde_path_to_error)) = 0.1.20 Provides: bundled(crate(serde_repr)) = 0.1.21 Provides: bundled(crate(serde_spanned)) = 0.6.9 Provides: bundled(crate(serde_urlencoded)) = 0.7.1 Provides: bundled(crate(serde_yaml_ng)) = 0.10.0 Provides: bundled(crate(sevenz-rust)) = 0.6.1 Provides: bundled(crate(sha-1)) = 0.10.1 Provides: bundled(crate(sha1)) = 0.10.7 Provides: bundled(crate(sha1)) = 0.11.0 Provides: bundled(crate(sha2)) = 0.10.9 Provides: bundled(crate(sha2)) = 0.11.0 Provides: bundled(crate(sha3)) = 0.10.9 Provides: bundled(crate(sharded-slab)) = 0.1.7 Provides: bundled(crate(shlex)) = 1.3.0 Provides: bundled(crate(shlex)) = 2.0.1 Provides: bundled(crate(signal-hook)) = 0.3.18 Provides: bundled(crate(signal-hook-mio)) = 0.2.5 Provides: bundled(crate(signal-hook-registry)) = 1.4.8 Provides: bundled(crate(signatory)) = 0.27.1 Provides: bundled(crate(signature)) = 2.2.0 Provides: bundled(crate(simd-adler32)) = 0.3.10 Provides: bundled(crate(simdutf8)) = 0.1.5 Provides: bundled(crate(simple_logger)) = 5.2.0 Provides: bundled(crate(slab)) = 0.4.12 Provides: bundled(crate(smallvec)) = 1.15.2 Provides: bundled(crate(snafu)) = 0.8.9 Provides: bundled(crate(snafu-derive)) = 0.8.9 Provides: bundled(crate(socket2)) = 0.6.5 Provides: bundled(crate(spin)) = 0.9.9 Provides: bundled(crate(spki)) = 0.7.3 Provides: bundled(crate(spm_precompiled)) = 0.1.4 Provides: bundled(crate(sqlx)) = 0.9.0 Provides: bundled(crate(sqlx-core)) = 0.9.0 Provides: bundled(crate(sqlx-macros)) = 0.9.0 Provides: bundled(crate(sqlx-macros-core)) = 0.9.0 Provides: bundled(crate(sqlx-mysql)) = 0.9.0 Provides: bundled(crate(sqlx-postgres)) = 0.9.0 Provides: bundled(crate(sqlx-sqlite)) = 0.9.0 Provides: bundled(crate(stability)) = 0.2.1 Provides: bundled(crate(stable_deref_trait)) = 1.2.1 Provides: bundled(crate(static_assertions)) = 1.1.0 Provides: bundled(crate(stringprep)) = 0.1.5 Provides: bundled(crate(strsim)) = 0.11.1 Provides: bundled(crate(strum)) = 0.26.3 Provides: bundled(crate(strum)) = 0.27.2 Provides: bundled(crate(strum_macros)) = 0.26.4 Provides: bundled(crate(strum_macros)) = 0.27.2 Provides: bundled(crate(subtle)) = 2.6.1 Provides: bundled(crate(syn)) = 1.0.109 Provides: bundled(crate(syn)) = 2.0.119 Provides: bundled(crate(syn)) = 3.0.3 Provides: bundled(crate(sync_wrapper)) = 1.0.2 Provides: bundled(crate(synstructure)) = 0.13.2 Provides: bundled(crate(sysinfo)) = 0.39.6 Provides: bundled(crate(tap)) = 1.0.1 Provides: bundled(crate(tar)) = 0.4.46 Provides: bundled(crate(tempfile)) = 3.27.0 Provides: bundled(crate(termcolor)) = 1.4.1 Provides: bundled(crate(thiserror)) = 1.0.69 Provides: bundled(crate(thiserror)) = 2.0.19 Provides: bundled(crate(thiserror-impl)) = 1.0.69 Provides: bundled(crate(thiserror-impl)) = 2.0.19 Provides: bundled(crate(thread_local)) = 1.1.10 Provides: bundled(crate(time)) = 0.3.54 Provides: bundled(crate(time-core)) = 0.1.9 Provides: bundled(crate(time-macros)) = 0.2.32 Provides: bundled(crate(tinystr)) = 0.8.3 Provides: bundled(crate(tinytemplate)) = 1.2.1 Provides: bundled(crate(tinyvec)) = 1.12.0 Provides: bundled(crate(tinyvec_macros)) = 0.1.1 Provides: bundled(crate(tlsh2)) = 0.3.0 Provides: bundled(crate(tokenizers)) = 0.22.2 Provides: bundled(crate(tokio)) = 1.53.1 Provides: bundled(crate(tokio-macros)) = 2.7.2 Provides: bundled(crate(tokio-rustls)) = 0.26.4 Provides: bundled(crate(tokio-stream)) = 0.1.19 Provides: bundled(crate(tokio-util)) = 0.7.19 Provides: bundled(crate(tokio-websockets)) = 0.10.1 Provides: bundled(crate(toml)) = 0.8.23 Provides: bundled(crate(toml_datetime)) = 0.6.11 Provides: bundled(crate(toml_datetime)) = 1.1.1 Provides: bundled(crate(toml_edit)) = 0.22.27 Provides: bundled(crate(toml_edit)) = 0.25.13 Provides: bundled(crate(toml_parser)) = 1.1.3 Provides: bundled(crate(toml_write)) = 0.1.2 Provides: bundled(crate(tower)) = 0.5.3 Provides: bundled(crate(tower-http)) = 0.6.11 Provides: bundled(crate(tower-layer)) = 0.3.3 Provides: bundled(crate(tower-service)) = 0.3.3 Provides: bundled(crate(tracing)) = 0.1.44 Provides: bundled(crate(tracing-attributes)) = 0.1.31 Provides: bundled(crate(tracing-core)) = 0.1.36 Provides: bundled(crate(tracing-journald)) = 0.3.2 Provides: bundled(crate(tracing-log)) = 0.2.0 Provides: bundled(crate(tracing-subscriber)) = 0.3.23 Provides: bundled(crate(trait-make)) = 0.1.0 Provides: bundled(crate(try-lock)) = 0.2.5 Provides: bundled(crate(tryhard)) = 0.5.2 Provides: bundled(crate(ttf-parser)) = 0.25.1 Provides: bundled(crate(tui-tree-widget)) = 0.19.0 Provides: bundled(crate(twox-hash)) = 2.1.3 Provides: bundled(crate(typenum)) = 1.20.1 Provides: bundled(crate(uds_windows)) = 1.2.1 Provides: bundled(crate(unicase)) = 2.9.0 Provides: bundled(crate(unicode-bidi)) = 0.3.18 Provides: bundled(crate(unicode-ident)) = 1.0.24 Provides: bundled(crate(unicode-normalization)) = 0.1.25 Provides: bundled(crate(unicode-normalization-alignments)) = 0.1.12 Provides: bundled(crate(unicode-properties)) = 0.1.4 Provides: bundled(crate(unicode-segmentation)) = 1.13.3 Provides: bundled(crate(unicode-truncate)) = 1.1.0 Provides: bundled(crate(unicode-width)) = 0.1.14 Provides: bundled(crate(unicode-width)) = 0.2.2 Provides: bundled(crate(unicode-xid)) = 0.2.6 Provides: bundled(crate(unicode_categories)) = 0.1.1 Provides: bundled(crate(unsafe-libyaml)) = 0.2.11 Provides: bundled(crate(untrusted)) = 0.9.0 Provides: bundled(crate(url)) = 2.5.8 Provides: bundled(crate(usearch)) = 2.26.0 Provides: bundled(crate(utf8-width)) = 0.1.9 Provides: bundled(crate(utf8_iter)) = 1.0.4 Provides: bundled(crate(utf8parse)) = 0.2.2 Provides: bundled(crate(uuid)) = 1.24.0 Provides: bundled(crate(valuable)) = 0.1.1 Provides: bundled(crate(vcpkg)) = 0.2.15 Provides: bundled(crate(version_check)) = 0.9.5 Provides: bundled(crate(vsprintf)) = 2.0.0 Provides: bundled(crate(walkdir)) = 2.5.0 Provides: bundled(crate(want)) = 0.3.1 Provides: bundled(crate(wasi)) = 0.11.1 Provides: bundled(crate(wasip2)) = 1.0.4 Provides: bundled(crate(wasm-bindgen)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-futures)) = 0.4.76 Provides: bundled(crate(wasm-bindgen-macro)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-macro-support)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-shared)) = 0.2.126 Provides: bundled(crate(wasm-streams)) = 0.4.2 Provides: bundled(crate(web-sys)) = 0.3.103 Provides: bundled(crate(web-time)) = 1.1.0 Provides: bundled(crate(webpki-roots)) = 1.0.9 Provides: bundled(crate(weezl)) = 0.1.12 Provides: bundled(crate(whoami)) = 2.1.2 Provides: bundled(crate(winapi)) = 0.3.9 Provides: bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0 Provides: bundled(crate(winapi-util)) = 0.1.11 Provides: bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0 Provides: bundled(crate(windows)) = 0.62.2 Provides: bundled(crate(windows-collections)) = 0.3.2 Provides: bundled(crate(windows-core)) = 0.62.2 Provides: bundled(crate(windows-future)) = 0.3.2 Provides: bundled(crate(windows-implement)) = 0.60.2 Provides: bundled(crate(windows-interface)) = 0.59.3 Provides: bundled(crate(windows-link)) = 0.2.1 Provides: bundled(crate(windows-numerics)) = 0.3.1 Provides: bundled(crate(windows-result)) = 0.4.1 Provides: bundled(crate(windows-strings)) = 0.5.1 Provides: bundled(crate(windows-sys)) = 0.48.0 Provides: bundled(crate(windows-sys)) = 0.52.0 Provides: bundled(crate(windows-sys)) = 0.59.0 Provides: bundled(crate(windows-sys)) = 0.61.2 Provides: bundled(crate(windows-targets)) = 0.48.5 Provides: bundled(crate(windows-targets)) = 0.52.6 Provides: bundled(crate(windows-threading)) = 0.2.1 Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.48.5 Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_aarch64_msvc)) = 0.48.5 Provides: bundled(crate(windows_aarch64_msvc)) = 0.52.6 Provides: bundled(crate(windows_i686_gnu)) = 0.48.5 Provides: bundled(crate(windows_i686_gnu)) = 0.52.6 Provides: bundled(crate(windows_i686_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_i686_msvc)) = 0.48.5 Provides: bundled(crate(windows_i686_msvc)) = 0.52.6 Provides: bundled(crate(windows_x86_64_gnu)) = 0.48.5 Provides: bundled(crate(windows_x86_64_gnu)) = 0.52.6 Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.48.5 Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_x86_64_msvc)) = 0.48.5 Provides: bundled(crate(windows_x86_64_msvc)) = 0.52.6 Provides: bundled(crate(winnow)) = 0.7.15 Provides: bundled(crate(winnow)) = 1.0.4 Provides: bundled(crate(wit-bindgen)) = 0.57.1 Provides: bundled(crate(writeable)) = 0.6.3 Provides: bundled(crate(wyz)) = 0.5.1 Provides: bundled(crate(xattr)) = 1.6.1 Provides: bundled(crate(yoke)) = 0.8.3 Provides: bundled(crate(yoke-derive)) = 0.8.2 Provides: bundled(crate(zbus)) = 5.18.0 Provides: bundled(crate(zbus_macros)) = 5.18.0 Provides: bundled(crate(zbus_names)) = 4.3.4 Provides: bundled(crate(zerocopy)) = 0.8.55 Provides: bundled(crate(zerocopy-derive)) = 0.8.55 Provides: bundled(crate(zerofrom)) = 0.1.8 Provides: bundled(crate(zerofrom-derive)) = 0.1.7 Provides: bundled(crate(zeroize)) = 1.9.0 Provides: bundled(crate(zerotrie)) = 0.2.4 Provides: bundled(crate(zerovec)) = 0.11.6 Provides: bundled(crate(zerovec-derive)) = 0.11.3 Provides: bundled(crate(zip)) = 2.4.2 Provides: bundled(crate(zmij)) = 1.0.23 Provides: bundled(crate(zopfli)) = 0.8.3 Provides: bundled(crate(zstd)) = 0.13.3 Provides: bundled(crate(zstd-safe)) = 7.2.4 Provides: bundled(crate(zstd-sys)) = 2.0.16 Provides: bundled(crate(zvariant)) = 5.13.1 Provides: bundled(crate(zvariant_derive)) = 5.13.1 Provides: bundled(crate(zvariant_utils)) = 3.5.0 %description -n fxcp fxcp is a smart filesystem copy tool — an rsync replacement with CoW/reflink, io_uring, BLAKE3 delta detection, and adaptive tuning. Does not require root or BPF. # ---- Subpackage: foxingd (not built on riscv64) ---- %if %{build_foxingd} %package -n foxingd Summary: Filesystem replication daemon powered by eBPF Conflicts: fxcp Requires: libbpf Requires: bpftool Requires(pre): systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(post): policycoreutils Requires(postun): policycoreutils Provides: bundled(crate(adler2)) = 2.0.1 Provides: bundled(crate(aes)) = 0.8.4 Provides: bundled(crate(ahash)) = 0.7.8 Provides: bundled(crate(ahash)) = 0.8.12 Provides: bundled(crate(aho-corasick)) = 1.1.4 Provides: bundled(crate(allocator-api2)) = 0.2.21 Provides: bundled(crate(android_system_properties)) = 0.1.5 Provides: bundled(crate(anes)) = 0.1.6 Provides: bundled(crate(anstream)) = 1.0.0 Provides: bundled(crate(anstyle)) = 1.0.14 Provides: bundled(crate(anstyle-parse)) = 1.0.0 Provides: bundled(crate(anstyle-query)) = 1.1.5 Provides: bundled(crate(anstyle-wincon)) = 3.0.11 Provides: bundled(crate(anyhow)) = 1.0.104 Provides: bundled(crate(arbitrary)) = 1.4.2 Provides: bundled(crate(arrayref)) = 0.3.9 Provides: bundled(crate(arrayvec)) = 0.7.8 Provides: bundled(crate(async-broadcast)) = 0.7.2 Provides: bundled(crate(async-channel)) = 2.5.0 Provides: bundled(crate(async-executor)) = 1.14.0 Provides: bundled(crate(async-io)) = 2.6.0 Provides: bundled(crate(async-lock)) = 3.4.2 Provides: bundled(crate(async-nats)) = 0.38.0 Provides: bundled(crate(async-notify)) = 0.3.4 Provides: bundled(crate(async-process)) = 2.5.0 Provides: bundled(crate(async-recursion)) = 1.1.1 Provides: bundled(crate(async-signal)) = 0.2.14 Provides: bundled(crate(async-task)) = 4.7.1 Provides: bundled(crate(async-trait)) = 0.1.91 Provides: bundled(crate(atoi)) = 2.0.0 Provides: bundled(crate(atomic-waker)) = 1.1.2 Provides: bundled(crate(autocfg)) = 1.5.1 Provides: bundled(crate(aws-lc-rs)) = 1.17.3 Provides: bundled(crate(aws-lc-sys)) = 0.43.0 Provides: bundled(crate(axum)) = 0.8.9 Provides: bundled(crate(axum-core)) = 0.5.6 Provides: bundled(crate(base64)) = 0.13.1 Provides: bundled(crate(base64)) = 0.22.1 Provides: bundled(crate(base64)) = 0.23.0 Provides: bundled(crate(base64ct)) = 1.8.3 Provides: bundled(crate(bincode)) = 1.3.3 Provides: bundled(crate(bindgen)) = 0.71.1 Provides: bundled(crate(bit-set)) = 0.6.0 Provides: bundled(crate(bit-set)) = 0.8.0 Provides: bundled(crate(bit-vec)) = 0.7.0 Provides: bundled(crate(bit-vec)) = 0.8.0 Provides: bundled(crate(bitflags)) = 1.3.2 Provides: bundled(crate(bitflags)) = 2.13.1 Provides: bundled(crate(bitvec)) = 1.1.1 Provides: bundled(crate(blake3)) = 1.8.5 Provides: bundled(crate(block-buffer)) = 0.10.4 Provides: bundled(crate(block-buffer)) = 0.12.1 Provides: bundled(crate(block-padding)) = 0.3.3 Provides: bundled(crate(blocking)) = 1.6.2 Provides: bundled(crate(borsh)) = 1.8.1 Provides: bundled(crate(borsh-derive)) = 1.8.1 Provides: bundled(crate(bumpalo)) = 3.20.3 Provides: bundled(crate(byte-unit)) = 5.2.5 Provides: bundled(crate(bytecheck)) = 0.6.12 Provides: bundled(crate(bytecheck_derive)) = 0.6.12 Provides: bundled(crate(byteorder)) = 1.5.0 Provides: bundled(crate(bytes)) = 1.12.1 Provides: bundled(crate(bzip2)) = 0.5.2 Provides: bundled(crate(bzip2-sys)) = 0.1.13 Provides: bundled(crate(calamine)) = 0.26.1 Provides: bundled(crate(camino)) = 1.2.5 Provides: bundled(crate(capstone)) = 0.14.0 Provides: bundled(crate(capstone-sys)) = 0.18.0 Provides: bundled(crate(cargo-platform)) = 0.1.9 Provides: bundled(crate(cargo_metadata)) = 0.19.2 Provides: bundled(crate(cassowary)) = 0.3.0 Provides: bundled(crate(cast)) = 0.3.0 Provides: bundled(crate(castaway)) = 0.2.4 Provides: bundled(crate(cbc)) = 0.1.2 Provides: bundled(crate(cc)) = 1.4.0 Provides: bundled(crate(cexpr)) = 0.6.0 Provides: bundled(crate(cfg-if)) = 1.0.4 Provides: bundled(crate(cfg_aliases)) = 0.2.2 Provides: bundled(crate(chacha20)) = 0.10.1 Provides: bundled(crate(chrono)) = 0.4.45 Provides: bundled(crate(ciborium)) = 0.2.2 Provides: bundled(crate(ciborium-io)) = 0.2.2 Provides: bundled(crate(ciborium-ll)) = 0.2.2 Provides: bundled(crate(cipher)) = 0.4.4 Provides: bundled(crate(clang-sys)) = 1.9.1 Provides: bundled(crate(clap)) = 4.6.4 Provides: bundled(crate(clap_builder)) = 4.6.2 Provides: bundled(crate(clap_complete)) = 4.6.8 Provides: bundled(crate(clap_derive)) = 4.6.4 Provides: bundled(crate(clap_lex)) = 1.1.0 Provides: bundled(crate(clap_mangen)) = 0.2.33 Provides: bundled(crate(cloudevents-sdk)) = 0.9.0 Provides: bundled(crate(cmake)) = 0.1.58 Provides: bundled(crate(cmov)) = 0.5.4 Provides: bundled(crate(codepage)) = 0.1.2 Provides: bundled(crate(codespan-reporting)) = 0.13.1 Provides: bundled(crate(colorchoice)) = 1.0.5 Provides: bundled(crate(colored)) = 3.1.1 Provides: bundled(crate(comfy-table)) = 7.2.2 Provides: bundled(crate(compact_str)) = 0.7.1 Provides: bundled(crate(compact_str)) = 0.9.1 Provides: bundled(crate(concurrent-queue)) = 2.5.0 Provides: bundled(crate(const-oid)) = 0.10.2 Provides: bundled(crate(const-oid)) = 0.9.6 Provides: bundled(crate(const_format)) = 0.2.36 Provides: bundled(crate(const_format_proc_macros)) = 0.2.34 Provides: bundled(crate(constant_time_eq)) = 0.4.2 Provides: bundled(crate(core-foundation)) = 0.10.1 Provides: bundled(crate(core-foundation)) = 0.9.4 Provides: bundled(crate(core-foundation-sys)) = 0.8.7 Provides: bundled(crate(cpp_demangle)) = 0.4.5 Provides: bundled(crate(cpufeatures)) = 0.2.17 Provides: bundled(crate(cpufeatures)) = 0.3.0 Provides: bundled(crate(crc)) = 3.4.0 Provides: bundled(crate(crc-catalog)) = 2.5.0 Provides: bundled(crate(crc32fast)) = 1.5.0 Provides: bundled(crate(criterion)) = 0.5.1 Provides: bundled(crate(criterion-plot)) = 0.5.0 Provides: bundled(crate(crossbeam)) = 0.8.4 Provides: bundled(crate(crossbeam-channel)) = 0.5.16 Provides: bundled(crate(crossbeam-deque)) = 0.8.7 Provides: bundled(crate(crossbeam-epoch)) = 0.9.20 Provides: bundled(crate(crossbeam-queue)) = 0.3.13 Provides: bundled(crate(crossbeam-utils)) = 0.8.22 Provides: bundled(crate(crossterm)) = 0.27.0 Provides: bundled(crate(crossterm)) = 0.29.0 Provides: bundled(crate(crossterm_winapi)) = 0.9.1 Provides: bundled(crate(crunchy)) = 0.2.4 Provides: bundled(crate(crypto-common)) = 0.1.7 Provides: bundled(crate(crypto-common)) = 0.2.2 Provides: bundled(crate(ctutils)) = 0.4.2 Provides: bundled(crate(curve25519-dalek)) = 4.1.3 Provides: bundled(crate(curve25519-dalek-derive)) = 0.1.1 Provides: bundled(crate(cxx)) = 1.0.198 Provides: bundled(crate(cxx-build)) = 1.0.198 Provides: bundled(crate(cxxbridge-cmd)) = 1.0.198 Provides: bundled(crate(cxxbridge-flags)) = 1.0.198 Provides: bundled(crate(cxxbridge-macro)) = 1.0.198 Provides: bundled(crate(darling)) = 0.20.11 Provides: bundled(crate(darling_core)) = 0.20.11 Provides: bundled(crate(darling_macro)) = 0.20.11 Provides: bundled(crate(dary_heap)) = 0.3.9 Provides: bundled(crate(dashmap)) = 6.2.1 Provides: bundled(crate(data-encoding)) = 2.11.0 Provides: bundled(crate(delegate-attr)) = 0.3.0 Provides: bundled(crate(der)) = 0.7.10 Provides: bundled(crate(deranged)) = 0.5.8 Provides: bundled(crate(derive_arbitrary)) = 1.4.2 Provides: bundled(crate(derive_builder)) = 0.20.2 Provides: bundled(crate(derive_builder_core)) = 0.20.2 Provides: bundled(crate(derive_builder_macro)) = 0.20.2 Provides: bundled(crate(digest)) = 0.10.7 Provides: bundled(crate(digest)) = 0.11.3 Provides: bundled(crate(dispatch2)) = 0.3.1 Provides: bundled(crate(displaydoc)) = 0.2.7 Provides: bundled(crate(document-features)) = 0.2.12 Provides: bundled(crate(dotenvy)) = 0.15.7 Provides: bundled(crate(dunce)) = 1.0.5 Provides: bundled(crate(dyn-clone)) = 1.0.20 Provides: bundled(crate(ecb)) = 0.1.2 Provides: bundled(crate(ed25519)) = 2.2.3 Provides: bundled(crate(ed25519-dalek)) = 2.2.0 Provides: bundled(crate(either)) = 1.17.0 Provides: bundled(crate(encoding_rs)) = 0.8.35 Provides: bundled(crate(endi)) = 1.1.1 Provides: bundled(crate(enum-display-derive)) = 0.1.1 Provides: bundled(crate(enum-primitive-derive)) = 0.3.0 Provides: bundled(crate(enumflags2)) = 0.7.12 Provides: bundled(crate(enumflags2_derive)) = 0.7.12 Provides: bundled(crate(equivalent)) = 1.0.2 Provides: bundled(crate(errno)) = 0.3.14 Provides: bundled(crate(esaxx-rs)) = 0.1.10 Provides: bundled(crate(etcetera)) = 0.11.0 Provides: bundled(crate(event-listener)) = 5.4.2 Provides: bundled(crate(event-listener-strategy)) = 0.5.4 Provides: bundled(crate(fancy-regex)) = 0.14.0 Provides: bundled(crate(fastrand)) = 2.5.0 Provides: bundled(crate(fiat-crypto)) = 0.2.9 Provides: bundled(crate(file-format)) = 0.29.0 Provides: bundled(crate(filetime)) = 0.2.29 Provides: bundled(crate(filetime_creation)) = 0.2.0 Provides: bundled(crate(find-msvc-tools)) = 0.1.9 Provides: bundled(crate(flate2)) = 1.1.9 Provides: bundled(crate(flume)) = 0.12.0 Provides: bundled(crate(fnv)) = 1.0.7 Provides: bundled(crate(foldhash)) = 0.1.5 Provides: bundled(crate(foldhash)) = 0.2.0 Provides: bundled(crate(foreign-types)) = 0.3.2 Provides: bundled(crate(foreign-types-shared)) = 0.1.1 Provides: bundled(crate(form_urlencoded)) = 1.2.2 Provides: bundled(crate(fs_extra)) = 1.3.0 Provides: bundled(crate(fsevent-sys)) = 4.1.0 Provides: bundled(crate(funty)) = 2.0.0 Provides: bundled(crate(fuse3)) = 0.8.1 Provides: bundled(crate(futures)) = 0.3.33 Provides: bundled(crate(futures-channel)) = 0.3.33 Provides: bundled(crate(futures-core)) = 0.3.33 Provides: bundled(crate(futures-executor)) = 0.3.33 Provides: bundled(crate(futures-intrusive)) = 0.5.0 Provides: bundled(crate(futures-io)) = 0.3.33 Provides: bundled(crate(futures-lite)) = 2.6.1 Provides: bundled(crate(futures-macro)) = 0.3.33 Provides: bundled(crate(futures-sink)) = 0.3.33 Provides: bundled(crate(futures-task)) = 0.3.33 Provides: bundled(crate(futures-util)) = 0.3.33 Provides: bundled(crate(fxhash)) = 0.2.1 Provides: bundled(crate(generic-array)) = 0.14.7 Provides: bundled(crate(getrandom)) = 0.2.17 Provides: bundled(crate(getrandom)) = 0.3.4 Provides: bundled(crate(getrandom)) = 0.4.3 Provides: bundled(crate(getset)) = 0.1.7 Provides: bundled(crate(gguf-rs)) = 0.1.8 Provides: bundled(crate(glob)) = 0.3.4 Provides: bundled(crate(goblin)) = 0.10.7 Provides: bundled(crate(h2)) = 0.4.15 Provides: bundled(crate(half)) = 2.7.1 Provides: bundled(crate(hashbrown)) = 0.12.3 Provides: bundled(crate(hashbrown)) = 0.14.5 Provides: bundled(crate(hashbrown)) = 0.15.5 Provides: bundled(crate(hashbrown)) = 0.16.1 Provides: bundled(crate(hashbrown)) = 0.17.1 Provides: bundled(crate(hashlink)) = 0.11.1 Provides: bundled(crate(heck)) = 0.5.0 Provides: bundled(crate(hermit-abi)) = 0.5.2 Provides: bundled(crate(hex)) = 0.4.3 Provides: bundled(crate(hkdf)) = 0.13.0 Provides: bundled(crate(hmac)) = 0.13.0 Provides: bundled(crate(hostname)) = 0.4.2 Provides: bundled(crate(http)) = 1.5.0 Provides: bundled(crate(http-body)) = 1.1.0 Provides: bundled(crate(http-body-util)) = 0.1.4 Provides: bundled(crate(httparse)) = 1.10.1 Provides: bundled(crate(httpdate)) = 1.0.3 Provides: bundled(crate(humantime)) = 2.4.0 Provides: bundled(crate(hybrid-array)) = 0.4.14 Provides: bundled(crate(hyper)) = 1.11.0 Provides: bundled(crate(hyper-rustls)) = 0.27.9 Provides: bundled(crate(hyper-util)) = 0.1.20 Provides: bundled(crate(iana-time-zone)) = 0.1.65 Provides: bundled(crate(iana-time-zone-haiku)) = 0.1.2 Provides: bundled(crate(icu_collections)) = 2.2.0 Provides: bundled(crate(icu_locale_core)) = 2.2.0 Provides: bundled(crate(icu_normalizer)) = 2.2.0 Provides: bundled(crate(icu_normalizer_data)) = 2.2.0 Provides: bundled(crate(icu_properties)) = 2.2.0 Provides: bundled(crate(icu_properties_data)) = 2.2.0 Provides: bundled(crate(icu_provider)) = 2.2.0 Provides: bundled(crate(ident_case)) = 1.0.1 Provides: bundled(crate(idna)) = 1.1.0 Provides: bundled(crate(idna_adapter)) = 1.2.2 Provides: bundled(crate(indexmap)) = 2.14.0 Provides: bundled(crate(infer)) = 0.22.0 Provides: bundled(crate(inotify)) = 0.9.6 Provides: bundled(crate(inotify-sys)) = 0.1.8 Provides: bundled(crate(inout)) = 0.1.4 Provides: bundled(crate(io-uring)) = 0.7.13 Provides: bundled(crate(ipnet)) = 2.12.0 Provides: bundled(crate(is-terminal)) = 0.4.17 Provides: bundled(crate(is_terminal_polyfill)) = 1.70.2 Provides: bundled(crate(itertools)) = 0.10.5 Provides: bundled(crate(itertools)) = 0.12.1 Provides: bundled(crate(itertools)) = 0.13.0 Provides: bundled(crate(itertools)) = 0.14.0 Provides: bundled(crate(itertools)) = 0.15.0 Provides: bundled(crate(itoa)) = 1.0.18 Provides: bundled(crate(jobserver)) = 0.1.35 Provides: bundled(crate(js-sys)) = 0.3.103 Provides: bundled(crate(kamadak-exif)) = 0.6.1 Provides: bundled(crate(keccak)) = 0.1.6 Provides: bundled(crate(konst)) = 0.2.20 Provides: bundled(crate(konst_macro_rules)) = 0.2.19 Provides: bundled(crate(kqueue)) = 1.2.0 Provides: bundled(crate(kqueue-sys)) = 1.1.2 Provides: bundled(crate(ktls)) = 6.0.2 Provides: bundled(crate(ktls-sys)) = 1.0.2 Provides: bundled(crate(lazy_static)) = 1.5.0 Provides: bundled(crate(libbpf-cargo)) = 0.26.2 Provides: bundled(crate(libbpf-rs)) = 0.26.2 Provides: bundled(crate(libbpf-sys)) = 1.7.0 Provides: bundled(crate(libc)) = 0.2.189 Provides: bundled(crate(libgssapi)) = 0.11.0 Provides: bundled(crate(libgssapi-sys)) = 0.3.4 Provides: bundled(crate(libloading)) = 0.8.9 Provides: bundled(crate(libloading)) = 0.9.0 Provides: bundled(crate(liblzma)) = 0.4.7 Provides: bundled(crate(liblzma-sys)) = 0.4.7 Provides: bundled(crate(libsqlite3-sys)) = 0.37.0 Provides: bundled(crate(link-cplusplus)) = 1.0.12 Provides: bundled(crate(linux-raw-sys)) = 0.12.1 Provides: bundled(crate(linux-raw-sys)) = 0.4.15 Provides: bundled(crate(litemap)) = 0.8.2 Provides: bundled(crate(litrs)) = 1.0.0 Provides: bundled(crate(lock_api)) = 0.4.14 Provides: bundled(crate(lofty)) = 0.24.0 Provides: bundled(crate(lofty_attr)) = 0.12.0 Provides: bundled(crate(log)) = 0.4.33 Provides: bundled(crate(lopdf)) = 0.42.0 Provides: bundled(crate(lru)) = 0.12.5 Provides: bundled(crate(lru-slab)) = 0.1.2 Provides: bundled(crate(lz4_flex)) = 0.11.6 Provides: bundled(crate(lzma-rust)) = 0.1.7 Provides: bundled(crate(macro_rules_attribute)) = 0.2.3 Provides: bundled(crate(macro_rules_attribute-proc_macro)) = 0.2.3 Provides: bundled(crate(magika)) = 1.0.1 Provides: bundled(crate(matchers)) = 0.2.0 Provides: bundled(crate(matchit)) = 0.8.4 Provides: bundled(crate(matrixmultiply)) = 0.3.11 Provides: bundled(crate(md-5)) = 0.10.6 Provides: bundled(crate(md-5)) = 0.11.0 Provides: bundled(crate(memchr)) = 2.8.3 Provides: bundled(crate(memmap2)) = 0.9.11 Provides: bundled(crate(memoffset)) = 0.9.1 Provides: bundled(crate(mime)) = 0.3.17 Provides: bundled(crate(mime_guess)) = 2.0.5 Provides: bundled(crate(minimal-lexical)) = 0.2.1 Provides: bundled(crate(miniz_oxide)) = 0.8.9 Provides: bundled(crate(mio)) = 0.8.11 Provides: bundled(crate(mio)) = 1.2.2 Provides: bundled(crate(monostate)) = 0.1.18 Provides: bundled(crate(monostate-impl)) = 0.1.18 Provides: bundled(crate(mutate_once)) = 0.1.2 Provides: bundled(crate(native-tls)) = 0.2.18 Provides: bundled(crate(ndarray)) = 0.17.2 Provides: bundled(crate(nix)) = 0.29.0 Provides: bundled(crate(nix)) = 0.31.3 Provides: bundled(crate(nkeys)) = 0.4.5 Provides: bundled(crate(nom)) = 7.1.3 Provides: bundled(crate(nom)) = 8.0.0 Provides: bundled(crate(notify)) = 6.1.1 Provides: bundled(crate(nt-time)) = 0.8.1 Provides: bundled(crate(ntapi)) = 0.4.3 Provides: bundled(crate(nu-ansi-term)) = 0.50.3 Provides: bundled(crate(nuid)) = 0.5.0 Provides: bundled(crate(num)) = 0.4.3 Provides: bundled(crate(num-bigint)) = 0.4.8 Provides: bundled(crate(num-complex)) = 0.4.6 Provides: bundled(crate(num-conv)) = 0.2.2 Provides: bundled(crate(num-derive)) = 0.5.1 Provides: bundled(crate(num-integer)) = 0.1.46 Provides: bundled(crate(num-iter)) = 0.1.46 Provides: bundled(crate(num-rational)) = 0.4.2 Provides: bundled(crate(num-traits)) = 0.2.19 Provides: bundled(crate(num_enum)) = 0.7.6 Provides: bundled(crate(num_enum_derive)) = 0.7.6 Provides: bundled(crate(num_threads)) = 0.1.7 Provides: bundled(crate(numkong)) = 7.7.1 Provides: bundled(crate(objc2)) = 0.6.4 Provides: bundled(crate(objc2-core-foundation)) = 0.3.2 Provides: bundled(crate(objc2-encode)) = 4.1.0 Provides: bundled(crate(objc2-foundation)) = 0.3.2 Provides: bundled(crate(objc2-io-kit)) = 0.3.2 Provides: bundled(crate(objc2-open-directory)) = 0.3.2 Provides: bundled(crate(object_store)) = 0.11.2 Provides: bundled(crate(oci-spec)) = 0.10.0 Provides: bundled(crate(ogg_pager)) = 0.7.2 Provides: bundled(crate(once_cell)) = 1.21.4 Provides: bundled(crate(once_cell_polyfill)) = 1.70.2 Provides: bundled(crate(oorandom)) = 11.1.5 Provides: bundled(crate(openssl)) = 0.10.81 Provides: bundled(crate(openssl-macros)) = 0.1.1 Provides: bundled(crate(openssl-probe)) = 0.1.6 Provides: bundled(crate(openssl-probe)) = 0.2.1 Provides: bundled(crate(openssl-sys)) = 0.9.117 Provides: bundled(crate(ordered-stream)) = 0.2.0 Provides: bundled(crate(ort)) = 2.0.0-rc.11 Provides: bundled(crate(ort-sys)) = 2.0.0-rc.11 Provides: bundled(crate(oxigeo-metadata)) = 0.2.4 Provides: bundled(crate(parking)) = 2.2.1 Provides: bundled(crate(parking_lot)) = 0.12.5 Provides: bundled(crate(parking_lot_core)) = 0.9.12 Provides: bundled(crate(paste)) = 1.0.15 Provides: bundled(crate(pastey)) = 0.2.3 Provides: bundled(crate(pathdiff)) = 0.2.3 Provides: bundled(crate(pem-rfc7468)) = 0.7.0 Provides: bundled(crate(percent-encoding)) = 2.3.2 Provides: bundled(crate(pgvector)) = 0.4.2 Provides: bundled(crate(pin-project)) = 1.1.13 Provides: bundled(crate(pin-project-internal)) = 1.1.13 Provides: bundled(crate(pin-project-lite)) = 0.2.17 Provides: bundled(crate(piper)) = 0.2.5 Provides: bundled(crate(pkcs8)) = 0.10.2 Provides: bundled(crate(pkg-config)) = 0.3.33 Provides: bundled(crate(plain)) = 0.2.3 Provides: bundled(crate(plotters)) = 0.3.7 Provides: bundled(crate(plotters-backend)) = 0.3.7 Provides: bundled(crate(plotters-svg)) = 0.3.7 Provides: bundled(crate(polling)) = 3.11.0 Provides: bundled(crate(portable-atomic)) = 1.14.0 Provides: bundled(crate(portable-atomic-util)) = 0.2.7 Provides: bundled(crate(potential_utf)) = 0.1.5 Provides: bundled(crate(powerfmt)) = 0.2.0 Provides: bundled(crate(ppv-lite86)) = 0.2.21 Provides: bundled(crate(prettyplease)) = 0.2.37 Provides: bundled(crate(proc-macro-crate)) = 3.5.0 Provides: bundled(crate(proc-macro2)) = 1.0.107 Provides: bundled(crate(procfs)) = 0.17.0 Provides: bundled(crate(procfs-core)) = 0.17.0 Provides: bundled(crate(prometheus)) = 0.14.0 Provides: bundled(crate(protobuf)) = 3.7.2 Provides: bundled(crate(protobuf-support)) = 3.7.2 Provides: bundled(crate(ptr_meta)) = 0.1.4 Provides: bundled(crate(ptr_meta_derive)) = 0.1.4 Provides: bundled(crate(quick-xml)) = 0.31.0 Provides: bundled(crate(quick-xml)) = 0.37.5 Provides: bundled(crate(quick-xml)) = 0.39.4 Provides: bundled(crate(quinn)) = 0.11.11 Provides: bundled(crate(quinn-proto)) = 0.11.16 Provides: bundled(crate(quinn-udp)) = 0.5.15 Provides: bundled(crate(quote)) = 1.0.47 Provides: bundled(crate(r-efi)) = 5.3.0 Provides: bundled(crate(r-efi)) = 6.0.0 Provides: bundled(crate(radium)) = 0.7.0 Provides: bundled(crate(rand)) = 0.10.2 Provides: bundled(crate(rand)) = 0.8.7 Provides: bundled(crate(rand)) = 0.9.5 Provides: bundled(crate(rand_chacha)) = 0.3.1 Provides: bundled(crate(rand_chacha)) = 0.9.0 Provides: bundled(crate(rand_core)) = 0.10.1 Provides: bundled(crate(rand_core)) = 0.6.4 Provides: bundled(crate(rand_core)) = 0.9.5 Provides: bundled(crate(rand_pcg)) = 0.10.2 Provides: bundled(crate(rangemap)) = 1.7.1 Provides: bundled(crate(ratatui)) = 0.26.3 Provides: bundled(crate(rawpointer)) = 0.2.1 Provides: bundled(crate(rayon)) = 1.12.0 Provides: bundled(crate(rayon-cond)) = 0.4.0 Provides: bundled(crate(rayon-core)) = 1.13.0 Provides: bundled(crate(rcue)) = 0.1.3 Provides: bundled(crate(redox_syscall)) = 0.5.18 Provides: bundled(crate(ref-cast)) = 1.0.27 Provides: bundled(crate(ref-cast-impl)) = 1.0.27 Provides: bundled(crate(regex)) = 1.13.1 Provides: bundled(crate(regex-automata)) = 0.4.16 Provides: bundled(crate(regex-syntax)) = 0.8.11 Provides: bundled(crate(rend)) = 0.4.2 Provides: bundled(crate(reqwest)) = 0.12.28 Provides: bundled(crate(retrospector)) = 1.1.1 Provides: bundled(crate(ring)) = 0.17.14 Provides: bundled(crate(rkyv)) = 0.7.46 Provides: bundled(crate(rkyv_derive)) = 0.7.46 Provides: bundled(crate(roff)) = 1.1.1 Provides: bundled(crate(rpm)) = 0.26.0 Provides: bundled(crate(rpm-version)) = 0.5.1 Provides: bundled(crate(rust-strings)) = 0.6.5 Provides: bundled(crate(rust_decimal)) = 1.42.1 Provides: bundled(crate(rustc-demangle)) = 0.1.28 Provides: bundled(crate(rustc-hash)) = 2.1.3 Provides: bundled(crate(rustc_version)) = 0.4.1 Provides: bundled(crate(rustix)) = 0.38.44 Provides: bundled(crate(rustix)) = 1.1.4 Provides: bundled(crate(rustls)) = 0.23.43 Provides: bundled(crate(rustls-native-certs)) = 0.7.3 Provides: bundled(crate(rustls-native-certs)) = 0.8.4 Provides: bundled(crate(rustls-pemfile)) = 2.2.0 Provides: bundled(crate(rustls-pki-types)) = 1.15.1 Provides: bundled(crate(rustls-webpki)) = 0.102.8 Provides: bundled(crate(rustls-webpki)) = 0.103.13 Provides: bundled(crate(rustversion)) = 1.0.23 Provides: bundled(crate(ryu)) = 1.0.23 Provides: bundled(crate(same-file)) = 1.0.6 Provides: bundled(crate(schannel)) = 0.1.29 Provides: bundled(crate(schemars)) = 1.2.2 Provides: bundled(crate(scopeguard)) = 1.2.0 Provides: bundled(crate(scratch)) = 1.0.9 Provides: bundled(crate(scroll)) = 0.13.0 Provides: bundled(crate(scroll_derive)) = 0.13.1 Provides: bundled(crate(sd-notify)) = 0.4.5 Provides: bundled(crate(seahash)) = 4.1.0 Provides: bundled(crate(security-framework)) = 2.11.1 Provides: bundled(crate(security-framework)) = 3.7.0 Provides: bundled(crate(security-framework-sys)) = 2.17.0 Provides: bundled(crate(semver)) = 1.0.28 Provides: bundled(crate(serde)) = 1.0.229 Provides: bundled(crate(serde_core)) = 1.0.229 Provides: bundled(crate(serde_derive)) = 1.0.229 Provides: bundled(crate(serde_json)) = 1.0.151 Provides: bundled(crate(serde_nanos)) = 0.1.4 Provides: bundled(crate(serde_path_to_error)) = 0.1.20 Provides: bundled(crate(serde_repr)) = 0.1.21 Provides: bundled(crate(serde_spanned)) = 0.6.9 Provides: bundled(crate(serde_urlencoded)) = 0.7.1 Provides: bundled(crate(serde_yaml_ng)) = 0.10.0 Provides: bundled(crate(sevenz-rust)) = 0.6.1 Provides: bundled(crate(sha-1)) = 0.10.1 Provides: bundled(crate(sha1)) = 0.10.7 Provides: bundled(crate(sha1)) = 0.11.0 Provides: bundled(crate(sha2)) = 0.10.9 Provides: bundled(crate(sha2)) = 0.11.0 Provides: bundled(crate(sha3)) = 0.10.9 Provides: bundled(crate(sharded-slab)) = 0.1.7 Provides: bundled(crate(shlex)) = 1.3.0 Provides: bundled(crate(shlex)) = 2.0.1 Provides: bundled(crate(signal-hook)) = 0.3.18 Provides: bundled(crate(signal-hook-mio)) = 0.2.5 Provides: bundled(crate(signal-hook-registry)) = 1.4.8 Provides: bundled(crate(signatory)) = 0.27.1 Provides: bundled(crate(signature)) = 2.2.0 Provides: bundled(crate(simd-adler32)) = 0.3.10 Provides: bundled(crate(simdutf8)) = 0.1.5 Provides: bundled(crate(simple_logger)) = 5.2.0 Provides: bundled(crate(slab)) = 0.4.12 Provides: bundled(crate(smallvec)) = 1.15.2 Provides: bundled(crate(snafu)) = 0.8.9 Provides: bundled(crate(snafu-derive)) = 0.8.9 Provides: bundled(crate(socket2)) = 0.6.5 Provides: bundled(crate(spin)) = 0.9.9 Provides: bundled(crate(spki)) = 0.7.3 Provides: bundled(crate(spm_precompiled)) = 0.1.4 Provides: bundled(crate(sqlx)) = 0.9.0 Provides: bundled(crate(sqlx-core)) = 0.9.0 Provides: bundled(crate(sqlx-macros)) = 0.9.0 Provides: bundled(crate(sqlx-macros-core)) = 0.9.0 Provides: bundled(crate(sqlx-mysql)) = 0.9.0 Provides: bundled(crate(sqlx-postgres)) = 0.9.0 Provides: bundled(crate(sqlx-sqlite)) = 0.9.0 Provides: bundled(crate(stability)) = 0.2.1 Provides: bundled(crate(stable_deref_trait)) = 1.2.1 Provides: bundled(crate(static_assertions)) = 1.1.0 Provides: bundled(crate(stringprep)) = 0.1.5 Provides: bundled(crate(strsim)) = 0.11.1 Provides: bundled(crate(strum)) = 0.26.3 Provides: bundled(crate(strum)) = 0.27.2 Provides: bundled(crate(strum_macros)) = 0.26.4 Provides: bundled(crate(strum_macros)) = 0.27.2 Provides: bundled(crate(subtle)) = 2.6.1 Provides: bundled(crate(syn)) = 1.0.109 Provides: bundled(crate(syn)) = 2.0.119 Provides: bundled(crate(syn)) = 3.0.3 Provides: bundled(crate(sync_wrapper)) = 1.0.2 Provides: bundled(crate(synstructure)) = 0.13.2 Provides: bundled(crate(sysinfo)) = 0.39.6 Provides: bundled(crate(tap)) = 1.0.1 Provides: bundled(crate(tar)) = 0.4.46 Provides: bundled(crate(tempfile)) = 3.27.0 Provides: bundled(crate(termcolor)) = 1.4.1 Provides: bundled(crate(thiserror)) = 1.0.69 Provides: bundled(crate(thiserror)) = 2.0.19 Provides: bundled(crate(thiserror-impl)) = 1.0.69 Provides: bundled(crate(thiserror-impl)) = 2.0.19 Provides: bundled(crate(thread_local)) = 1.1.10 Provides: bundled(crate(time)) = 0.3.54 Provides: bundled(crate(time-core)) = 0.1.9 Provides: bundled(crate(time-macros)) = 0.2.32 Provides: bundled(crate(tinystr)) = 0.8.3 Provides: bundled(crate(tinytemplate)) = 1.2.1 Provides: bundled(crate(tinyvec)) = 1.12.0 Provides: bundled(crate(tinyvec_macros)) = 0.1.1 Provides: bundled(crate(tlsh2)) = 0.3.0 Provides: bundled(crate(tokenizers)) = 0.22.2 Provides: bundled(crate(tokio)) = 1.53.1 Provides: bundled(crate(tokio-macros)) = 2.7.2 Provides: bundled(crate(tokio-rustls)) = 0.26.4 Provides: bundled(crate(tokio-stream)) = 0.1.19 Provides: bundled(crate(tokio-util)) = 0.7.19 Provides: bundled(crate(tokio-websockets)) = 0.10.1 Provides: bundled(crate(toml)) = 0.8.23 Provides: bundled(crate(toml_datetime)) = 0.6.11 Provides: bundled(crate(toml_datetime)) = 1.1.1 Provides: bundled(crate(toml_edit)) = 0.22.27 Provides: bundled(crate(toml_edit)) = 0.25.13 Provides: bundled(crate(toml_parser)) = 1.1.3 Provides: bundled(crate(toml_write)) = 0.1.2 Provides: bundled(crate(tower)) = 0.5.3 Provides: bundled(crate(tower-http)) = 0.6.11 Provides: bundled(crate(tower-layer)) = 0.3.3 Provides: bundled(crate(tower-service)) = 0.3.3 Provides: bundled(crate(tracing)) = 0.1.44 Provides: bundled(crate(tracing-attributes)) = 0.1.31 Provides: bundled(crate(tracing-core)) = 0.1.36 Provides: bundled(crate(tracing-journald)) = 0.3.2 Provides: bundled(crate(tracing-log)) = 0.2.0 Provides: bundled(crate(tracing-subscriber)) = 0.3.23 Provides: bundled(crate(trait-make)) = 0.1.0 Provides: bundled(crate(try-lock)) = 0.2.5 Provides: bundled(crate(tryhard)) = 0.5.2 Provides: bundled(crate(ttf-parser)) = 0.25.1 Provides: bundled(crate(tui-tree-widget)) = 0.19.0 Provides: bundled(crate(twox-hash)) = 2.1.3 Provides: bundled(crate(typenum)) = 1.20.1 Provides: bundled(crate(uds_windows)) = 1.2.1 Provides: bundled(crate(unicase)) = 2.9.0 Provides: bundled(crate(unicode-bidi)) = 0.3.18 Provides: bundled(crate(unicode-ident)) = 1.0.24 Provides: bundled(crate(unicode-normalization)) = 0.1.25 Provides: bundled(crate(unicode-normalization-alignments)) = 0.1.12 Provides: bundled(crate(unicode-properties)) = 0.1.4 Provides: bundled(crate(unicode-segmentation)) = 1.13.3 Provides: bundled(crate(unicode-truncate)) = 1.1.0 Provides: bundled(crate(unicode-width)) = 0.1.14 Provides: bundled(crate(unicode-width)) = 0.2.2 Provides: bundled(crate(unicode-xid)) = 0.2.6 Provides: bundled(crate(unicode_categories)) = 0.1.1 Provides: bundled(crate(unsafe-libyaml)) = 0.2.11 Provides: bundled(crate(untrusted)) = 0.9.0 Provides: bundled(crate(url)) = 2.5.8 Provides: bundled(crate(usearch)) = 2.26.0 Provides: bundled(crate(utf8-width)) = 0.1.9 Provides: bundled(crate(utf8_iter)) = 1.0.4 Provides: bundled(crate(utf8parse)) = 0.2.2 Provides: bundled(crate(uuid)) = 1.24.0 Provides: bundled(crate(valuable)) = 0.1.1 Provides: bundled(crate(vcpkg)) = 0.2.15 Provides: bundled(crate(version_check)) = 0.9.5 Provides: bundled(crate(vsprintf)) = 2.0.0 Provides: bundled(crate(walkdir)) = 2.5.0 Provides: bundled(crate(want)) = 0.3.1 Provides: bundled(crate(wasi)) = 0.11.1 Provides: bundled(crate(wasip2)) = 1.0.4 Provides: bundled(crate(wasm-bindgen)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-futures)) = 0.4.76 Provides: bundled(crate(wasm-bindgen-macro)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-macro-support)) = 0.2.126 Provides: bundled(crate(wasm-bindgen-shared)) = 0.2.126 Provides: bundled(crate(wasm-streams)) = 0.4.2 Provides: bundled(crate(web-sys)) = 0.3.103 Provides: bundled(crate(web-time)) = 1.1.0 Provides: bundled(crate(webpki-roots)) = 1.0.9 Provides: bundled(crate(weezl)) = 0.1.12 Provides: bundled(crate(whoami)) = 2.1.2 Provides: bundled(crate(winapi)) = 0.3.9 Provides: bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0 Provides: bundled(crate(winapi-util)) = 0.1.11 Provides: bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0 Provides: bundled(crate(windows)) = 0.62.2 Provides: bundled(crate(windows-collections)) = 0.3.2 Provides: bundled(crate(windows-core)) = 0.62.2 Provides: bundled(crate(windows-future)) = 0.3.2 Provides: bundled(crate(windows-implement)) = 0.60.2 Provides: bundled(crate(windows-interface)) = 0.59.3 Provides: bundled(crate(windows-link)) = 0.2.1 Provides: bundled(crate(windows-numerics)) = 0.3.1 Provides: bundled(crate(windows-result)) = 0.4.1 Provides: bundled(crate(windows-strings)) = 0.5.1 Provides: bundled(crate(windows-sys)) = 0.48.0 Provides: bundled(crate(windows-sys)) = 0.52.0 Provides: bundled(crate(windows-sys)) = 0.59.0 Provides: bundled(crate(windows-sys)) = 0.61.2 Provides: bundled(crate(windows-targets)) = 0.48.5 Provides: bundled(crate(windows-targets)) = 0.52.6 Provides: bundled(crate(windows-threading)) = 0.2.1 Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.48.5 Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_aarch64_msvc)) = 0.48.5 Provides: bundled(crate(windows_aarch64_msvc)) = 0.52.6 Provides: bundled(crate(windows_i686_gnu)) = 0.48.5 Provides: bundled(crate(windows_i686_gnu)) = 0.52.6 Provides: bundled(crate(windows_i686_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_i686_msvc)) = 0.48.5 Provides: bundled(crate(windows_i686_msvc)) = 0.52.6 Provides: bundled(crate(windows_x86_64_gnu)) = 0.48.5 Provides: bundled(crate(windows_x86_64_gnu)) = 0.52.6 Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.48.5 Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.52.6 Provides: bundled(crate(windows_x86_64_msvc)) = 0.48.5 Provides: bundled(crate(windows_x86_64_msvc)) = 0.52.6 Provides: bundled(crate(winnow)) = 0.7.15 Provides: bundled(crate(winnow)) = 1.0.4 Provides: bundled(crate(wit-bindgen)) = 0.57.1 Provides: bundled(crate(writeable)) = 0.6.3 Provides: bundled(crate(wyz)) = 0.5.1 Provides: bundled(crate(xattr)) = 1.6.1 Provides: bundled(crate(yoke)) = 0.8.3 Provides: bundled(crate(yoke-derive)) = 0.8.2 Provides: bundled(crate(zbus)) = 5.18.0 Provides: bundled(crate(zbus_macros)) = 5.18.0 Provides: bundled(crate(zbus_names)) = 4.3.4 Provides: bundled(crate(zerocopy)) = 0.8.55 Provides: bundled(crate(zerocopy-derive)) = 0.8.55 Provides: bundled(crate(zerofrom)) = 0.1.8 Provides: bundled(crate(zerofrom-derive)) = 0.1.7 Provides: bundled(crate(zeroize)) = 1.9.0 Provides: bundled(crate(zerotrie)) = 0.2.4 Provides: bundled(crate(zerovec)) = 0.11.6 Provides: bundled(crate(zerovec-derive)) = 0.11.3 Provides: bundled(crate(zip)) = 2.4.2 Provides: bundled(crate(zmij)) = 1.0.23 Provides: bundled(crate(zopfli)) = 0.8.3 Provides: bundled(crate(zstd)) = 0.13.3 Provides: bundled(crate(zstd-safe)) = 7.2.4 Provides: bundled(crate(zstd-sys)) = 2.0.16 Provides: bundled(crate(zvariant)) = 5.13.1 Provides: bundled(crate(zvariant_derive)) = 5.13.1 Provides: bundled(crate(zvariant_utils)) = 3.5.0 %description -n foxingd foxingd is an eBPF-powered filesystem replication daemon that watches filesystem events via BPF kprobes and replicates changes to one or more targets with adaptive tuning, versioning, and Prometheus metrics. foxingd is a superset of fxcp — it provides fxcp via symlink dispatch. Requires Linux kernel 6.12+ with BTF support. %endif %prep %autosetup -n %{crate}-%{version} -p1 install -pm 644 %{SOURCE3} .rpmlintrc tar xf %{SOURCE1} # Vendor tarball extracts as foxing-vendor/ but cargo config expects vendor/ if [ -d foxing-vendor ] && [ ! -d vendor ]; then mv foxing-vendor vendor fi mkdir -p .cargo cat > .cargo/config.toml << 'EOF' [source.crates-io] replace-with = "vendored-sources" [source.vendored-sources] directory = "vendor" EOF # Disable numkong SME + FP8 probes on aarch64. # numkong 7.6.0 has an upstream bug: SME dispatch code uses SVE intrinsics # without per-function target("sve") attributes. This breaks on GCC 16 # (Fedora 44+) which is stricter about ISA requirements, and raising the # base -march breaks always_inline cross-target inlining (a different GCC # bug). Until upstream adds proper target attributes, disable SME probes # so NK_TARGET_SME*=0 and SME code paths are not compiled. # NEON + SVE + SVE2 paths are fully preserved — only SME is affected. # Cloud aarch64 (Graviton 4, Axion) still gets SVE2 vector search perf. %ifarch aarch64 sed -i 's/armv8-a+sme/armv8-a+FOXING_DISABLED_SME/g' vendor/numkong/build.rs sed -i 's/armv8-a+simd+fp8dot4/armv8-a+FOXING_DISABLED_FP8/g' vendor/numkong/build.rs sed -i 's/"files":{[^}]*}/"files":{}/' vendor/numkong/.cargo-checksum.json %endif # Disable numkong RVV probes on riscv64. # Same upstream bug as aarch64: RVV probes pass but dispatch files compiled # with -march=rv64gc (no V extension) include rvv.h intrinsics that GCC # rejects. usearch falls back to scalar — functional, no vector acceleration. %ifarch riscv64 sed -i 's/rv64gcv/rv64gc_FOXING_DISABLED_RVV/g' vendor/numkong/build.rs sed -i 's/"files":{[^}]*}/"files":{}/' vendor/numkong/.cargo-checksum.json %endif # Disable vendored libbpf C compilation on all arches. # The vendored libbpf-sys build fails on aarch64/s390x rawhide because # kernel-headers 7.3+ uses __u128 in asm/sigcontext.h and asm/ptrace.h, # and neither GCC nor clang expose __u128 correctly under Fedora's hardened # RPM CFLAGS. The LIBBPF_SYS_NO_VENDOR env var does not exist in this # version of libbpf-sys — the vendored build is controlled by the Cargo # feature "vendored-libbpf" (default). Patch the vendored Cargo.toml to # remove it from defaults so libbpf-sys links against system libbpf-devel. # libbpf-rs also enables vendored-libbpf by default — patch it too. sed -i 's/^default = \["vendored-libbpf"\]/default = []/' vendor/libbpf-sys/Cargo.toml sed -i 's/"files":{[^}]*}/"files":{}/' vendor/libbpf-sys/.cargo-checksum.json sed -i 's/^default = \["libbpf-sys\/vendored-libbpf"\]/default = []/' vendor/libbpf-rs/Cargo.toml sed -i 's/"files":{[^}]*}/"files":{}/' vendor/libbpf-rs/.cargo-checksum.json %build export RUSTUP_HOME=%{_builddir}/.rustup export CARGO_HOME=%{_builddir}/.cargo-home curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ sh -s -- -y --default-toolchain nightly --profile minimal --no-modify-path export PATH="$CARGO_HOME/bin:$PATH" rustup component add rustfmt # Override Fedora RUSTFLAGS which set -Cstrip=none and specs that # may not be compatible with nightly Rust FOXING_RUSTFLAGS="-Copt-level=3 -Cforce-frame-pointers=yes" # io-uring prebuilt bindings are x86_64/aarch64/riscv64 only; on s390x/ppc64le # the struct layouts are identical (io_uring is arch-independent), so # skip the arch check rather than using bindgen (which needs newer headers) %ifarch s390x ppc64le FOXING_RUSTFLAGS="$FOXING_RUSTFLAGS --cfg=io_uring_skip_arch_check" %endif export RUSTFLAGS="$FOXING_RUSTFLAGS" # fxcp feature set is arch-dependent: # - all-ai includes ort-backend which requires ONNX Runtime prebuilt binaries # (available for x86_64, aarch64 only; missing on riscv64, ppc64le, s390x) # - riscv64/ppc64le/s390x get AI features that don't depend on ORT %ifarch x86_64 aarch64 cargo build --release -p fxcp --features all-ai,nfs-bypass --offline %else cargo build --release -p fxcp --features nfs-bypass,enrichment,media-metadata,docling,pgvector --offline %endif %if %{build_foxingd} cargo build --release -p foxingd --offline %endif # Compile SELinux policy module %if %{build_foxingd} make -C dist/selinux -f /usr/share/selinux/devel/Makefile foxingd.pp %endif # Generate man pages and shell completions # Skip on riscv64: xtask compilation under QEMU adds ~60min to an already # 276min build, pushing past the COPR 5-hour timeout. Man pages and # completions are arch-independent text — riscv64 users can generate # from source via `cargo run -p xtask -- all`. %ifnarch riscv64 cargo run -p xtask --offline -- all %endif %install # fxcp (all architectures) install -Dpm 755 target/release/fxcp %{buildroot}%{_bindir}/fxcp # Man pages and completions (not available on riscv64 — xtask skipped) %ifnarch riscv64 install -Dpm 644 dist/man/fxcp.1 %{buildroot}%{_mandir}/man1/fxcp.1 install -Dpm 644 dist/completions/fxcp.bash %{buildroot}%{_datadir}/bash-completion/completions/fxcp install -Dpm 644 dist/completions/fxcp.zsh %{buildroot}%{_datadir}/zsh/site-functions/_fxcp install -Dpm 644 dist/completions/fxcp.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/fxcp.fish %endif # foxingd (not on riscv64) %if %{build_foxingd} install -Dpm 755 target/release/foxingd %{buildroot}%{_bindir}/foxingd ln -sf foxingd %{buildroot}%{_bindir}/fxcp install -Dpm 644 config.toml.example %{buildroot}%{_sysconfdir}/foxing/config.toml.example install -Dpm 644 dist/systemd/foxingd.service %{buildroot}%{_unitdir}/foxingd.service install -Dpm 644 dist/systemd/foxingd-sysusers.conf %{buildroot}%{_sysusersdir}/foxingd.conf install -Dpm 644 dist/systemd/foxingd-tmpfiles.conf %{buildroot}%{_tmpfilesdir}/foxingd.conf # D-Bus policy for Stratis integration install -Dpm 644 dist/foxing-replication.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/foxing-replication.conf # sysctl: enable io_uring (RHEL 10 disables it by default) install -Dpm 644 dist/sysctl/foxingd-iouring.conf %{buildroot}%{_sysctldir}/99-foxingd-iouring.conf # OCF resource agent for Pacemaker integration install -Dpm 755 dist/pacemaker/foxingd-replica %{buildroot}%{_prefix}/lib/ocf/resource.d/foxing/foxingd-replica # Prometheus alerting rules install -Dpm 644 dist/prometheus/foxingd-alerts.yml %{buildroot}%{_datadir}/foxing/prometheus/foxingd-alerts.yml # Taxonomy data file # filetypes.json distributed separately — see Source2 comment above # install -Dpm 644 %%{SOURCE2} %%{buildroot}%%{_datadir}/foxing/filetypes.json # Install SELinux policy module install -d %{buildroot}%{_datadir}/selinux/targeted install -m 644 dist/selinux/foxingd.pp %{buildroot}%{_datadir}/selinux/targeted/foxingd.pp install -Dpm 644 dist/man/foxingd.1 %{buildroot}%{_mandir}/man1/foxingd.1 install -Dpm 644 dist/completions/foxingd.bash %{buildroot}%{_datadir}/bash-completion/completions/foxingd install -Dpm 644 dist/completions/foxingd.zsh %{buildroot}%{_datadir}/zsh/site-functions/_foxingd install -Dpm 644 dist/completions/foxingd.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/foxingd.fish %endif %check # Cargo tests require root privileges (BPF probe attachment), a live # kernel with BTF support, and io_uring — none available in mock/COPR # buildroots. Full test suite: sudo python3 tests/foxing_test.py --phase all %files -n fxcp %license LICENSE %doc README.md %{_bindir}/fxcp %ifnarch riscv64 %{_mandir}/man1/fxcp.1* %{_datadir}/bash-completion/completions/fxcp %{_datadir}/zsh/site-functions/_fxcp %{_datadir}/fish/vendor_completions.d/fxcp.fish %endif %if %{build_foxingd} %pre -n foxingd %sysusers_create_compat dist/systemd/foxingd-sysusers.conf %post -n foxingd %systemd_post foxingd.service %tmpfiles_create foxingd.conf # Enable io_uring (RHEL 10 disables it by default, foxingd requires it) %sysctl_apply 99-foxingd-iouring.conf # Install SELinux policy module if [ -f %{_datadir}/selinux/targeted/foxingd.pp ]; then semodule -i %{_datadir}/selinux/targeted/foxingd.pp 2>/dev/null || : fi %preun -n foxingd %systemd_preun foxingd.service # Remove fxcp symlink if it points to foxingd if [ "$(readlink %{_bindir}/fxcp 2>/dev/null)" = "foxingd" ]; then rm -f %{_bindir}/fxcp fi %postun -n foxingd %systemd_postun_with_restart foxingd.service # Remove SELinux policy module on uninstall if [ $1 -eq 0 ]; then semodule -r foxingd 2>/dev/null || : fi %files -n foxingd %license LICENSE %doc README.md config.toml.example %{_bindir}/foxingd %{_bindir}/fxcp %dir %{_sysconfdir}/foxing %ghost %dir /var/lib/foxing %ghost %dir /var/log/foxing %config(noreplace) %{_sysconfdir}/foxing/config.toml.example %{_unitdir}/foxingd.service %{_sysusersdir}/foxingd.conf %{_tmpfilesdir}/foxingd.conf %{_mandir}/man1/foxingd.1* %{_mandir}/man1/fxcp.1* %{_datadir}/bash-completion/completions/foxingd %{_datadir}/bash-completion/completions/fxcp %{_datadir}/zsh/site-functions/_foxingd %{_datadir}/zsh/site-functions/_fxcp %{_datadir}/fish/vendor_completions.d/foxingd.fish %{_datadir}/fish/vendor_completions.d/fxcp.fish %config(noreplace) %{_sysconfdir}/dbus-1/system.d/foxing-replication.conf %{_sysctldir}/99-foxingd-iouring.conf %dir %{_prefix}/lib/ocf/resource.d/foxing %{_prefix}/lib/ocf/resource.d/foxing/foxingd-replica %dir %{_datadir}/foxing %dir %{_datadir}/foxing/prometheus %{_datadir}/foxing/prometheus/foxingd-alerts.yml %{_datadir}/selinux/targeted/foxingd.pp %endif %changelog * Fri Sep 04 2026 Joel Wirāmu Pauling - 0.10.0-11 - Fix rawhide aarch64/s390x __u128 failure definitively: use LIBBPF_SYS_NO_VENDOR=1 to link against system libbpf.so (from libbpf-devel BuildRequires) instead of compiling vendored C sources. Both GCC and clang fail to expose __u128 in kernel headers under Fedora's hardened RPM CFLAGS (-specs=redhat-hardened-cc1/annobin-cc1) on aarch64/s390x rawhide. Using the system libbpf bypasses the vendored C compilation entirely, which is the RPM-idiomatic approach. * Fri Sep 04 2026 Joel Wirāmu Pauling - 0.10.0-10 - Fix rawhide aarch64 __u128 failure: use CC=clang for foxingd build. libbpf-sys's vendored Makefile is written for clang (passes -Wno-unknown-warning-option, a clang-only flag). GCC on aarch64 rawhide with Fedora hardened CFLAGS does not expose __u128 in kernel headers (asm/sigcontext.h, asm/ptrace.h). CC=clang fixes this on all arches. LIBBPF_SYS_EXTRA_CFLAGS=-include linux/types.h retained as belt-and- suspenders for any remaining GCC-compiled paths. * Fri Sep 04 2026 Joel Wirāmu Pauling - 0.10.0-9 - Fix rawhide aarch64/s390x __u128 build failure: move LIBBPF_SYS_EXTRA_CFLAGS export to before the fxcp build, not just before foxingd. Cargo caches the libbpf-sys compiled artifact from the first build (fxcp) and reuses it for foxingd — if fxcp builds libbpf-sys without -include linux/types.h, foxingd inherits the broken cached .a. Setting LIBBPF_SYS_EXTRA_CFLAGS before fxcp ensures the first libbpf-sys compilation uses the correct flag on aarch64/s390x. * Thu Sep 03 2026 Joel Wirāmu Pauling - 0.10.0-6 - Remove filetypes.json from SRPM (73MB, caused 35-min COPR import delay). Taxonomy auto-detect code remains — users install filetypes.json manually to /usr/share/foxing/filetypes.json for auto-detection. - Regenerate source tarball from 0.10.0 branch HEAD (includes s390x code fixes that were missing from the v0.10.0 Codeberg archive tarball in Release 5). * Thu Sep 03 2026 Joel Wirāmu Pauling - 0.10.0-5 - Fedora-review fixes: rpmlintrc filters, Summary capitalization, remove explicit lib Requires (openssl-libs, elfutils-libelf, zlib, libzstd), %%ghost %%dir for tmpfiles dirs, %%check section, fix 14 bogus changelog dates, fxcp symlink moved from %%post to %%install, full Provides: bundled(crate(...)) for ~683 vendored crates. - s390x/ppc64le build fixes: extend SYS_STATMOUNT/SYS_LISTMOUNT cfg to s390x/powerpc64, fix filesystem magic constant type (i64->u64) in capabilities.rs/mod.rs/constants.rs, add cfg guard to kernel_caps.rs SYS_STATMOUNT. - Package filetypes.json taxonomy registry as /usr/share/foxing/filetypes.json (Source2). - Auto-detect /usr/share/foxing/filetypes.json as taxonomy_path when not configured. * Thu Sep 03 2026 Joel Wirāmu Pauling - 0.10.0-4 - Fix foxingd build on Fedora rawhide aarch64/s390x: kernel-headers 7.3+ introduces __u128 in asm/sigcontext.h and asm/ptrace.h; vendored libbpf-sys does not include linux/types.h first. Inject -include linux/types.h via LIBBPF_SYS_EXTRA_CFLAGS. - Fix MTTC expansion: Mean Time to Consistency, not Mean Time to Copy. * Mon Aug 31 2026 Joel Wirāmu Pauling - 0.10.0-3 - Final stable release. TUI v0.10.0 parity (AI page, per-stage drops, EventBus), xtask mirror parity (9 new subcommands), release notes finalized, full benchmark validation on koero + fox-test. * Sun Aug 30 2026 Joel Wirāmu Pauling - 0.10.0-2 - RC1: clippy clean, domain-level lookup tables (filetypes v3.3.0), per-entry CollisionEntry scoring, TOML is_text fix, BPF amplification fix, source enrichment engine, DirectoryProfile domain-vote + parent inheritance, docs grounding sweep, semantic-data-recovery ADR, config.toml.example update - All tests pass: 1117 unit, 18/18 daemon, 19/19 adversarial on koero bare-metal * Sun Aug 02 2026 Joel Wirāmu Pauling - 0.10.0-1 - Development branch 0.10-dev (renamed from 0.9.6-dev due to breaking changes) * Thu Jul 30 2026 Joel Wiramu Pauling - 0.9.5-3 - rc3: bare-metal test campaign on koero NVMe XFS (all phases PASS) - New metadata preservation tests: SELinux context, owner/group, permission modes - Test harness: replace fragile sleep() with condition polling (3 locations) - REFERENCES.md: 30+ SOTA references (eBPF, io_uring, CDC, AI/ML, observability) - New MONITORING.md guide (PCP, Grafana, OTel Collector integration) - BENCHMARKS.md consolidated around rc3 bare-metal data, dev-era to appendices - AI pipeline benchmarks: indexing, search (usearch/pgvector), enrichment by effort - Documentation cleanup: stale claims corrected, test counts updated, env notes added * Sun May 17 2026 Joel Wiramu Pauling - 0.9.5-2 - Add riscv64 architecture support (fxcp only, foxingd requires eBPF) - Architecture-conditional feature flags: ort-backend on x86_64/aarch64 only - Disable numkong SME probes on aarch64 (GCC 16 compat, upstream bug) - Fix %%prep directory name for Codeberg archive layout * Sun May 17 2026 Joel Wiramu Pauling - 0.9.5-1 - Release v0.9.5 * Fri May 01 2026 Joel Wirāmu Pauling - 0.9.5~rc1-1 - BPF CO-RE fentry/kprobe mutual exclusion for vfs_fsync - systemd journal best practices (tracing-journald, sd_notify lifecycle) - ENOSPC emergency pruning with correct .foxing_versions/live path - fxcp symlink replication with lchown - --delete preserves dangling symlinks and .foxing_* internal directories - 6 new adversarial tests (ENOSPC, mount-drop, --delete, symlinks, multi-target, ACL) - 737 unit tests, 8 test phases * Mon Apr 20 2026 Joel Wirāmu Pauling - 0.9.4~dev-3 - Tuner v2: workload-aware adaptive I/O (BBR+AIMD hybrid) - StorageClassification: 9-variant device profiling with per-class QD/batch ranges - SystemGovernor: fine-grained PSI+memory+CPU+IO backpressure - TuningBoardManager: cross-worker coordination via broadcast channel - WorkloadDetector: online I/O pattern classification driving parameter overlays - Config: storage_type_hint and latency_sla_us target settings - 15 bug fixes: io_uring OOB, FXAR/qcow2 bounds, Governor init, Mutex poison - 145 tests (was 88), zero performance regressions vs v0.9.3 * Tue Mar 17 2026 Joel Wirāmu Pauling - 0.9.4~dev-2 - OCF resource agent for Pacemaker HA integration (foxingd-replica) - Prometheus alerting rules (foxingd-alerts.yml) - HA failover documentation (Pacemaker + libvirt/KVM + Stratis) * Mon Mar 16 2026 Joel Wirāmu Pauling - 0.9.4~dev-1 - Stratis D-Bus integration (pool monitoring, snapshot management, fs-verity) - D-Bus service: org.foxing.Replica1 + org.foxing.Versioning1 - foxingd stratis CLI subcommand group (status, pool-info, checkpoint, snapshots, seal) - Worker-to-D-Bus replica state bridge (live replication status) - Governor pool-level capacity check via Stratis metrics - fs-verity snapshot sealing (mount → seal → unmount) - Fix resolve_stratis_target to accept mount paths - D-Bus policy file for org.foxing.replication - 84 tests, Stratis adversarial suite (32 PASS, 1 FAIL known baseline) - Stratis performance: -2% to -20% overhead vs plain XFS (faster) * Sat Mar 14 2026 Joel Wirāmu Pauling - 0.8.3-1 - CAS store: content-addressable chunk store for any filesystem - FXAR<->CAS interchange (import_fxar, export_fxar) - fxcp snap import --generate-sigs for foxingd-ready target seeding - Streaming pipe test + adversarial Phase 11 - Atomic FXAR export (.tmp + rename), FXAR parser fuzz targets - 77 tests total (11 new CAS/fxar/metadata tests) * Fri Mar 13 2026 Joel Wirāmu Pauling - 0.8.1-1 - FXAR v2: gear-hash variable chunking + BLAKE3 CAS + binary index - True chunk-level deduplication (replaces whole-file tar dedup) - Random-access seekable archive with selective file restore - Streaming pipe support (export | ssh import) - Auto-detect archive format (FXAR v2 / tar) - --format tar backward compatibility for legacy exports - 19 new tests (66 total) * Thu Mar 12 2026 Joel Wirāmu Pauling - 0.7.2-1 - fxcp snap browse: MC-style dual-pane TUI file/snapshot browser - BLAKE3 content dedup stats alongside CoW reflink savings - Unified MARS versioning path (.foxing_versions/live/) - TUI feature-gated behind ratatui optional dependency * Thu Mar 12 2026 Joel Wirāmu Pauling - 0.7.1-1 - fxcp snap: dirvish-style point-in-time snapshots with JSON index - fxcp snap prune: maintenance by age, count, and size - fxcp --snapshot: reflink versioning during copy - fxcp --throttle: PSI-based system stress pacing - Machine-readable --json output for web UI integration * Thu Mar 12 2026 Joel Wirāmu Pauling - 0.7.0-1 - fxcp: multi-source CLI (fxcp src1 src2 dest/) - fxcp: --include, --exclude-from, --include-from filtering - foxingd: hydration deletes stale target files on resync - foxingd: post-recovery full scan for unjournaled changes - Test harness fixes for metric snapshot collection * Wed Mar 11 2026 Joel Wirāmu Pauling - 0.6.1-1 - Expand architecture support: ppc64le, s390x, riscv64 - Fix aarch64 build: portable pointer types in btrfs ioctls - Add fxcp symlink in foxingd package - Add man pages, shell completions (bash/zsh/fish) - Stripped release builds with thin LTO * Tue Mar 10 2026 Joel Wirāmu Pauling - 0.6.0-1 - Initial package