From 1884d56b0d399e9cdb80016a9c166b0120989933 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 17 Sep 2026 12:54:06 +0200 Subject: the module path is git.labunix.xyz/krino So that go install can find it. cgit serves no go-import meta tag, so nginx answers a ?go-get=1 request for /NAME with one pointing at https://git.labunix.xyz/NAME.git; the alternative was carrying a .git suffix through every import line forever. One sed over the imports, both go.mod files, and the dependency gate's whitelist. Nothing else depends on the path. go install works from the next tag, the first release whose go.mod carries it. --- docs/design.md | 9 +++++---- docs/gui-design.md | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/design.md b/docs/design.md index a3356c7..3037308 100644 --- a/docs/design.md +++ b/docs/design.md @@ -984,10 +984,11 @@ keyword. Its defects shaped these decisions: ## 18. Settled before implementation -1. **Hosting: local only for now.** The module path is `krino`. When a - remote is chosen, `go mod edit -module ` and one `sed` over the - `"krino/internal/...` imports rename it; nothing else depends on it. - `go install ...@v0.0.1` works only after that. +1. **Hosting: `git.labunix.xyz/krino`,** public over cgit and clonable + without an account. That is also the module path. cgit serves no + `go-import` meta tag, so nginx answers a `?go-get=1` request for + `/NAME` with one naming `https://git.labunix.xyz/NAME.git`; without it + `go install` would need the path to carry a `.git` suffix. 2. **License: GPL-3.0-or-later.** Full text in `LICENSE`; every Go file, shell script and man page carries an `SPDX-License-Identifier: GPL-3.0-or-later` line. diff --git a/docs/gui-design.md b/docs/gui-design.md index 602368f..dd65c95 100644 --- a/docs/gui-design.md +++ b/docs/gui-design.md @@ -18,11 +18,11 @@ same log, that `krino log` and `krino undo` see. ### 1.1 Where the code lives -- A nested Go module `krino/gui` in `gui/`, with its own `go.mod` - (`github.com/diamondburned/gotk4/pkg` v0.4.1, and `replace krino => ../`), - building one binary, `krino-gui`. It imports `krino/internal/...`, which - Go allows because the import path is under `krino` (verified with a probe - module, 2026-09-15). +- A nested Go module `git.labunix.xyz/krino/gui` in `gui/`, with its own + `go.mod` (`github.com/diamondburned/gotk4/pkg`, and a `replace` pointing + at `../`), building one binary, `krino-gui`. It imports + `git.labunix.xyz/krino/internal/...`, which Go allows because the import + path is under the parent module's. - krino's own module, `make ci` and its dependency gate are unchanged: `go list ./...` at the root does not include `gui/`. - `make gui` builds `krino-gui` with `CGO_ENABLED=1`; `make gui-ci` runs -- cgit v1.3