pacmanager_wrapper

Crates.iopacmanager_wrapper
lib.rspacmanager_wrapper
version0.2.0
sourcesrc
created_at2024-03-16 12:44:49.412055
updated_at2024-03-17 07:12:18.033549
descriptionA utility to interact with any package manager on any Linux distro
homepage
repositoryhttps://github.com/Normantas/pacmanager_wrapper
max_upload_size
id1175592
size43,985
(Normantas)

documentation

README

pacmanager_wrapper - A universal library for managing packages

A utility to interact with any package manager on any Linux distro

Package manager support

Currently supported:

  • Apt
  • Apk
  • Yum
  • Pacman

Example

Taken from examples/install.rs

use pacmanager_wrapper::{execute_action, PacManagerAction, PacManagerCommand};
use futures_lite::{io::BufReader, prelude::*};

#[tokio::main]
async fn main() {
    // Create a PacManagerAction
    let action = PacManagerAction {
        pacmanager_command: PacManagerCommand::Install("lolcat".to_string()), // The action we want to do (which includes the package)
        internal_config: Default::default(),
        non_interactive: true,
        custom_flags: None,
    };

    // Execute the action with APT and BufRead its output
    let mut child = execute_action(action, pacmanager_wrapper::PacManager::Apt).await.unwrap();
    let mut lines = BufReader::new(child.stdout.take().unwrap()).lines();

    // Print out the PacManager's stdout
    while let Some(line) = lines.next().await {
        println!("{}", line.unwrap());
    }
}
Commit count: 0

cargo fmt