Blimp is a simple package manager for Unix-like operating systems, more specifically for Maestro.
This repository contains the following components:
blimp
: The package manager itselfblimp-builder
: An utility to build packagesblimp-server
: The package manager's server
The common
crate is a library with utilities shared across components.
Build the package manager using:
cargo build # Debug mode
cargo build --release # Release mode
Building with network support required the network
feature:
cargo build --features network # Debug mode
cargo build --features network --release # Release mode
Synchronize packages information with remotes:
blimp update
Install package(s):
blimp install <package>
Upgrade packages:
blimp upgrade
Remove package(s):
blimp remove <package>
Show the whole usage of the command:
blimp
The general usage of the command is:
blimp-builder <package descriptor> <output repository>
The command builds the package according to the descriptor, then writes the result in the given output repository.
Note: the structure of package descriptors and output packages is not yet documented as they are subject to changes
Cross compilation is required when building package for a system with a different target triplet than the current system.
To cross compile, you first need to build a toolchain.
The target triplet can be specified with the TARGET
environment variable. Example:
export TARGET="i686-unknown-linux-musl"
If not specified, the target default to i686-unknown-linux-musl
.
To cross compile for Maestro, Linux targets with musl should be used, since Maestro is Linux-compatible.
Then, run the following command to set environment variables for your current shell:
TOOLCHAIN=<path to the toolchain> source cross_compile_env.sh