# rust-kurbu5-kdb-sys.spec.in — Fedora RPM packaging for the kurbu5-kdb-sys Rust crate # # Source package: rust-kurbu5-kdb-sys # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # rust-kurbu5-kdb-sys-devel Rust crate sources in the system Cargo registry # rust-kurbu5-kdb-sys-doc README and changelog documentation # # Vendor tarball preparation (requires network, run once per release): # curl -LO https://static.crates.io/crates/kurbu5-kdb-sys/kurbu5-kdb-sys-%%{version}.crate # tar xf kurbu5-kdb-sys-%%{version}.crate # cd kurbu5-kdb-sys-%%{version} # cargo generate-lockfile # cargo vendor vendor > vendor-config.toml # tar czf rust-kurbu5-kdb-sys-%%{version}-vendor.tar.gz vendor/ vendor-config.toml Cargo.lock # # Build ordering: build rust-kurbu5-sys first (Stage 1). This package # (Stage 2) is a thin wrapper that adds libkdb5 linkage metadata on top of # kurbu5-sys. rust-kurbu5-kdb-rs depends on this package (Stage 3). %global debug_package %{nil} %global crate kurbu5-kdb-sys %global snapdate 202604141848 %global snapcommit b7d20e6 Name: rust-%{crate} Version: 0.1.1 Release: 1%{?dist} Summary: KDB plugin API re-export — links libkdb5 for MIT Kerberos KDB plugins License: BSD-2-Clause URL: https://crates.io/crates/%{crate} Source0: %{crates_source} Source1: %{name}-%{version}-vendor.tar.gz BuildRequires: cargo-rpm-macros >= 25 # Inter-kurbu5 build dependency (Stage 1 package). BuildRequires: rust-kurbu5-sys-devel >= 0.1.1 # System libraries: libkdb5 is part of krb5-server (shipped with krb5-devel). # MIT Kerberos 1.22 is the minimum version required by this crate. BuildRequires: krb5-devel >= 1.22 BuildRequires: clang-devel BuildRequires: pkgconf-pkg-config %description Thin re-export crate that adds libkdb5 linkage metadata on top of kurbu5-sys, enabling MIT Kerberos KDB (database) driver plugins written in Rust. By declaring links = "kdb5", this crate ensures Cargo enforces that exactly one crate in the build graph links against libkdb5 and makes DEP_KDB5_* build metadata available to downstream crates. All kurbu5-sys types are re-exported for convenience. %package -n rust-%{crate}-devel Summary: Rust crate sources for kurbu5-kdb-sys (KDB plugin API re-export) BuildArch: noarch Provides: crate(kurbu5-kdb-sys) = %{version} Provides: crate(kurbu5-kdb-sys/default) = %{version} # kurbu5-kdb-sys re-exports kurbu5-sys types. Requires: rust-kurbu5-sys-devel >= 0.1.1 %description -n rust-%{crate}-devel Rust crate sources for kurbu5-kdb-sys, installed into the system Cargo registry so that other Rust packages can use it as a build-time dependency. Provides KDB plugin API linkage metadata by wrapping kurbu5-sys with an additional links = "kdb5" declaration. %package -n rust-%{crate}-doc Summary: Documentation for the kurbu5-kdb-sys Rust crate BuildArch: noarch %description -n rust-%{crate}-doc README and changelog documentation for the kurbu5-kdb-sys Rust crate. %prep %autosetup -n %{crate}-%{version} tar xf %{SOURCE1} %cargo_prep -v vendor %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build %install %cargo_install %check # Run only library unit tests; integration tests require a running KDC. %cargo_test -- --lib %files %license LICENSE %files -n rust-%{crate}-devel %license LICENSE %{cargo_registry}/%{crate}-%{version}/ %files -n rust-%{crate}-doc %license LICENSE %doc CHANGELOG.md README.md %changelog * Tue Apr 14 2026 Alexander Bokovoy - 0.1.1-1 - Update to version 0.1.1 * Tue Apr 14 2026 Alexander Bokovoy - 0.1.0-1 - Initial package for kurbu5-kdb-sys 0.1.0