rorkos

rorkos

ror - package manager

ror is the package manager for rorkos. written in rust, fast and simple.

basics

install a package

ror install firefox

short version:

    ror i firefox

multiple packages:

    ror i firefox gimp vlc

### remove a package

    ror remove firefox

or:

    ror d firefox

### upgrade everything

    ror upgrade

or:

    ror u

### upgrade a single package

    ror update firefox

dry run:

    ror update --dry-run firefox

### search

    ror search browser

package names are case-insensitive. `firefox`, `Firefox`, and `FIREFOX` are the same.

### package info

    ror info firefox

shows version, license, homepage, description, and available binaries.

### what's installed

    ror list-installed

or:

    ror l

how many packages:

    ror count

or:

    ror c

## groups

groups are package sets. for example, `desktop` installs xorg, firefox, and alacritty together.

list available groups:

    ror list-groups

install a group:

    ror install @desktop

## replacing packages

swap one package for another atomically:

    ror di firefox chromium

old package is only removed after new one installs successfully.

## repositories

add a repository:

    ror repo-add rorkos https://repo.rorkos.org

list repositories:

    ror repo-list

remove:

    ror repo-remove rorkos

sync before installing:

    ror sync

or:

    ror s

## declarative configuration

describe your system in YAML and apply:

    ror apply --config /path/to/system.yaml

dry run:

    ror apply --dry-run --config /path/to/system.yaml

or:

    ror a --config /path/to/system.yaml

## building root filesystem

build a complete rootfs from a group:

    ror build-rootfs --group desktop --target /mnt/rootfs --arch x86_64

resolves dependencies, downloads packages, sets up FHS.

## integrity check

verify all packages are intact:

    ror check

offers to reinstall broken packages.

## recipe format (package YAML)

packages live in `/var/ror/packages/<category>/<name>/<name>.yaml`:

name: example-package version: 1.0.0 release: 1 arch: x86_64 description: an example package license: GPL-3.0-only homepage: https://example.com maintainer: user@example.com depends: - libexample musl.depends: - libformusl glibc.depends: - libforglibc conflicts: - conflicting-package oss: true binaries: - arch: x86_64

libc: g
    type: tar.xz
    filename: example-1.0.0-pkg-x86_64-glibc-rorkos.tar.xz
    mirrors:
      - rorkos
    sha256: abc123...
    install_prefix: /

quick reference

command | alias | alias |
install | i | i |
remove | d | d |
sync | s | s |
upgrade | u | u |
list-installed | l | l |
count | c | c |
list-groups | lg | lg |
apply | a | a |

debugging

enable debug output:

ROR_DEBUG=1 ror install firefox