# rust-synta-krb5.spec.in — Fedora RPM packaging for the synta-krb5 Rust crate # # Source package: rust-synta-krb5 # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # rust-synta-krb5-devel Rust crate sources in the system Cargo registry # rust-synta-krb5-doc README documentation # # Vendor tarball preparation (requires network, run once per release): # curl -LO https://static.crates.io/crates/synta-krb5/synta-krb5-%%{version}.crate # tar xf synta-krb5-%%{version}.crate # cd synta-krb5-%%{version} # cargo generate-lockfile # cargo vendor vendor > vendor-config.toml # tar czf rust-synta-krb5-%%{version}-vendor.tar.gz vendor/ vendor-config.toml Cargo.lock # # Build ordering: requires rust-synta-devel, rust-synta-derive-devel, and # rust-synta-codegen-devel (build-dep for ASN.1 code generation). # synta-krb5 does NOT depend on synta-certificate at runtime; that dependency # exists only in synta-python (which uses all three). %global debug_package %{nil} %global crate synta-krb5 %global snapdate 202604110206 %global snapcommit 53450c8 Name: rust-%{crate} Version: 0.1.4 Release: 1.%{snapdate}.git%{snapcommit}%{?dist} Summary: Kerberos V5 and GSSAPI ASN.1 structures for the synta library License: MIT OR Apache-2.0 URL: https://crates.io/crates/%{crate} Source0: %{crates_source} Source1: %{name}-%{version}-vendor.tar.gz # License files are not included in the crates.io tarball; ship them separately. Source2: LICENSE-MIT Source3: LICENSE-APACHE BuildRequires: cargo-rpm-macros >= 25 # All synta workspace crates (synta, synta-derive, synta-codegen) are vendored # in Source1 — no separate rust-synta*-devel BuildRequires needed. %description synta-krb5 provides Kerberos V5 (RFC 4120) and GSSAPI ASN.1 structure type definitions built on top of the synta core library. It includes KDC request and reply types, Kerberos tickets, PKINIT structures, and SPNEGO/GSSAPI encapsulation types. # ────────────────────────────────────────────────────────────────────────────── # rust-synta-krb5-devel — Rust crate sources # ────────────────────────────────────────────────────────────────────────────── %package -n rust-%{crate}-devel Summary: Rust crate sources for synta-krb5 (Kerberos V5 ASN.1 types) BuildArch: noarch Provides: crate(synta-krb5) = %{version} Provides: crate(synta-krb5/alloc) = %{version} Provides: crate(synta-krb5/default) = %{version} Provides: crate(synta-krb5/derive) = %{version} Provides: crate(synta-krb5/serde) = %{version} Provides: crate(synta-krb5/std) = %{version} # synta workspace crates are vendored in the vendor tarball; no separate # rust-synta-devel or rust-synta-derive-devel Requires needed at install time. %description -n rust-%{crate}-devel Rust crate sources for synta-krb5, installed into the system Cargo registry so that other Rust packages can use it as a build-time dependency. Provides Kerberos V5 (RFC 4120) and GSSAPI ASN.1 structure types built on top of the synta core library, including KDC request/reply types, Kerberos tickets, PKINIT structures, and SPNEGO/GSSAPI encapsulation types. # ────────────────────────────────────────────────────────────────────────────── # rust-synta-krb5-doc — documentation # ────────────────────────────────────────────────────────────────────────────── %package -n rust-%{crate}-doc Summary: Documentation for the synta-krb5 Rust crate BuildArch: noarch %description -n rust-%{crate}-doc README and documentation for the synta-krb5 Kerberos V5 ASN.1 types Rust crate. # ══════════════════════════════════════════════════════════════════════════════ # PREP # ══════════════════════════════════════════════════════════════════════════════ %prep %autosetup -n %{crate}-%{version} tar xf %{SOURCE1} %cargo_prep -v vendor cp %{SOURCE2} LICENSE-MIT cp %{SOURCE3} LICENSE-APACHE # ══════════════════════════════════════════════════════════════════════════════ # GENERATE BUILD REQUIREMENTS # ══════════════════════════════════════════════════════════════════════════════ %generate_buildrequires %cargo_generate_buildrequires # ══════════════════════════════════════════════════════════════════════════════ # BUILD # ══════════════════════════════════════════════════════════════════════════════ %build %cargo_build # ══════════════════════════════════════════════════════════════════════════════ # INSTALL # ══════════════════════════════════════════════════════════════════════════════ %install %cargo_install # ══════════════════════════════════════════════════════════════════════════════ # CHECK # ══════════════════════════════════════════════════════════════════════════════ %check %cargo_test -- --lib # ══════════════════════════════════════════════════════════════════════════════ # FILES # ══════════════════════════════════════════════════════════════════════════════ # ── rust-synta-krb5 (meta, license carrier) ─────────────────────────────────── %files %license LICENSE-MIT LICENSE-APACHE # ── rust-synta-krb5-devel ───────────────────────────────────────────────────── %files -n rust-%{crate}-devel %license LICENSE-MIT LICENSE-APACHE %{cargo_registry}/%{crate}-%{version}/ # ── rust-synta-krb5-doc ─────────────────────────────────────────────────────── %files -n rust-%{crate}-doc %license LICENSE-MIT LICENSE-APACHE %doc README.md # ══════════════════════════════════════════════════════════════════════════════ # CHANGELOG # ══════════════════════════════════════════════════════════════════════════════ %changelog * Fri Apr 10 2026 Synta Contributors - 0.1.4-1 - Version bump to match workspace 0.1.4 release * Sun Apr 05 2026 Synta Contributors - 0.1.3-1 - Version bump to match workspace * Mon Mar 23 2026 Synta Contributors - 0.1.2-1 - Initial individual crate package (split from synta workspace spec)