mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 12:58:16 -07:00
app-admin/sudo-rs: Revbump, keyword
Make package actually usable on a real system. Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
This commit is contained in:
139
app-admin/sudo-rs/files/sudoers-rs
Normal file
139
app-admin/sudo-rs/files/sudoers-rs
Normal file
@@ -0,0 +1,139 @@
|
||||
## sudoers file.
|
||||
##
|
||||
## This file MUST be edited with the 'visudo' command as root.
|
||||
## Failure to use 'visudo' may result in syntax or file permission errors
|
||||
## that prevent sudo from running.
|
||||
##
|
||||
## See the sudoers man page for the details on how to write a sudoers file.
|
||||
##
|
||||
|
||||
##
|
||||
## Host alias specification
|
||||
##
|
||||
## Groups of machines. These may include host names (optionally with wildcards),
|
||||
## IP addresses, network numbers or netgroups.
|
||||
# Host_Alias WEBSERVERS = www1, www2, www3
|
||||
|
||||
##
|
||||
## User alias specification
|
||||
##
|
||||
## Groups of users. These may consist of user names, uids, Unix groups,
|
||||
## or netgroups.
|
||||
# User_Alias ADMINS = millert, dowdy, mikef
|
||||
|
||||
##
|
||||
## Cmnd alias specification
|
||||
##
|
||||
## Groups of commands. Often used to group related commands together.
|
||||
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
|
||||
# /usr/bin/pkill, /usr/bin/top
|
||||
#
|
||||
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
|
||||
#
|
||||
# Cmnd_Alias DEBUGGERS = /usr/bin/gdb, /usr/bin/lldb, /usr/bin/strace, \
|
||||
# /usr/bin/truss, /usr/bin/bpftrace, \
|
||||
# /usr/bin/dtrace, /usr/bin/dtruss
|
||||
#
|
||||
# Cmnd_Alias PKGMAN = /usr/bin/apt, /usr/bin/dpkg, /usr/bin/rpm, \
|
||||
# /usr/bin/yum, /usr/bin/dnf, /usr/bin/zypper, \
|
||||
# /usr/bin/pacman
|
||||
|
||||
##
|
||||
## Defaults specification
|
||||
##
|
||||
## Preserve editor environment variables for visudo.
|
||||
## To preserve these for all commands, remove the "!visudo" qualifier.
|
||||
Defaults!/usr/sbin/visudo env_keep += "SUDO_EDITOR EDITOR VISUAL"
|
||||
##
|
||||
## Use a hard-coded PATH instead of the user's to find commands.
|
||||
## This also helps prevent poorly written scripts from running
|
||||
## arbitrary commands under sudo.
|
||||
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/21/bin:/usr/lib/llvm/20/bin:/etc/eselect/wine/bin"
|
||||
##
|
||||
## You may wish to keep some of the following environment variables
|
||||
## when running commands via sudo.
|
||||
##
|
||||
## Locale settings
|
||||
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
|
||||
##
|
||||
## Run X applications through sudo; HOME is used to find the
|
||||
## .Xauthority file. Note that other programs use HOME to find
|
||||
## configuration files and this may lead to privilege escalation!
|
||||
# Defaults env_keep += "HOME"
|
||||
##
|
||||
## X11 resource path settings
|
||||
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
|
||||
##
|
||||
## Desktop path settings
|
||||
# Defaults env_keep += "QTDIR KDEDIR"
|
||||
##
|
||||
## Allow sudo-run commands to inherit the callers' ConsoleKit session
|
||||
# Defaults env_keep += "XDG_SESSION_COOKIE"
|
||||
##
|
||||
## Uncomment to enable special input methods. Care should be taken as
|
||||
## this may allow users to subvert the command being run via sudo.
|
||||
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
|
||||
##
|
||||
## Uncomment to disable "use_pty" when running commands as root.
|
||||
## Commands run as non-root users will run in a pseudo-terminal,
|
||||
## not the user's own terminal, to prevent command injection.
|
||||
# Defaults>root !use_pty
|
||||
##
|
||||
## Uncomment to run commands in the background by default.
|
||||
## This can be used to prevent sudo from consuming user input while
|
||||
## a non-interactive command runs if "use_pty" or I/O logging are
|
||||
## enabled. Some commands may not run properly in the background.
|
||||
# Defaults exec_background
|
||||
##
|
||||
## Uncomment to send mail if the user does not enter the correct password.
|
||||
# Defaults mail_badpass
|
||||
##
|
||||
## Uncomment to enable logging of a command's output, except for
|
||||
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
|
||||
## Sudo will create up to 2,176,782,336 I/O logs before recycling them.
|
||||
## Set maxseq to a smaller number if you don't have unlimited disk space.
|
||||
# Defaults log_output
|
||||
# Defaults!/usr/bin/sudoreplay !log_output
|
||||
# Defaults!/usr/local/bin/sudoreplay !log_output
|
||||
# Defaults!REBOOT !log_output
|
||||
# Defaults maxseq = 1000
|
||||
##
|
||||
## Uncomment to disable intercept and log_subcmds for debuggers and
|
||||
## tracers. Otherwise, anything that uses ptrace(2) will be unable
|
||||
## to run under sudo if intercept_type is set to "trace".
|
||||
# Defaults!DEBUGGERS !intercept, !log_subcmds
|
||||
##
|
||||
## Uncomment to disable intercept and log_subcmds for package managers.
|
||||
## Some package scripts run a huge number of commands, which is made
|
||||
## slower by these options and also can clutter up the logs.
|
||||
# Defaults!PKGMAN !intercept, !log_subcmds
|
||||
##
|
||||
## Uncomment to disable PAM silent mode. Otherwise messages by PAM
|
||||
## modules such as pam_faillock will not be printed.
|
||||
# Defaults !pam_silent
|
||||
|
||||
##
|
||||
## Runas alias specification
|
||||
##
|
||||
|
||||
##
|
||||
## User privilege specification
|
||||
##
|
||||
root ALL=(ALL:ALL) ALL
|
||||
|
||||
## Uncomment to allow members of group wheel to execute any command
|
||||
# %wheel ALL=(ALL:ALL) ALL
|
||||
|
||||
## Same thing without a password
|
||||
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
|
||||
|
||||
## Uncomment to allow members of group sudo to execute any command
|
||||
# %sudo ALL=(ALL:ALL) ALL
|
||||
|
||||
## Uncomment to allow any user to run sudo if they know the password
|
||||
## of the user they are running the command as (root by default).
|
||||
# Defaults targetpw # Ask for the password of the target user
|
||||
# ALL ALL=(ALL:ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
|
||||
|
||||
## Read drop-in files from /etc/sudoers.d
|
||||
@includedir /etc/sudoers.d
|
||||
@@ -1,61 +0,0 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Autogenerated by pycargoebuild 0.15.0
|
||||
|
||||
EAPI=8
|
||||
|
||||
CRATES="
|
||||
diff@0.1.13
|
||||
glob@0.3.2
|
||||
libc@0.2.174
|
||||
log@0.4.27
|
||||
pretty_assertions@1.4.1
|
||||
yansi@1.0.1
|
||||
"
|
||||
|
||||
inherit 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"
|
||||
|
||||
RDEPEND="
|
||||
!app-admin/sudo
|
||||
!sys-apps/util-linux[su]
|
||||
!sys-apps/shadow[su]
|
||||
"
|
||||
|
||||
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_install() {
|
||||
cargo_src_install
|
||||
|
||||
dodoc "${DOCS[@]}"
|
||||
|
||||
local man dest
|
||||
for man in docs/man/*.?.man; do
|
||||
dest="${man##*/}"
|
||||
newman "${man}" "${dest%.man}"
|
||||
done
|
||||
}
|
||||
107
app-admin/sudo-rs/sudo-rs-0.2.8-r2.ebuild
Normal file
107
app-admin/sudo-rs/sudo-rs-0.2.8-r2.ebuild
Normal file
@@ -0,0 +1,107 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Autogenerated by pycargoebuild 0.15.0
|
||||
|
||||
EAPI=8
|
||||
|
||||
CRATES="
|
||||
diff@0.1.13
|
||||
glob@0.3.2
|
||||
libc@0.2.174
|
||||
log@0.4.27
|
||||
pretty_assertions@1.4.1
|
||||
yansi@1.0.1
|
||||
"
|
||||
|
||||
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"
|
||||
|
||||
IUSE="pam su system-names"
|
||||
|
||||
RDEPEND="
|
||||
system-names? (
|
||||
!app-admin/sudo
|
||||
su? (
|
||||
!sys-apps/util-linux[su]
|
||||
!sys-apps/shadow[su]
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
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() {
|
||||
if ! use system-names; then
|
||||
find "${S}" -name '*.rs' -or -name 'Cargo.toml' -print0 \
|
||||
| xargs --null sed -r -e 's:"(sudo|visudo|su|su-l)":"\1-rs": ; s:"sudo-i":"sudo-rs-i":' -i || die
|
||||
elif ! use su; then
|
||||
find "${S}" -name '*.rs' -or -name 'Cargo.toml' -print0 \
|
||||
| xargs --null sed -r -e 's:"(su|su-l)":"\1-rs":' -i || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cargo_src_install
|
||||
|
||||
local ext=$(usex system-names '' '-rs')
|
||||
local -a binaries=(
|
||||
{sudo,visudo}${ext}
|
||||
)
|
||||
if use system-names && use su; then
|
||||
binaries+=( su )
|
||||
else
|
||||
binaries+=( su${ext} )
|
||||
fi
|
||||
|
||||
dodoc "${DOCS[@]}"
|
||||
|
||||
local man dest
|
||||
for man in docs/man/*.?.man; do
|
||||
dest="${man##*/}"
|
||||
dest="${dest%.man}"
|
||||
dest="${dest/./${ext}.}"
|
||||
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 su; then
|
||||
pamd_mimic system-auth su${ext}-l auth account session
|
||||
fi
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user