forked from kiss-community/kiss
docs: update
This commit is contained in:
parent
5d370fa33a
commit
4cc633bc57
75
README.md
75
README.md
@ -2,20 +2,17 @@
|
||||
|
||||
Tiny and straightforward package manager for KISS written in POSIX `sh`.
|
||||
|
||||
- Only 600~ lines of POSIX `sh` (See [cloc](#cloc)).
|
||||
- Less than 1000 lines of POSIX `sh` (excluding blank lines and comments).
|
||||
- Runtime dependency detection.
|
||||
- Incremental package installation.
|
||||
- Fast dependency solver.
|
||||
- File conflict detection.
|
||||
- Package alternatives system.
|
||||
- 3-way handshake for /etc/ configuration files.
|
||||
- Binary stripping.
|
||||
- `shellcheck` compliant.
|
||||
|
||||
|
||||
## `kiss` Guidestones
|
||||
|
||||
Read: https://k1ss.org/guidestones.txt
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
@ -31,16 +28,51 @@ Read: https://k1ss.org/guidestones.txt
|
||||
-> version: Package manager version
|
||||
```
|
||||
|
||||
## Index
|
||||
|
||||
<!-- vim-markdown-toc GFM -->
|
||||
|
||||
* [Package format](#package-format)
|
||||
* [Extending the package manager](#extending-the-package-manager)
|
||||
* [cloc](#cloc)
|
||||
|
||||
<!-- vim-markdown-toc -->
|
||||
## Dependencies / Portability
|
||||
|
||||
```sh
|
||||
# - Anything with a specification should follow it (POSIX, BSD, etc).
|
||||
# - Anything without a specification which has ONLY a single (widely used)
|
||||
# implementation will be considered portable (git, curl, etc).
|
||||
#
|
||||
# POSIX utilities
|
||||
# - sh (POSIX)
|
||||
# - find (POSIX) -type f, -type d, -exec {} [+;], -o, -print, !
|
||||
# - ls (POSIX) -l, -d
|
||||
# - sed (POSIX) -n, s/<search>/<replace>/g, /<delete>/d
|
||||
# - grep (POSIX) -l, -F, -x, -f, -q, -v
|
||||
# - sort (POSIX) -r, -u, -k
|
||||
# - tee (POSIX) -a
|
||||
# - date (POSIX)
|
||||
# - mkdir (POSIX) -p
|
||||
# - rm (POSIX) -f, -r
|
||||
# - rmdir (POSIX)
|
||||
# - cp (POSIX) -f, -P, -p, -L, -R
|
||||
# - mv (POSIX) -f
|
||||
# - chown (POSIX) -h
|
||||
# - diff (POSIX) -U
|
||||
#
|
||||
# Misc
|
||||
# - su* (sudo, doas, su) (in order, optional)
|
||||
# - git (downloads from git) (must link to curl)
|
||||
# - curl (downloads over http) (also needed by git)
|
||||
# - sha256 (multiple fallbacks: sha256sum, shasum, sha256, openssl, etc)
|
||||
#
|
||||
# Compiler/libc utilities (depends cc & libc)
|
||||
# - readelf (optional) (Part of compiler toolchain) (GNU, LLVM or elfutils)
|
||||
# - strip (optional) (Part of compiler toolchain) (GNU, LLVM or elfutils)
|
||||
# - ldd (optional) (Part of libc)
|
||||
#
|
||||
# Tarball compression
|
||||
# - tar (as portable as can be) (merely: cf, tf, xf)
|
||||
# - bzip2 (widely used) -d, -z
|
||||
# - xz (widely used) -d, -z, -c, -T
|
||||
# - gzip (widely used) -d, -6
|
||||
# - zstd (optional) -d, -z, -c
|
||||
# - unzip (optional)
|
||||
# - lzma (optional)
|
||||
# - lzip (optional)
|
||||
```
|
||||
|
||||
## Package format
|
||||
|
||||
@ -51,33 +83,18 @@ See: <https://k1ss.org/package-system>
|
||||
|
||||
The `contrib` directory contains a set of simple scripts to extend the package manager. These are just simple and stupid automations which parse the package format.
|
||||
|
||||
- `kiss-cargo-urlgen`: Generate sources for rust packages.
|
||||
- `kiss-chbuild`: Spawn a throwaway chroot.
|
||||
- `kiss-chroot`: Enter a KISS `chroot`.
|
||||
- `kiss-depends-finder`: Find missing dependencies by parsing 'ldd'.
|
||||
- `kiss-depends`: Display a package's dependencies.
|
||||
- `kiss-export`: Turn an installed package into a KISS tarball.
|
||||
- `kiss-fork`: Copy a package's repository files into the current directory.
|
||||
- `kiss-link`: Link a repository file to another repository.
|
||||
- `kiss-manifest-tree`: Display all files as tree owned by a package.
|
||||
- `kiss-manifest`: Display all files owned by a package.
|
||||
- `kiss-maintainer`: Display the package maintainers.
|
||||
- `kiss-new`: Create a boilerplate package.
|
||||
- `kiss-orphans`: List orphaned packages.
|
||||
- `kiss-outdated`: List outdated packages based on Repology versions.
|
||||
- `kiss-owns`: Check which package owns a file.
|
||||
- `kiss-repodepends`: Display a package's original dependencies.
|
||||
- `kiss-reset`: Reset the system to the base.
|
||||
- `kiss-revdepends`: Display packages which depend on package.
|
||||
- `kiss-size`: Show the size on disk for an installed package.
|
||||
|
||||
|
||||
## cloc
|
||||
|
||||
```
|
||||
+---------------------------------------+
|
||||
| Language files blank comment code |
|
||||
|---------------------------------------|
|
||||
| Shell 1 271 391 663 |
|
||||
+---------------------------------------+
|
||||
```
|
||||
|
2
kiss
2
kiss
@ -33,7 +33,7 @@
|
||||
# Misc
|
||||
# - su* (sudo, doas, su) (in order, optional)
|
||||
# - git (downloads from git) (must link to curl)
|
||||
# - curl (needed by git)
|
||||
# - curl (downloads over http) (also needed by git)
|
||||
# - sha256 (multiple fallbacks: sha256sum, shasum, sha256, openssl, etc)
|
||||
#
|
||||
# Compiler/libc utilities (depends cc & libc)
|
||||
|
Loading…
Reference in New Issue
Block a user