File sudo-rs.spec of Package sudo-rs

#
# spec file for package sudo-rs
#
# Original Copyright (c) 2025, Martin Hauke <mardnh@gmx.de>
# Copyright (c) 2025, Alxhr0 <alxhr0@proton.me>


%global debug_package %{nil}

Name:           sudo-rs
Version:        0.2.12
Release:        0
Summary:        Execute some commands as root
License:        Apache-2.0 or MIT
Group:          System/Base
URL:            https://github.com/trifectatechfoundation/sudo-rs
Source0:         %{name}-%{version}.tar.gz
Source1:        vendor.tar.zst
Conflicts:      sudo
Provides:       sudo
Source2:        sudo-pam-files.tar.xz

%if 0%{?fedora}
BuildRequires:  wget2-wget
BuildRequires:  rust-packaging
BuildRequires:  cargo-rpm-macros
BuildRequires:  tzdata
%else
Requires(pre):  permissions
BuildRequires:  cargo-packaging
BuildRequires:  timezone
BuildRequires:  pam-devel
%endif

%description
A safety oriented and memory safe implementation of sudo and su
written in Rust.

%prep
%autosetup -p1 -a 1

%build
tar -xf %{SOURCE2} -C ../

%{cargo_build} --features pam-login

%install
%{cargo_install}
mv %{buildroot}/%{_bindir}/su %{buildroot}/%{_bindir}/su-rs

mkdir -pv %{buildroot}/usr/lib/pam.d

cp -v ../sudo-pam-files/* %{buildroot}/usr/lib/pam.d

%check
#%%{cargo_test} -- -- --skip system::audit::test::secure_open_is_predictable --skip system::interface::test::test_unix_group --skip system::interface::test::test_unix_user
#[   32s] test system::audit::test::secure_open_is_predictable ... FAILED
#[   32s] test system::interface::test::test_unix_group ... FAILED
#[   32s] test system::interface::test::test_unix_user ... FAILED

%post
%set_permissions %{_bindir}/su-rs
%set_permissions %{_bindir}/sudo

%verifyscript
%verify_permissions -e %{_bindir}/su-rs
%verify_permissions -e %{_bindir}/sudo

%files
%license COPYRIGHT
%doc CHANGELOG.md README.md
%dir /usr/lib/pam.d
%attr(4755, root, root) %{_bindir}/su-rs
%attr(4111, root, root) %{_bindir}/sudo
%attr(0755, root, root) %{_bindir}/visudo
/usr/lib/pam.d/sudo

%changelog
openSUSE Build Service is sponsored by