# rust-kurbu5-rs.spec.in — Fedora RPM packaging for the kurbu5-rs Rust crate # # Source package: rust-kurbu5-rs # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # rust-kurbu5-rs-devel Rust crate sources in the system Cargo registry # rust-kurbu5-rs-doc README and changelog documentation # # Vendor tarball preparation (requires network, run once per release): # curl -LO https://static.crates.io/crates/kurbu5-rs/kurbu5-rs-%%{version}.crate # tar xf kurbu5-rs-%%{version}.crate # cd kurbu5-rs-%%{version} # cargo generate-lockfile # cargo vendor vendor > vendor-config.toml # tar czf rust-kurbu5-rs-%%{version}-vendor.tar.gz vendor/ vendor-config.toml Cargo.lock # # Build ordering: build rust-kurbu5-sys and rust-kurbu5-derive first (Stage 1). # This package (Stage 2) depends on both. rust-kurbu5-kdb-rs and # rust-kurbu5-kadm5-rs depend on this package (Stage 3). %global debug_package %{nil} %global crate kurbu5-rs %global snapdate 202604141848 %global snapcommit b7d20e6 Name: rust-%{crate} Version: 0.1.1 Release: 1%{?dist} Summary: Safe Rust API for writing MIT Kerberos non-KDB plugin modules 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 dependencies (Stage 1 packages). BuildRequires: rust-kurbu5-sys-devel >= 0.1.1 BuildRequires: rust-kurbu5-derive-devel >= 0.1.1 # System libraries needed because kurbu5-sys links against libkrb5. BuildRequires: krb5-devel >= 1.22 BuildRequires: clang-devel BuildRequires: pkgconf-pkg-config %description Safe, idiomatic Rust API for writing MIT Kerberos non-KDB plugin modules. Provides type-safe wrappers around the nine MIT Kerberos plugin interfaces: PWQUAL (password quality), HOSTREALM (host-to-realm mapping), LOCALAUTH (local authentication), CCSELECT (credential cache selection), KDCPREAUTH and CLPREAUTH (pre-authentication), KDCPOLICY (KDC authorization policy), CERTAUTH (certificate authentication), and AUDIT. The default feature enables PWQUAL. The derive feature activates kurbu5-derive proc-macro support for automatic trait implementation. The otp feature enables internal MIT Kerberos OTP preauth types. The full feature alias enables all nine interface features at once. %package -n rust-%{crate}-devel Summary: Rust crate sources for kurbu5-rs (MIT Kerberos non-KDB plugin API) BuildArch: noarch Provides: crate(kurbu5-rs) = %{version} Provides: crate(kurbu5-rs/audit) = %{version} Provides: crate(kurbu5-rs/ccselect) = %{version} Provides: crate(kurbu5-rs/certauth) = %{version} Provides: crate(kurbu5-rs/clpreauth) = %{version} Provides: crate(kurbu5-rs/default) = %{version} Provides: crate(kurbu5-rs/derive) = %{version} Provides: crate(kurbu5-rs/full) = %{version} Provides: crate(kurbu5-rs/hostrealm) = %{version} Provides: crate(kurbu5-rs/kdcpolicy) = %{version} Provides: crate(kurbu5-rs/kdcpreauth) = %{version} Provides: crate(kurbu5-rs/localauth) = %{version} Provides: crate(kurbu5-rs/otp) = %{version} Provides: crate(kurbu5-rs/pwqual) = %{version} # The derive feature activates kurbu5-derive. Requires: rust-kurbu5-derive-devel >= 0.1.1 # kurbu5-rs depends on kurbu5-sys for all features. Requires: rust-kurbu5-sys-devel >= 0.1.1 %description -n rust-%{crate}-devel Rust crate sources for kurbu5-rs, installed into the system Cargo registry so that other Rust packages can use it as a build-time dependency. Provides the safe Rust API for all nine MIT Kerberos non-KDB plugin interfaces. The full feature is an alias that enables all interfaces at once. %package -n rust-%{crate}-doc Summary: Documentation for the kurbu5-rs Rust crate BuildArch: noarch %description -n rust-%{crate}-doc README and changelog documentation for the kurbu5-rs 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. Documentation tests and integration tests # require a running MIT Kerberos KDC environment. %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-rs 0.1.0