3 KiB
pkg6repo
pkg6repo is a Rust implementation of the Image Packaging System (IPS) repository management utility. It is designed to replace the pkgrepo command from the original IPS implementation.
Installation
To build and install pkg6repo, you need to have Rust and Cargo installed. Then, you can build the project using:
cargo build --release
The binary will be available at target/release/pkg6repo.
Usage
pkg6repo provides several subcommands for managing package repositories:
Create a Repository
Create a new package repository:
pkg6repo create /path/to/repository
You can specify the repository version (default is 4):
pkg6repo create --version 4 /path/to/repository
Add Publishers
Add publishers to a repository:
pkg6repo add-publisher -s /path/to/repository example.com
Remove Publishers
Remove publishers from a repository:
pkg6repo remove-publisher -s /path/to/repository example.com
You can perform a dry run to see what would be removed without actually removing anything:
pkg6repo remove-publisher -n -s /path/to/repository example.com
Get Repository Properties
Get repository properties:
pkg6repo get -s /path/to/repository
You can specify specific properties to get:
pkg6repo get -s /path/to/repository publisher/prefix
Set Repository Properties
Set repository properties:
pkg6repo set -s /path/to/repository publisher/prefix=example.com
You can set publisher-specific properties:
pkg6repo set -s /path/to/repository -p example.com repository/origins=http://example.com/repository
Display Repository Information
Display information about a repository:
pkg6repo info -s /path/to/repository
List Packages
List packages in a repository:
pkg6repo list -s /path/to/repository
You can filter by publisher:
pkg6repo list -s /path/to/repository -p example.com
You can also filter by package pattern:
pkg6repo list -s /path/to/repository example/package
Show Package Contents
Show contents of packages in a repository:
pkg6repo contents -s /path/to/repository
You can filter by package pattern:
pkg6repo contents -s /path/to/repository example/package
You can also filter by action type:
pkg6repo contents -s /path/to/repository -t file
Rebuild Repository Metadata
Rebuild repository metadata:
pkg6repo rebuild -s /path/to/repository
You can skip catalog or index rebuilding:
pkg6repo rebuild -s /path/to/repository --no-catalog
pkg6repo rebuild -s /path/to/repository --no-index
Refresh Repository Metadata
Refresh repository metadata:
pkg6repo refresh -s /path/to/repository
You can skip catalog or index refreshing:
pkg6repo refresh -s /path/to/repository --no-catalog
pkg6repo refresh -s /path/to/repository --no-index
License
This project is licensed under the same license as the original IPS implementation.