# rust-kurbu5-kadm5-sys.spec.in — Fedora RPM packaging for the kurbu5-kadm5-sys Rust crate # # Source package: rust-kurbu5-kadm5-sys # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # rust-kurbu5-kadm5-sys-devel Rust crate sources in the system Cargo registry # rust-kurbu5-kadm5-sys-doc README and changelog documentation # # Vendor tarball preparation (requires network, run once per release): # curl -LO https://static.crates.io/crates/kurbu5-kadm5-sys/kurbu5-kadm5-sys-%%{version}.crate # tar xf kurbu5-kadm5-sys-%%{version}.crate # cd kurbu5-kadm5-sys-%%{version} # cargo generate-lockfile # cargo vendor vendor > vendor-config.toml # tar czf rust-kurbu5-kadm5-sys-%%{version}-vendor.tar.gz vendor/ vendor-config.toml Cargo.lock # # Build ordering: build rust-kurbu5-sys first (Stage 1). This package # (Stage 2) links libkadm5srv_mit and re-exports kurbu5-sys types. # rust-kurbu5-kadm5-rs depends on this package (Stage 3). # krb5-server-devel provides kadm5 server headers and libkadm5srv_mit. %global debug_package %{nil} %global crate kurbu5-kadm5-sys %global snapdate 202604141848 %global snapcommit b7d20e6 Name: rust-%{crate} Version: 0.1.1 Release: 1%{?dist} Summary: KADM5 plugin API bindings — links libkadm5srv_mit for MIT Kerberos KADM5 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 # krb5-server-devel provides kadm5 server headers (kadm5/admin.h, # kadm5/kadm5_hook_plugin.h, kadm5/kadm5_auth_plugin.h) and libkadm5srv_mit. # 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 FFI bindings for the MIT Kerberos KADM5 plugin API. Links libkadm5srv_mit and re-exports kurbu5-sys types, enabling downstream KADM5 plugin crates to receive DEP_KADM5SRV_MIT_* build metadata without needing to link the library themselves. By declaring links = "kadm5srv_mit", this crate ensures Cargo enforces that exactly one crate in the build graph links against libkadm5srv_mit. MIT Kerberos 1.22 is the minimum supported version. %package -n rust-%{crate}-devel Summary: Rust crate sources for kurbu5-kadm5-sys (KADM5 plugin API bindings) BuildArch: noarch Provides: crate(kurbu5-kadm5-sys) = %{version} Provides: crate(kurbu5-kadm5-sys/default) = %{version} # kurbu5-kadm5-sys re-exports kurbu5-sys types. Requires: rust-kurbu5-sys-devel >= 0.1.1 %description -n rust-%{crate}-devel Rust crate sources for kurbu5-kadm5-sys, installed into the system Cargo registry so that other Rust packages can use it as a build-time dependency. Provides KADM5 plugin API linkage metadata by wrapping kurbu5-sys with an additional links = "kadm5srv_mit" declaration. %package -n rust-%{crate}-doc Summary: Documentation for the kurbu5-kadm5-sys Rust crate BuildArch: noarch %description -n rust-%{crate}-doc README and changelog documentation for the kurbu5-kadm5-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-kadm5-sys 0.1.0