Files
shadow/shadow-rs.spec
T
Pierre Warnier 8ba8f940fd prod: GNU compat tests, PAM e2e, setuid, SELinux, audit, packaging
Fixes #93 — GNU compatibility test suite (tests/gnu-compat.sh)
Fixes #94 — PAM end-to-end test script (tests/pam-e2e.sh)
Fixes #95 — Setuid permissions in Makefile (chmod 4755)
Fixes #96 — nscd env_clear() on subprocess spawning
Fixes #97 — SELinux file context support (getfattr/chcon/restorecon)
Fixes #98 — Audit logging to syslog/auditd
Fixes #99 — subuid/subgid allocation in useradd
Fixes #100 — Debian packaging (debian/control, debian/rules)
Fixes #101 — Fedora packaging (shadow-rs.spec)
Fixes #103 — Recursive chown on usermod UID change
Fixes #104 — Proper date validation (Feb 31 rejected)

456 tests, zero clippy warnings. Binary: 894KB (release-small).
2026-03-24 15:15:21 +01:00

50 lines
1.1 KiB
RPMSpec

Name: shadow-rs
Version: 0.0.1
Release: 1%{?dist}
Summary: Memory-safe reimplementation of shadow-utils in Rust
License: MIT
URL: https://github.com/shadow-utils-rs/shadow-rs
Source0: %{name}-%{version}.tar.gz
BuildRequires: rust >= 1.94.0
BuildRequires: cargo
BuildRequires: pam-devel
BuildRequires: libselinux-devel
BuildRequires: audit-libs-devel
BuildRequires: libcrypt-devel
BuildRequires: pkgconf-pkg-config
Conflicts: shadow-utils
%description
shadow-rs is a complete Rust reimplementation of all 14 Linux shadow-utils
tools. Single multicall binary, 4x faster, 20+ security hardening layers.
%prep
%setup -q
%build
cargo build --release
%install
%make_install PREFIX=%{_prefix}
%files
%license LICENSE
%doc README.md CONTRIBUTING.md
%{_sbindir}/shadow-rs
%{_sbindir}/passwd
%{_sbindir}/useradd
%{_sbindir}/userdel
%{_sbindir}/usermod
%{_sbindir}/groupadd
%{_sbindir}/groupdel
%{_sbindir}/groupmod
%{_sbindir}/pwck
%{_sbindir}/grpck
%{_sbindir}/chage
%{_sbindir}/chpasswd
%{_sbindir}/chfn
%{_sbindir}/chsh
%{_sbindir}/newgrp