Files
rpmi/README.md
T
2025-11-17 22:57:19 +03:00

78 lines
2.5 KiB
Markdown

# RPMI: Graphical Utility for Managing RPM Packages
![rpmi-screenshot](./assets/screenshot.png)
RPMI is a simple graphical utility, developed in Rust using EGUI, designed for installing, upgrading, and removing RPM packages on Linux operating systems. It provides an intuitive interface for interacting with packages, using `dnf` as its backend.
## Features
* **Install RPM Packages:** Easily install new RPM packages.
* **Upgrade RPM Packages:** Upgrade existing packages to newer versions.
* **Remove RPM Packages:** Remove unwanted packages from your system.
* **Graphical User Interface:** Intuitive user interface built with EGUI.
* **Detailed Package Information:** View package name, version, architecture, size, summary, URL, and description before installation.
* **Process Logging:** Monitor the progress of `dnf` operations in real-time.
## Installation
### Cargo
You can install `egui_rpm_installer` directly from crates.io using `cargo`:
```bash
cargo install egui_rpm_installer
```
### COPR
For Fedora and RHEL-based systems, you can install RPMI from the COPR repository:
```bash
sudo dnf copr enable arabianq/rpmi
sudo dnf install rpmi
```
### Pre-built Binaries
You can download pre-built binaries for various platforms from the [GitHub Releases page](https://github.com/arabianq/rpmi/releases).
## Build and Run
### Dependencies
To build and run RPMI, you will need:
* Rust (version 1.70 or higher)
* `dnf` (for package management)
* `pkexec` (for executing commands with elevated privileges)
### Build
Clone the repository and build the project:
```bash
git clone https://github.com/arabianq/rpmi.git
cd rpmi
cargo build --release
```
The executable will be located at `target/release/rpmi`.
### Run
You can run RPMI by passing the path to one or more RPM files:
```bash
./target/release/rpmi /path/to/your/package.rpm
```
If you pass multiple files, a separate RPMI instance will be launched for each.
## Usage
1. **Launch:** Start RPMI by specifying the path to an RPM file.
2. **Package Information:** The RPMI window will display detailed information about the package.
3. **Action:** Depending on the package's state (new, older version, newer version of installed), you will be offered "Install", "Upgrade", or "Remove" buttons.
4. **Execute:** Click the appropriate button to begin the process. The execution log will be displayed in the window.
5. **Completion:** After the process is complete, you can close the application.
## License
This project is distributed under the MIT License. See the `LICENSE` file for details.