summaryrefslogtreecommitdiff
path: root/app-admin/sudo-rs
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/sudo-rs')
-rw-r--r--app-admin/sudo-rs/Manifest2
-rw-r--r--app-admin/sudo-rs/sudo-rs-0.2.11.ebuild119
2 files changed, 121 insertions, 0 deletions
diff --git a/app-admin/sudo-rs/Manifest b/app-admin/sudo-rs/Manifest
index 335bfe93b1b6..6f80b840b8bb 100644
--- a/app-admin/sudo-rs/Manifest
+++ b/app-admin/sudo-rs/Manifest
@@ -1,7 +1,9 @@
DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb
DIST glob-0.3.3.crate 22861 BLAKE2B 34434d0ee1d50d0453f7294cb793ff123415feda605b09a2634708646fd91584db6b77a51d38c20ec89d8e3b36b136d071d30020f6325cbffbce736403c68803 SHA512 159a5de81cd59c472cd5705a50f140d29adb64ef10d8dd4bab77f9a44cce33933a779ecd12b399edffaac551fd935a3aa74ede4c9aa9b3e5212d220b3fe22219
DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0
+DIST libc-0.2.178.crate 783720 BLAKE2B 72f5fecacf0494b3962ff893d647155af88e9942b14d110e521b25e5d65d95d41dc00f83431b82632a53c6e0ae7fd537d018d7bf29df65d5e56b908a893d77d0 SHA512 968b954e2edde88d14135decd9eaadc31ca1aad80529a6696591c06c4414d615c97ce0873f77bfebe08b862faa5f3cb79a6648ab90734d462bef06e06ea43dde
DIST log-0.4.28.crate 51131 BLAKE2B 2911509cabe6a69b60945e798f2afee934d865d21efa22d150288de6a27a797fe00ee4f249fc6f6d7a02e2efb7377d2a7188a8ed8cb692f76b94a0df56d74d83 SHA512 cea74c92c80f291360a7cdf022e3ce2f509b9051b415840ab2a159585384f3fe606289da00a6def0c3d666416c5fcda865e2ae4ad48df07618818e8486cd0209
DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0
DIST sudo-rs-0.2.10.tar.gz 1173064 BLAKE2B 39278c6d346cc27c122640d59fc8fc3bc416d3ecc655d090cde7ff6fb15d95fecfbe32808956416c019ad72cfa96ae16225d6b172b7cbc3211fef81a7e5d7df1 SHA512 9009968625f7699803446aef386657dc1c1c864747ea1a0af4d4532d8eaeec236b3721c950a92db87f3371df64d7d873a678a3df021c7aeb72f0c5273f218af2
+DIST sudo-rs-0.2.11.tar.gz 1183217 BLAKE2B 84afee2246e23e77b19f05b1fa46ed3c11b559585cb3fe007b530f3bcbb65b36331273128d6a0cecc77261486644bca79567ec060eda3117cbdcf4d0f4af689c SHA512 e1f90f74cf706f216d65416db91311039fa8e8b82fa337935f8a28b4a0258d7b99a3d326ea50111fae610472cc2333d1f876d99bb816a9fdab65b999bee8bf50
DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541
diff --git a/app-admin/sudo-rs/sudo-rs-0.2.11.ebuild b/app-admin/sudo-rs/sudo-rs-0.2.11.ebuild
new file mode 100644
index 000000000000..2818a724731e
--- /dev/null
+++ b/app-admin/sudo-rs/sudo-rs-0.2.11.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.0
+
+EAPI=8
+
+CRATES="
+ glob@0.3.3
+ libc@0.2.178
+"
+
+inherit pam cargo
+
+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 MIT )"
+# Dependent crate licenses
+LICENSE+=" || ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+IUSE="pam su system-names"
+
+RDEPEND="
+ system-names? (
+ !app-admin/sudo
+ su? (
+ !sys-apps/util-linux[su]
+ !sys-apps/shadow[su]
+ pam? ( sys-apps/util-linux[pam] )
+ )
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+DOCS=(
+ README.md
+ SECURITY.md
+ CHANGELOG.md
+)
+
+PATCHES=(
+ # disable tests that require root access
+ "${FILESDIR}/sudo-rs-0.2.8-tests.patch"
+)
+
+src_prepare() {
+ local -a targets
+ local target
+
+ if ! use system-names; then
+ find "${S}" -name '*.rs' -or -name 'Cargo.toml' \
+ | xargs sed -r -e 's:"(sudo|visudo|su|su-l)":"\1-rs": ; s:"sudo-i":"sudo-rs-i":' -i || die
+
+ readarray -t targets < <(find src/bin -name '*.rs')
+
+ for target in "${targets[@]}"; do
+ mv "${target}" "${target//.rs/-rs.rs}" || die
+ done
+
+ elif ! use su; then
+ find "${S}" -name '*.rs' -or -name 'Cargo.toml' \
+ | xargs sed -r -e 's:"(su|su-l)":"\1-rs":' -i || die
+
+ readarray -t targets < <(find src/bin -name '*.rs' -and -not -name '*sudo*')
+
+ for target in "${targets[@]}"; do
+ rm "${target}" || die
+ done
+ fi
+
+ default
+}
+
+src_install() {
+ cargo_src_install
+
+ local ext=$(usex system-names '' '-rs')
+ local su_ext=$(usex su "${ext}" '-rs')
+ local -a binaries=( sudo${ext} )
+ use su && binaries+=( su${su_ext} )
+
+ dodoc "${DOCS[@]}"
+
+ local man dest
+ for man in docs/man/*.?.man; do
+ dest="${man##*/}"
+ dest="${dest%.man}"
+ if [[ ${dest#.*} == su.* ]]; then
+ dest="${dest/./${su_ext}.}"
+ else
+ dest="${dest/./${ext}.}"
+ fi
+ newman "${man}" "${dest}"
+ done
+
+ fperms 4755 $(printf -- '/usr/bin/%s\n' "${binaries[@]}")
+
+ insinto /etc
+ doins "${FILESDIR}"/sudoers-rs
+
+ keepdir /etc/sudoers.d
+
+ if use pam; then
+ pamd_mimic system-auth sudo${ext} auth account session
+ pamd_mimic system-auth sudo${ext}-i auth account session
+
+ if ! use system-names && use su; then
+ pamd_mimic system-auth su${ext}-l auth account session
+ fi
+ fi
+}