From 04f46bf180cf506ceadb76b5afacf9c02700cc65 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 23:55:57 +0200 Subject: build: VERSION checked for build and install, cross names without v, dependency gate covers tests and BSDs, tarball install, examples and extractor list tested --- docs/design.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'docs') 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 -- cgit v1.3