commit: af185be91f6f0038f20084543cf6f4ac20b1ae92 Author: Timur Kuprava <kupravagoodman <AT> proton <DOT> me> AuthorDate: Sat May 17 18:51:04 2025 +0000 Commit: Timur Kuprava <kupravagoodman <AT> proton <DOT> me> CommitDate: Sat May 17 18:52:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=af185be9
app-admin/sudo-rs: new package Signed-off-by: Timur Kuprava <kupravagoodman <AT> proton.me> app-admin/sudo-rs/Manifest | 7 +++ app-admin/sudo-rs/metadata.xml | 12 ++++++ app-admin/sudo-rs/sudo-rs-0.2.6.ebuild | 78 ++++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) diff --git a/app-admin/sudo-rs/Manifest b/app-admin/sudo-rs/Manifest new file mode 100644 index 000000000..02bce62fc --- /dev/null +++ b/app-admin/sudo-rs/Manifest @@ -0,0 +1,7 @@ +DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb +DIST glob-0.3.2.crate 22359 BLAKE2B 564b72e2738cce5311aee12d8d6147631cb571f7b96d8d3823098d3dd449bcc23ffed5a6584f8979402bef95536b0e73fe9772f273295a0079782b9f7d88d19f SHA512 d15389441e337e3fab9c30102fe7b4b1b3e68d8cbb5d14162d2fd7e7d01a9812b2d6d6d2a24a60116418be41e2075e70becd6994c13b34365d512521e8debb02 +DIST libc-0.2.172.crate 791646 BLAKE2B 3a6eb0eba1e31cf89ac792a8e667c0f68b2a0e62502710ffe77c2b06321103a30ffdc4516c0a91fd3ff44508d5304dfb04ab919bd3e723e34c66b560a20e7f86 SHA512 7bfe400ee65c1b7e540fd19a9b7eb1429a66863d5e94ee7caa83a227d19a4143316d3b401013fb7f88c8e4cdb1a40cfbd58826597c8e23799e02e29553b67e34 +DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151 +DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 +DIST sudo-rs-0.2.6.tar.gz 712076 BLAKE2B 28a37d09cac2308753563ea96bce2df2c3184da879c058fa122c468ac76583e219dd5bbba74f97d6850232b8e756438de08f5ec14485fc0a84a64b00953ba81d SHA512 f713812de7783f72a646403fa2b26f6be46bc2cb5d69e42ef94b7348fe4dc1798349da8cc14574a963713faef8e5a3813d439297c9c443e6465c47a891515745 +DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 diff --git a/app-admin/sudo-rs/metadata.xml b/app-admin/sudo-rs/metadata.xml new file mode 100644 index 000000000..bfebd8e06 --- /dev/null +++ b/app-admin/sudo-rs/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Timur Kuprava</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/trifectatechfoundation/sudo-rs/issues</bugs-to> + <remote-id type="github">trifectatechfoundation/sudo-rs</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild b/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild new file mode 100644 index 000000000..4a4536fd8 --- /dev/null +++ b/app-admin/sudo-rs/sudo-rs-0.2.6.ebuild @@ -0,0 +1,78 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.74.0" + +CRATES=" + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] +" + +inherit cargo pam + +DESCRIPTION="A memory safe implementation of sudo" +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" +SLOT="0" +KEYWORDS="~amd64" +IUSE="pam +man" + +DEPEND=" + !app-admin/sudo + pam? ( sys-libs/pam ) +" +RDEPEND=" + ${DEPEND} + virtual/editor + pam? ( sys-auth/pambase ) +" +BDEPEND=" + man? ( virtual/pandoc ) +" + +REQUIRED_USE=" + ?? ( pam ) +" + +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 + + 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 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 + + doman docs/man/sudo.8 + doman docs/man/visudo.8 + fi + + pamd_mimic system-auth sudo auth account session + pamd_mimic system-auth sudo-i auth account session +} + +pkg_postinst() { + einfo "*******************" + ewarn "Sudo-rs needs the sudoers configuration file." + ewarn "The sudoers configuration file will be loaded from /etc/sudoers-rs if that file exists," + ewarn "otherwise the original /etc/sudoers location will be used." +}
