aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/design.md12
1 files changed, 8 insertions, 4 deletions
diff --git a/docs/design.md b/docs/design.md
index ef52d7e..60bfc92 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -811,9 +811,10 @@ Rules for the GUI to come:
`CGO_ENABLED=0`: static binaries on Linux and FreeBSD;
on OpenBSD Go links against the system libc, as that platform requires.
- Go dependencies: `golang.org/x/term` (key-at-a-time input) and
- `golang.org/x/text` (Unicode normalisation for `fold`). Everything else is
- the standard library, including the s-expression reader and the gitignore
- matcher.
+ `golang.org/x/text` (Unicode normalisation for `fold`, character widths).
+ Everything else is the standard library, including the s-expression
+ reader and the gitignore matcher. `make ci` refuses any other module,
+ tests included, for Linux, FreeBSD and OpenBSD alike.
- `make` builds; Go downloads the module dependencies itself. It then checks
for the optional extractors and prints what is missing.
- `make deps` installs the extractors with the system package manager,
@@ -829,7 +830,10 @@ Rules for the GUI to come:
- `make release VERSION=0.0.1`: runs `ci` and `cross`, writes tarballs and
`SHA256SUMS` into `dist/`, and creates the annotated tag **`v0.0.1`** (the
`v` is required for `go install ...@v0.0.1`). It never pushes.
-- Version stamped with `-ldflags -X main.version=...`.
+- Version stamped with `-ldflags -X main.version=...`, without the tag's
+ `v`; every target that uses `VERSION` refuses one holding anything but
+ letters, digits and `. - _ +`. `make uninstall` removes krino's own files
+ and `share/doc/krino`, never the shared `bin` and `man` directories.
- `scripts/leak-check` keeps personal data out of the repository. `make ci`
runs it, and so does the pre-commit hook that `make install-hooks`
installs. It checks the staged files against built-in patterns (the