commit: 863e5b6f7286befee645bd57eb6a992689ab357d
Author: Timur Kuprava <kupravagoodman <AT> proton <DOT> me>
AuthorDate: Mon May 19 08:05:13 2025 +0000
Commit: Timur Kuprava <kupravagoodman <AT> proton <DOT> me>
CommitDate: Mon May 19 08:07:04 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=863e5b6f
app-admin/sudo-rs: add su-rs
Signed-off-by: Timur Kuprava <kupravagoodman <AT> proton.me>
app-admin/sudo-rs/sudo-rs-0.2.6.ebuild | 69 +++++++++++++++++++++-------------
1 file changed, 42 insertions(+), 27 deletions(-)
diff --git a/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild
b/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild
index 4a4536fd8..247eedcd1 100644
--- a/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild
+++ b/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-RUST_MIN_VER="1.74.0"
+RUST_MIN_VER="1.71.1"
CRATES="
[email protected]
@@ -16,58 +16,73 @@ CRATES="
inherit cargo pam
-DESCRIPTION="A memory safe implementation of sudo"
+DESCRIPTION="A memory safe implementation of sudo and su."
HOMEPAGE="https://github.com/trifectatechfoundation/sudo-rs"
SRC_URI="https://github.com/trifectatechfoundation/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz
${CARGO_CRATE_URIS}"
-LICENSE="Apache-2.0"
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+=" || ( Apache-2.0 MIT )"
+
SLOT="0"
KEYWORDS="~amd64"
-IUSE="pam +man"
+IUSE="+pam su"
DEPEND="
- !app-admin/sudo
pam? ( sys-libs/pam )
"
RDEPEND="
${DEPEND}
virtual/editor
+ !app-admin/sudo
+ su? (
+ sys-apps/shadow[-su]
+ sys-apps/util-linux[-su]
+ )
pam? ( sys-auth/pambase )
"
BDEPEND="
- man? ( virtual/pandoc )
-"
-
-REQUIRED_USE="
- ?? ( pam )
+ virtual/pandoc
"
DOCS=( README.md CHANGELOG.md )
-src_compile() {
- cargo_src_compile || die
-}
-
src_install() {
- dobin "target/${RUST_TARGET}/release/sudo" || die
- dobin "target/${RUST_TARGET}/release/visudo" || die
+ dobin "$(cargo_target_dir)/sudo" || die
+ dobin "$(cargo_target_dir)/visudo" || die
- fowners 0:0 /usr/bin/sudo || die
- fperms 4755 /usr/bin/sudo || die
- fowners 0:0 /usr/bin/visudo || die
- fperms 4755 /usr/bin/visudo || die
+ if use su ; then
+ dobin "$(cargo_target_dir)/su" || die
+ fi
+
+ fowners 0:0 /usr/bin/sudo
+ fperms 4755 /usr/bin/sudo
+ fowners 0:0 /usr/bin/visudo
+ fperms 4755 /usr/bin/visudo
+
+ if use su ; then
+ fowners 0:0 /usr/bin/su
+ fperms 4755 /usr/bin/su
+ fi
- if use man ; then
- pandoc docs/man/sudo.8.md -s -t man -o docs/man/sudo.8
- pandoc docs/man/visudo.8.md -s -t man -o docs/man/visudo.8
+ pandoc docs/man/sudo.8.md -s -t man -o docs/man/sudo.8
+ pandoc docs/man/visudo.8.md -s -t man -o docs/man/visudo.8
+ pandoc docs/man/sudoers.5.md -s -t man -o docs/man/sudoers.5
- doman docs/man/sudo.8
- doman docs/man/visudo.8
+ if use su ; then
+ pandoc docs/man/su.1.md -s -t man -o docs/man/su.1
+ doman docs/man/su.1
fi
- pamd_mimic system-auth sudo auth account session
- pamd_mimic system-auth sudo-i auth account session
+ doman docs/man/sudo.8
+ doman docs/man/visudo.8
+ doman docs/man/sudoers.5
+
+ if use pam ; then
+ pamd_mimic system-auth sudo auth account session
+ pamd_mimic system-auth sudo-i auth account session
+ fi
}
pkg_postinst() {