### *** pam_ssh_agent ### ### This is a "complex" spec file which deals with the situation that several for building ### required rust-*-devel RPMs are (still) not available on Fedora/Enterprise Linux ### Fedora Linux provides more, Enterprise Linux (EPEL) less out-of-the-box ### ### Tested on Fedora Linux 43, 44 and Enterprise Linux 10 ### ### see also: ### - https://github.com/nresare/pam-ssh-agent ### - description (below) ### ### Step 1: download required packages and store to ~/rpmbuild/SOURCES ### $ rpmbuild -bp --undefine=_disable_source_fetch pam_ssh_agent.spec ### ### Step 2: install required build dependencies, get list of required packages ### $ rpmbuild -bb pam_ssh_agent.spec 2>&1 | awk '$0 ~ "is needed" { print $1 }' | xargs echo "dnf install" ### ### Step 3: install required build dependencies, get list of required packages ### $ sudo dnf install ... ### ### Step 4: rebuild ### $ rpmbuild -bb pam_ssh_agent.spec ### ### Alternative ### Step 1: create source RPM package by ### $ rpmbuild -bs --undefine=_disable_source_fetch pam_ssh_agent.spec ### ### Step 2: rebuild ### $ rpmbuild --rebuild pam_ssh_agent-.src.rpm ### ### In case RPM should be built on a special git commit, add ### ... -D "gitcommit " # Generated by rust2rpm 27 %bcond check 1 # prevent library files from being installed %global cargo_install_lib 0 Name: pam_ssh_agent Version: 0.9.5 Release: 1%{?gittag}%{?dist} Summary: PAM module for ssh-agent based authentication SourceLicense: MIT License: Apache-2.0 or MIT URL: https://github.com/nresare/pam-ssh-agent Source0: https://github.com/nresare/pam-ssh-agent/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires: pam-devel Source1: vendor-%{name}-%{version}.tar.gz BuildRequires: cargo-rpm-macros >= 26 %global _description %{expand: %{summary}.} %description %{_description} %prep %if (0%{?rhel} >= 10) || (0%{?fedora} >= 42) # whitelisted %else %if 0%{?rhel} echo "BUILD no supported on EL < %{rhel} (use pam_ssh_agent_auth)" %endif %if 0%{?fedora} >= 42 echo "BUILD no supported on Fedora < %{fedora} (use pam_ssh_agent_auth)" %endif exit 1 %endif %if 0%{?gitcommit:1} %autosetup -n pam-ssh-agent-%{gitcommit} %else %autosetup -n pam-ssh-agent-%{version} -p1 -a1 %endif %cargo_prep -v vendor %generate_buildrequires # everything is bundled in vendor package #cargo_generate_buildrequires -t %build %cargo_build %cargo_license_summary %cargo_license > LICENSE.dependencies %cargo_vendor_manifest %install install -d -m 755 %{buildroot}%{_libdir}/security install -m 755 target/release/libpam_ssh_agent.so %{buildroot}%{_libdir}/security %check %cargo_test %files %doc README.md %{_libdir}/security/libpam_ssh_agent.so %changelog * Thu Jun 04 2026 Peter Bieringer - 0.9.5-1 - Upstream 0.9.0 - Bundle complete vendor instead of only really required ones * Thu May 15 2025 Peter Bieringer - 0.9.0-1 - Upstream 0.9.0 - Update bundled ssh_agent_client_rs 0.9.1->1.0.0 - Update for EL10 ssh_key 0.6.5->0.6.7 - Add for EL10 uzers=0.12.1 - Add support for build on git commits - Add additional required build dependencies * Thu May 15 2025 Peter Bieringer - 0.5.1-3 - Unconditionally package all sources to avoid issues with copr builds * Tue May 13 2025 Peter Bieringer - 0.5.1-2 - Add support for EL10 by conditional bundling of ssh_key=0.6.5 ssh-encoding=0.2.0 ssh-cipher=0.2.0 ed25519-dalek=2.1.1 curve25519-dalek=4.1.3 curve25519-dalek-derive=0.1.1 p256=0.13.2 p521=0.13.3 * Mon May 12 2025 Peter Bieringer - 0.5.1-1 - Upstream 0.5.1 incl. bundled pam-bindings=0.1.1 and ssh-agent-client-rs=0.9.1