Skip to content

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

License

Notifications You must be signed in to change notification settings

Normantas/pacmanager_wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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());
    }
}

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages