forked from SmoochLinux/smooch
Just a smoochlinux's package manager
- C 81.2%
- Makefile 18.8%
| cmds | too lazy to write a message | |
| utils | too lazy to write a message | |
| .gitignore | [ADD] working on b3sum | |
| CONTRIBUTORS | [ADD] Contributors | |
| LICENSE | Initial commit | |
| main.c | too lazy to write a message | |
| Makefile | too lazy to write a message | |
| README | [CHG] Clean up help strings | |
| TODO | [ADD] Complete README | |
| VERSION | [ADD] Version file for versioning | |
Smooch ~ Smooch Linux's package manager +------------------------------------------------------------------------------+ 0. Index +------------------------------------------------------------------------------+ | 0. Index | | 1. Overview | | 2. Install | | 3. Usage | | 4. Configuration | | 5. Package format | | 6. Repository format | +------------------------------------------------------------------------------+ 1. Overview +------------------------------------------------------------------------------+ | Simple yet powerfull source based package manager to install software and | | libraries system-wide or user specific. It's specifically written for | | Smooch Linux in C. | +------------------------------------------------------------------------------+ 2. Install +------------------------------------------------------------------------------+ | - Requirements: | | * Compiler with C23 support (ex. clang 21) | | * libc (ex. musl libc) | | - Compile: | | * Run command `make` | | - Installation | | * Automated way: `make install` | | * Manual way, after compiling: `cp ./build/smooch /bin/` | +------------------------------------------------------------------------------+ 3. Usage +------------------------------------------------------------------------------+ | - Command: `smooch <option> ...` | | - Options: | | * + <pkg/file> ~ Installs package | | * - <pkg> ~ Removes package | | * ~ <regex> ~ Searches package | | * ! [repo/installed] ~ Lists packages | | * ? <pkg> ~ Info about package | | * # <url> ~ Adds repository | | * = <repo> ~ Removes repository | | * @ ~ Lists used repositories | | * ^ [pkg] ~ Update package/s | | * & <alt> <bin> ~ Sets alternative | | * : <pkg/file> ~ Only builds a package | | * $ [repo] ~ Syncs repository/ies | | * h ~ Help command | | * v ~ Version | +------------------------------------------------------------------------------+ 4. Configuration TODO 5. Package format +------------------------------------------------------------------------------+ | - File format: `package-0.1.0.tar.zst` | | * `package` is the name of the package | | * `0.1.0` is the version of the package in SemVer | | * `.tar.zst` is the container of the package (Tar ZSTD compressed) | | - File hierarchy | | * ./Makepkg ~ POSIX Makefile | | * ./VERSION ~ SemVer | | * ./checksum.b3sum ~ BLAKE3 hash list | | * ./DEPENDS ~ Dependiences | | * ./pkg/ ~ Package directory | +------------------------------------------------------------------------------+