mahou is a small source-based package manager I made for fun to use on my Linux From Scratch system.
It reads TOML package recipes, resolves dependencies, downloads source archives, verifies checksums, builds, installs and then records installs.
It also sync to the mahou-recipes repo, and upgrades packages if it detects a change in upstream version.
mahou is experimental, not very practical, and was made by me to learn. I doubt you were considering it, but I wouldn't recommend using it.
Working features:
- search package recipes
- show package info
- resolve dependencies
- fetch and verify source archives
- extract and build packages
- install staged files into root
- preserve symlinks
- record installed files
- list installed packages
- sync recipe repo
- upgrade installed packages
To-do list:
- uninstall
- rollback support
- add more package recipes ofc
- add comments everywhere (im an idiot)
cargo build --release
install -Dm755 target/release/mahou /usr/bin/mahoumahou uses a seperate recipe repository, which can be found here
Search:
mahou search <name>Show info:
mahou info <name>Resolve dependencies:
mahou resolve <name>Install:
mahou install <name>Upgrade installed packages:
mahou upgradeList installed packages:
mahou listShow files installed by a package:
mahou files <name>mahou uses:
/var/cache/mahou/distfiles: downloaded archives /var/cache/mahou/build: extracted source trees /var/cache/mahou/stage: staged package installs /var/lib/mahou/installed: installed package records /var/lib/mahou/repos/main: synced recipe repository
I did not use AI to write any of the package manager itself. I did use AI to add packages though.