Updating the readme for this. I will eventually come back to this. I swear
This commit is contained in:
parent
2c592585a6
commit
751cdbeac7
147
README.md
147
README.md
@ -1,23 +1,23 @@
|
|||||||
# Universal Package Manager (UPM)
|
# Universal Package Manager (UPM)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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
|
- 🔄 **Universal syntax** across package managers
|
||||||
- 📦 Support for multiple package managers:
|
- 📦 **Support for multiple package managers**:
|
||||||
- apt (Debian/Ubuntu)
|
- apt (Debian/Ubuntu)
|
||||||
- dnf/yum (RHEL/Fedora)
|
- dnf/yum (RHEL/Fedora)
|
||||||
- pacman (Arch)
|
- pacman (Arch Linux)
|
||||||
- zypper (openSUSE)
|
- zypper (openSUSE)
|
||||||
- apk (Alpine)
|
- apk (Alpine Linux)
|
||||||
- xbps (Void Linux)
|
- xbps (Void Linux)
|
||||||
- emerge (Gentoo)
|
- emerge (Gentoo)
|
||||||
- 🚀 Support for universal package managers:
|
- 🚀 **Support for universal package managers**:
|
||||||
- snap
|
- snap
|
||||||
- flatpak
|
- flatpak
|
||||||
- 🔍 Version-specific package installation
|
- 🔍 Version-specific package installation
|
||||||
@ -25,7 +25,7 @@ A unified command-line interface for managing packages across different Linux di
|
|||||||
- 🧹 Cache cleaning
|
- 🧹 Cache cleaning
|
||||||
- 🔗 Dependency handling
|
- 🔗 Dependency handling
|
||||||
|
|
||||||
## Installation
|
## 📥 Installation
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
@ -35,97 +35,83 @@ A unified command-line interface for managing packages across different Linux di
|
|||||||
### Building from Source
|
### Building from Source
|
||||||
|
|
||||||
1. Clone the repository and enter the directory:
|
1. Clone the repository and enter the directory:
|
||||||
|
```bash
|
||||||
```git clone https://git.supernets.org/e/upm-universalpackagemanager```
|
git clone https://git.supernets.org/e/upm-universalpackagemanager
|
||||||
```cd upm-universalpackagemanager```
|
cd upm-universalpackagemanager
|
||||||
|
```
|
||||||
|
|
||||||
2. Install dependencies:
|
2. Install dependencies:
|
||||||
|
```bash
|
||||||
```go mod download```
|
go mod download
|
||||||
|
```
|
||||||
|
|
||||||
3. Build the binary:
|
3. Build the binary:
|
||||||
|
```bash
|
||||||
```go build -o upm```
|
go build -o upm
|
||||||
|
```
|
||||||
|
|
||||||
4. (Optional) Install system-wide:
|
4. (Optional) Install system-wide:
|
||||||
|
```bash
|
||||||
|
sudo mv upm /usr/local/bin/
|
||||||
|
```
|
||||||
|
|
||||||
```sudo mv upm /usr/local/bin/```
|
## 🚀 Usage
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Basic Commands
|
### Basic Commands
|
||||||
|
|
||||||
Install packages:\
|
| Operation | Command | Example |
|
||||||
```upm install nginx```\
|
|-----------|---------|---------|
|
||||||
```upm install nginx@1.18.0 # Install specific version```
|
| Install packages | `upm install <package>` | `upm install nginx` |
|
||||||
|
| Install specific version | `upm install <package>@<version>` | `upm install nginx@1.18.0` |
|
||||||
Remove packages:\
|
| Remove packages | `upm remove <package>` | `upm remove nginx` |
|
||||||
```upm remove nginx```
|
| Search for packages | `upm search <query>` | `upm search nginx` |
|
||||||
|
| Search for source code | `upm source <query>` | `upm source nginx` |
|
||||||
Search for packages:\
|
| Update package lists | `upm update` | |
|
||||||
```upm search nginx```
|
| Upgrade installed packages | `upm upgrade` | |
|
||||||
|
| List installed packages | `upm list` | |
|
||||||
Search for source code:\
|
| Show package information | `upm info <package>` | `upm info nginx` |
|
||||||
```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```
|
|
||||||
|
|
||||||
### Repository Management
|
### Repository Management
|
||||||
|
|
||||||
Add a repository:\
|
| Operation | Command | Example |
|
||||||
```upm repo add https://repo.example.com```
|
|-----------|---------|---------|
|
||||||
|
| Add a repository | `upm repo add <url>` | `upm repo add https://repo.example.com` |
|
||||||
Remove a repository:\
|
| Remove a repository | `upm repo remove <name>` | `upm repo remove example-repo` |
|
||||||
```upm repo remove example-repo```
|
| List repositories | `upm repo list` | |
|
||||||
|
|
||||||
List repositories:\
|
|
||||||
```upm repo list```
|
|
||||||
|
|
||||||
### Maintenance
|
### Maintenance
|
||||||
|
|
||||||
Clean package cache:\
|
| Operation | Command |
|
||||||
```upm clean```
|
|-----------|---------|
|
||||||
|
| Clean package cache | `upm clean` |
|
||||||
Remove unused dependencies:\
|
| Remove unused dependencies | `upm autoremove` |
|
||||||
```upm autoremove```
|
|
||||||
|
|
||||||
### Dependency Management
|
### Dependency Management
|
||||||
|
|
||||||
Check dependencies:\
|
| Operation | Command | Example |
|
||||||
```upm check-deps```
|
|-----------|---------|---------|
|
||||||
|
| Check dependencies | `upm check-deps` | |
|
||||||
Check dependencies for specific package:\
|
| Check dependencies for specific package | `upm check-deps <package>` | `upm check-deps nginx` |
|
||||||
```upm check-deps nginx```
|
| Show package dependencies | `upm show-deps <package>` | `upm show-deps nginx` |
|
||||||
|
|
||||||
Show package dependencies:\
|
|
||||||
```upm show-deps nginx```
|
|
||||||
|
|
||||||
### Using Universal Package Managers
|
### Using Universal Package Managers
|
||||||
|
|
||||||
Install using snap:\
|
| Operation | Command | Example |
|
||||||
```upm -u snap install firefox```
|
|-----------|---------|---------|
|
||||||
|
| Install using snap | `upm -u snap install <package>` | `upm -u snap install firefox` |
|
||||||
Install using flatpak:\
|
| Install using flatpak | `upm -u flatpak install <package>` | `upm -u flatpak install org.mozilla.firefox` |
|
||||||
```upm -u flatpak install org.mozilla.firefox```
|
|
||||||
|
|
||||||
### Source Code Search
|
### Source Code Search
|
||||||
|
|
||||||
Search for source code repositories:
|
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.
|
This command searches GitHub for source code repositories related to the specified package.
|
||||||
|
|
||||||
## Project Structure
|
## 📁 Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
upm-universalpackagemanager/
|
upm-universalpackagemanager/
|
||||||
├── main.go # Main application entry point
|
├── main.go # Main application entry point
|
||||||
@ -135,24 +121,25 @@ upm-universalpackagemanager/
|
|||||||
├── go.sum
|
├── go.sum
|
||||||
└── README.md
|
└── README.md
|
||||||
```
|
```
|
||||||
## Dependencies
|
|
||||||
|
## 📚 Dependencies
|
||||||
|
|
||||||
Required Go packages:
|
Required Go packages:
|
||||||
- github.com/fatih/color - For colorized terminal output
|
- `github.com/fatih/color` - For colorized terminal output
|
||||||
- github.com/briandowns/spinner - For progress indicators
|
- `github.com/briandowns/spinner` - For progress indicators
|
||||||
|
|
||||||
## Contributing
|
## 🤝 Contributing
|
||||||
|
|
||||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
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.
|
This project is licensed under the MIT License - see the LICENSE file for details.
|
||||||
|
|
||||||
## Acknowledgments
|
## 👏 Acknowledgments
|
||||||
|
|
||||||
Supernets, PP4L, DigitalGangster
|
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).
|
Loading…
Reference in New Issue
Block a user