पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv0.83.0

xpm

किसी भी यूनिक्स-जैसे डिस्ट्रो के लिए सार्वभौमिक पैकेज प्रबंधक, जिसमें मैकओएस शामिल है। विंडोज के लिए प्रयोगात्मक समर्थन भी है।

AndroidiOSmacOSWindowsLinux
30-दिन डाउनलोड
532
लाइक
3
Pub अंक
115

पैकेज इंस्टॉल करें

flutter pub add xpm

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

XPM एक सार्वभौमिक पैकेज प्रबंधक है जो यूनिक्स-जैसी प्रणालियों, जिनमें macOS, Linux और प्रयोगात्मक Windows समर्थन शामिल है, के लिए डिज़ाइन किया गया है। यह विभिन्न वातावरणों में एप्लिकेशन के अस्तित्व, प्रबंधन और वितरण को बिना किसी दिक्कत के सुनिश्चित करता है। Flutter और Dart के साथ निर्मित, XPM निर्भरता के प्रबंधन और एप्लिकेशन प्रकाशन को सरल बनाता है, जिससे यह बहु-प्लेटफॉर्म लक्ष्य वाले विकासकर्ताओं के लिए आदर्श है। इसकी अंतर-प्लेटफॉर्म संगतता एंड्रॉइड, iOS, macOS, Windows और Linux में समान व्यवहार सुनिश्चित करती है। इस उपकरण का उद्देश्य फ्लटर इकोसिस्टम में पैकेज प्रबंधन कार्य प्रवाह को एकीकृत करना है।

उपयोग

  • क्रॉस-प्लेटफॉर्म एप्लिकेशन डेप्लॉयमेंट
  • ऑपरेटिंग सिस्टम के बीच एकीकृत पैकेज प्रबंधन
  • सरलीकृत ऐप प्रकाशन
  • विकास कार्यप्रवाह स्वचालन
  • CI/CD एकीकरण
  • बहु-ओएस निर्भरता समाधान

मुख्य विशेषताएँ

  • यूनिक्स-जैसी प्रणालियों के बीच सार्वभौमिक सुसंगतता
  • प्रयोगात्मक Windows समर्थन
  • Flutter/Dart-आधारित संरचना
  • `flutter pub add xpm` के माध्यम से कमांड-लाइन इंटरफेस
  • Android, iOS, macOS, Windows और Linux का समर्थन करता है
  • स्ट्रीमलाइन किया गया एप्लिकेशन पैकेजिंग और वितरण

इनके लिए उपयुक्त

  • कई ऑपरेटिंग सिस्टम का लक्ष्य बनाने वाले डेवलपर्स
  • CI/CD पाइपलाइन्स का उपयोग करने वाली टीमें
  • क्रॉस-प्लेटफॉर्म फ्लटर एप्लिकेशन के प्रकाशक
  • एकीकृत उपकरण की तलाश में पर्यावरण रखरखावकर्ता
  • ओपन-सोर्स योगदानकर्ता बहु-OS प्रोजेक्ट्स का प्रबंधन कर रहे हैं

विचार योग्य बातें

  • विंडोज समर्थन अभी भी प्रयोगात्मक है
  • Flutter वातावरण सेटअप की आवश्यकता है
  • उपलब्ध दस्तावेज़ सीमित हैं
  • प्लेटफॉर्म-विशिष्ट कॉन्फ़िगरेशन की आवश्यकता हो सकती है
  • उत्पादन में अभी तक व्यापक रूप से अपनाया नहीं गया है
  • GitHub-आधारित स्रोत कोड पर निर्भरता

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

xpm - uniX Package Manager

CI

A universal package manager for any unix-like distro including macOS. Rewritten in Rust for maximum performance and portability.

What is xpm?

XPM is a package manager for unix systems like Linux, BSD, MacOS, etc. It can be a wrapper for native package managers or a package manager itself by using its way of installing packages. For the list of packages available, see xpm-popular.

Our key values
  • Easy to install, update, upgrade, remove, search (and filter)
  • No questions asked, can run in a non-interactive way
  • Easy to create new installers or a full repository
  • Be agnostic, following unix standards and relying on very known tools
  • Include many popular distros, including macOS and Android (termux)
  • Prefer native pm way and falls back to xpm way

