pub enum PrivilegeTool {
Sudo,
Doas,
}Expand description
What: Privilege escalation tool used to run pacman as root.
Inputs:
- Selected explicitly by callers or via
install::detect_privilege_tool().
Output:
- Determines the prefix binary in privileged commands (e.g.,
sudo pacman ...).
Details:
- Automatic detection prefers
doas, then falls back tosudo, matching Pacsea. - Password handling (stdin piping, credential caching) is intentionally NOT part of arch-toolkit; it is a UI/session concern.
Variants§
Sudo
The sudo privilege tool (automatic fallback).
Doas
The doas privilege tool (preferred for automatic detection).
Implementations§
Source§impl PrivilegeTool
impl PrivilegeTool
Sourcepub const fn binary_name(self) -> &'static str
pub const fn binary_name(self) -> &'static str
What: Return the shell binary name for this tool.
Inputs: None.
Output: "sudo" or "doas".
Details: Used in command construction and PATH lookups.
Trait Implementations§
Source§impl Clone for PrivilegeTool
impl Clone for PrivilegeTool
Source§fn clone(&self) -> PrivilegeTool
fn clone(&self) -> PrivilegeTool
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PrivilegeTool
Source§impl Debug for PrivilegeTool
impl Debug for PrivilegeTool
Source§impl<'de> Deserialize<'de> for PrivilegeTool
impl<'de> Deserialize<'de> for PrivilegeTool
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for PrivilegeTool
impl Display for PrivilegeTool
impl Eq for PrivilegeTool
Source§impl PartialEq for PrivilegeTool
impl PartialEq for PrivilegeTool
Source§impl Serialize for PrivilegeTool
impl Serialize for PrivilegeTool
impl StructuralPartialEq for PrivilegeTool
Auto Trait Implementations§
impl Freeze for PrivilegeTool
impl RefUnwindSafe for PrivilegeTool
impl Send for PrivilegeTool
impl Sync for PrivilegeTool
impl Unpin for PrivilegeTool
impl UnsafeUnpin for PrivilegeTool
impl UnwindSafe for PrivilegeTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.