diff options
Diffstat (limited to 'app-admin/sudo-rs')
| -rw-r--r-- | app-admin/sudo-rs/Manifest | 2 | ||||
| -rw-r--r-- | app-admin/sudo-rs/sudo-rs-0.2.11.ebuild | 119 |
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 +} |
