pub enum DistroId {
Fedora {
version: u32,
},
FedoraSilverblue {
version: u32,
},
Ubuntu {
major: u32,
minor: u32,
},
UbuntuCore {
major: u32,
minor: u32,
},
Debian {
version: Option<u32>,
},
Other {
id: String,
version_id: Option<String>,
},
}Expand description
Typed distro identity derived from OsRelease.
Variants§
Fedora
Plain Fedora (Workstation, Server, …).
FedoraSilverblue
Fedora Silverblue, Kinoite, or Sericea (immutable desktops).
Ubuntu
Ubuntu LTS or interim.
UbuntuCore
Ubuntu Core (IoT).
Debian
Debian.
Other
Any other distro — fields forwarded from OsRelease.
Implementations§
Source§impl DistroId
impl DistroId
Sourcepub fn family(&self) -> DistroFamily
pub fn family(&self) -> DistroFamily
Returns the broad family this distro belongs to.
Sourcepub fn is_supported(&self) -> bool
pub fn is_supported(&self) -> bool
Returns true for distros and versions with a shipped action backend.
Support policy:
- Fedora Atomic variants 41+ (Silverblue, Kinoite, and siblings)
- Ubuntu LTS: 22.04, 24.04, 26.04 (interim releases like 26.10 are excluded)
Plain Fedora remains detectable so the planner can explain the gap, but
it is not supported until the dedicated dnf action family ships.
Trait Implementations§
impl Eq for DistroId
impl StructuralPartialEq for DistroId
Auto Trait Implementations§
impl Freeze for DistroId
impl RefUnwindSafe for DistroId
impl Send for DistroId
impl Sync for DistroId
impl Unpin for DistroId
impl UnsafeUnpin for DistroId
impl UnwindSafe for DistroId
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