aboutsummaryrefslogtreecommitdiff
path: root/docs/design.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 23:55:57 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 23:55:57 +0200
commit04f46bf180cf506ceadb76b5afacf9c02700cc65 (patch)
treeeee384915f80b8243ff807b239515d1c7525095c /docs/design.md
parent0b155e8df3205aebf129091b517f4116665a5adc (diff)
downloadkrino-04f46bf180cf506ceadb76b5afacf9c02700cc65.tar.gz
krino-04f46bf180cf506ceadb76b5afacf9c02700cc65.zip
build: VERSION checked for build and install, cross names without v, dependency gate covers tests and BSDs, tarball install, examples and extractor list tested
Diffstat (limited to 'docs/design.md')
-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