Updating the readme for this. I will eventually come back to this. I swear

This commit is contained in:
If you know this, you a cool guy 2025-03-19 00:07:52 +00:00
parent 2c592585a6
commit 751cdbeac7

147
README.md
View File

@ -1,23 +1,23 @@
# Universal Package Manager (UPM)
![](./.screens/example.png)
![UPM Example Screenshot](./.screens/example.png)
Note: This is buggy as hell I am sure of it - works for xbps and apt pretty well. Please place issues here and add to shit with PRs if you want.
> **Note:** This project is in early development. It works well for xbps and apt, but may have issues with other package managers. Please report any bugs by creating an issue, and contributions via PRs are welcome!
A unified command-line interface for managing packages across different Linux distributions. UPM provides a consistent interface for package management operations regardless of the underlying package manager (apt, dnf, pacman, etc.).
A unified command-line interface for managing packages across different Linux distributions. UPM provides a consistent experience for package management operations regardless of the underlying package manager (apt, dnf, pacman, etc.).
## Features
## Features
- 🔄 Universal syntax across package managers
- 📦 Support for multiple package managers:
- 🔄 **Universal syntax** across package managers
- 📦 **Support for multiple package managers**:
- apt (Debian/Ubuntu)
- dnf/yum (RHEL/Fedora)
- pacman (Arch)
- pacman (Arch Linux)
- zypper (openSUSE)
- apk (Alpine)
- apk (Alpine Linux)
- xbps (Void Linux)
- emerge (Gentoo)
- 🚀 Support for universal package managers:
- 🚀 **Support for universal package managers**:
- snap
- flatpak
- 🔍 Version-specific package installation
@ -25,7 +25,7 @@ A unified command-line interface for managing packages across different Linux di
- 🧹 Cache cleaning
- 🔗 Dependency handling
## Installation
## 📥 Installation
### Prerequisites
@ -35,97 +35,83 @@ A unified command-line interface for managing packages across different Linux di
### Building from Source
1. Clone the repository and enter the directory:
```git clone https://git.supernets.org/e/upm-universalpackagemanager```
```cd upm-universalpackagemanager```
```bash
git clone https://git.supernets.org/e/upm-universalpackagemanager
cd upm-universalpackagemanager
```
2. Install dependencies:
```go mod download```
```bash
go mod download
```
3. Build the binary:
```go build -o upm```
```bash
go build -o upm
```
4. (Optional) Install system-wide:
```sudo mv upm /usr/local/bin/```
```bash
sudo mv upm /usr/local/bin/
```
## Usage
## 🚀 Usage
### Basic Commands
Install packages:\
```upm install nginx```\
```upm install nginx@1.18.0 # Install specific version```
Remove packages:\
```upm remove nginx```
Search for packages:\
```upm search nginx```
Search for source code:\
```upm source nginx``` # Search GitHub for source code repositories
Update package lists:\
```upm update```
Upgrade installed packages:\
```upm upgrade```
List installed packages:\
```upm list```
Show package information:\
```upm info nginx```
| Operation | Command | Example |
|-----------|---------|---------|
| Install packages | `upm install <package>` | `upm install nginx` |
| Install specific version | `upm install <package>@<version>` | `upm install nginx@1.18.0` |
| Remove packages | `upm remove <package>` | `upm remove nginx` |
| Search for packages | `upm search <query>` | `upm search nginx` |
| Search for source code | `upm source <query>` | `upm source nginx` |
| Update package lists | `upm update` | |
| Upgrade installed packages | `upm upgrade` | |
| List installed packages | `upm list` | |
| Show package information | `upm info <package>` | `upm info nginx` |
### Repository Management
Add a repository:\
```upm repo add https://repo.example.com```
Remove a repository:\
```upm repo remove example-repo```
List repositories:\
```upm repo list```
| Operation | Command | Example |
|-----------|---------|---------|
| Add a repository | `upm repo add <url>` | `upm repo add https://repo.example.com` |
| Remove a repository | `upm repo remove <name>` | `upm repo remove example-repo` |
| List repositories | `upm repo list` | |
### Maintenance
Clean package cache:\
```upm clean```
Remove unused dependencies:\
```upm autoremove```
| Operation | Command |
|-----------|---------|
| Clean package cache | `upm clean` |
| Remove unused dependencies | `upm autoremove` |
### Dependency Management
Check dependencies:\
```upm check-deps```
Check dependencies for specific package:\
```upm check-deps nginx```
Show package dependencies:\
```upm show-deps nginx```
| Operation | Command | Example |
|-----------|---------|---------|
| Check dependencies | `upm check-deps` | |
| Check dependencies for specific package | `upm check-deps <package>` | `upm check-deps nginx` |
| Show package dependencies | `upm show-deps <package>` | `upm show-deps nginx` |
### Using Universal Package Managers
Install using snap:\
```upm -u snap install firefox```
Install using flatpak:\
```upm -u flatpak install org.mozilla.firefox```
| Operation | Command | Example |
|-----------|---------|---------|
| Install using snap | `upm -u snap install <package>` | `upm -u snap install firefox` |
| Install using flatpak | `upm -u flatpak install <package>` | `upm -u flatpak install org.mozilla.firefox` |
### Source Code Search
Search for source code repositories:
`upm source nginx`
```bash
upm source nginx
```
This command searches GitHub for source code repositories related to the specified package.
## Project Structure
## 📁 Project Structure
```
upm-universalpackagemanager/
├── main.go # Main application entry point
@ -135,24 +121,25 @@ upm-universalpackagemanager/
├── go.sum
└── README.md
```
## Dependencies
## 📚 Dependencies
Required Go packages:
- github.com/fatih/color - For colorized terminal output
- github.com/briandowns/spinner - For progress indicators
- `github.com/fatih/color` - For colorized terminal output
- `github.com/briandowns/spinner` - For progress indicators
## Contributing
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
## 📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
## 👏 Acknowledgments
Supernets, PP4L, DigitalGangster
## Support
## 💬 Support
If you encounter any issues or have questions, please file an issue on the git.supernets.org repository.
If you encounter any issues or have questions, please file an issue on the [git.supernets.org repository](https://git.supernets.org/e/upm-universalpackagemanager).