Features

  • Universal: Works on Linux (Arch, Debian, Ubuntu, Fedora, openSUSE), macOS, and Android/Termux
  • Fast: Built with Rust for maximum performance (~3MB static binary)
  • Unified: Search and install packages from XPM repositories AND native package managers
  • AUR Support: Full AUR helper support (paru, yay) on Arch Linux
  • Offline-first: Local database with cached package metadata
  • Script-based packages: Simple bash scripts for package installation

Supported Operating Systems & Package Managers

🎯 Integrated Support (Native PM with formatted search)
  • Debian/Ubuntu & derivatives → APT
  • Arch Linux → Pacman (with AUR support via Paru and Yay)

These systems get full native package manager integration with intelligent search, metadata extraction, and clean formatted output.

📜 Script-Based Support (via installers)

For other systems, XPM provides script-based installation through the xpm-popular repository:

Linux Distributions:

  • Fedora → DNF
  • openSUSE → Zypper
  • Clear Linux → swupd
  • Android (Termux) → pkg
  • Alpine Linux → via custom scripts

macOS → Homebrew (brew) - via scripts

Installation

Faster with curl
curl -fsSL install.cat/verseles/xpm
From Source
# Clone the repository
git clone https://github.com/verseles/xpm.git
cd xpm

# Build
cargo build --release

# Install to /usr/local/bin
sudo cp target/release/xpm /usr/local/bin/
From Cargo
cargo install --git https://github.com/verseles/xpm.git

Quick Start

# Check your system
xpm check

# Add the default repository (pulls from xpm-popular)
xpm refresh

# Search for packages (searches XPM + native PM)
xpm search neovim

# Install a package
xpm install neovim

# Remove a package
xpm remove neovim

Commands

Command Alias Description
search s Search for packages (XPM + native PM)
install i Install a package
remove rm Remove a package
refresh - Refresh package database
upgrade - Upgrade installed packages (coming soon)
get - Download a file
file - File operations (copy, move, delete, bin)
repo - Repository management
checksum hash Compute file checksums
shortcut - Create desktop shortcuts
log - Show installed packages
check - Check system configuration
make - Create a package (coming soon)
Search Examples
# Basic search
xpm search vim

# Multiple terms
xpm search text editor

# Limit results
xpm search rust --limit 10

# JSON output (for scripts)
xpm search go --json

Architecture

XPM is built as a Rust workspace with two crates:

  • xpm-core: Core library with database, OS abstraction, and package management
  • xpm-cli: Command-line interface
Key Components
  • Native DB: Fast, embedded database using native_db (redb backend)
  • Async I/O: Full async support with Tokio
  • Git integration: Uses git2 for repository management
  • Native PM integration: Seamless integration with apt, pacman, paru, yay

Creating Packages

Packages are bash scripts with metadata headers:

#!/bin/bash
readonly xNAME="my-package"
readonly xVERSION="1.0.0"
readonly xTITLE="My Package"
readonly xDESC="Description of my package"
readonly xURL="https://example.com"

xARCHS=(x86_64 aarch64)
xDEFAULT=(any)

install_any() {
    # Installation logic
    echo "Installing..."
}

remove_any() {
    # Removal logic
    echo "Removing..."
}

validate() {
    # Validation - return 0 if installed correctly
    which my-package >/dev/null
}

Save as my-package/my-package.bash in your repository.

Repository Structure

my-xpm-repo/
├── package1/
│   └── package1.bash
├── package2/
│   └── package2.bash
└── ...

Building from Source

# Development build
cargo build

# Release build (optimized)
cargo build --release

# Run tests
cargo test

# Run with verbose output
cargo run -- --verbose check

# Pre-commit checks (format + lint + test)
make precommit

Container Testing

Test xpm on different distributions using Podman:

# Build and test on Ubuntu
make test-ubuntu

# Build and test on Arch Linux
make test-arch

# Build and test all distros
make docker-test

# Clean container images
make docker-clean

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run cargo test and cargo clippy
  5. Submit a pull request

License

BSD-4-Clause

Credits

Built with ❤️ by Verseles

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 14 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।