Package / arch (push) Canceled after 0s
Package / user (push) Canceled after 0s
Package / deb (push) Canceled after 0s
Package / freebsd (push) Canceled after 0s
Package / image (push) Canceled after 0s
Test / test (push) Canceled after 0s
Test / e2e (push) Canceled after 0s
4.6 KiB
4.6 KiB
To Do
Planned work, in order of priority. Each item names what to build, how it fits the existing seams, and how to verify it. Finished items move to the design doc they belong to.
1. Packaging: AUR, FreeBSD ports, Debian
Installation lists what is in place. The
lw name is free in Arch (official repositories and AUR), Ubuntu 24.04 and
26.04, and the FreeBSD 15.1 ports tree; go install, FreeBSD's
USES=go:modules and Debian's dh-golang expect the module path
github.com/lixenwraith/logwisp.
What remains is the maintainer's: it needs push rights, an identity or a release tag, and both skeletons download the tagged source.
- Tag the release on the merged main commit,
vX.Y.Z:git tag -a vX.Y.Z -m vX.Y.Z # git tag -s signs it with your key git push origin vX.Y.Z- The Makefile's builds then stamp
vX.Y.Z(fromgit describe), andgo install github.com/lixenwraith/logwisp/cmd/lw@vX.Y.Zworks. - A GitHub release for the tag is optional; the tag alone serves
archive/vX.Y.Z.tar.gz, which the PKGBUILD downloads.
- The Makefile's builds then stamp
- Arch (AUR),
deploy/package/arch/PKGBUILD:pkgver=X.Y.Zand the# Maintainer: Name <email>line.updpkgsums(pacman-contrib) replacessha256sums=('SKIP')with the tarball's checksum.namcap PKGBUILD, thenmakepkg -si(builds, runscheck(), installs), thenmakepkg --printsrcinfo > .SRCINFO.- Push
PKGBUILDand.SRCINFOtossh://aur@aur.archlinux.org/logwisp.git; optionally alogwisp-gitpackage built from the main branch.
- FreeBSD,
deploy/package/freebsd/(sysutils/logwisp), copied into a ports tree withcp -RL(files/logwisp.inlinks todeploy/package/logwisp.rc):DISTVERSION=X.Y.ZandMAINTAINER=your address.make makesumwritesdistinfo, the checksums of the.modand.zipthat the Go proxy serves forGO_MODULEat the tag.- The
logwispuser needs an ID registered in the ports tree. Take a number below 1000 that is free in both/usr/ports/UIDsand/usr/ports/GIDs, and add to the same patch:UIDs: logwisp:*:NNN:NNN::0:0:LogWisp daemon:/nonexistent:/usr/sbin/nologin GIDs: logwisp:*:NNN: portlint -AC,poudriere testporton 14.x and 15.x jails, then a Bugzilla report with the port directory and the UIDs/GIDs diff.
- Debian:
make debserves direct installs. A PPA builds from a signed source package without network access: adebian/directory (changelog, control, rules) and the Go modules vendored into the source tarball.- The archive wants every Go dependency packaged (dh-golang); the
lixenwraithlibraries ingo.modare not. lintianon themake debpackage reportsno-changelog(a source package'sdebian/changelogprovides it),statically-linked-binary(lw is static by design) andmaintainer-script-calls-systemctl(dh's scripts usedeb-systemd-helperinstead).
- With a tag, the packaging workflow's FreeBSD job can build the port itself
from a ports tree (
make stage check-plistin acp -RLcopy ofdeploy/package/freebsd/), rather than BSD make on the checkout.
2. What lw --tui and its engine leave for later
lw --tui (CLI) and the configuration engine it shares
with the website (Architecture) are
in place. Not yet:
- Pins and export in the live view, as vif-log has them: pinned rows survive filter changes and show alone on a key; the pins or the shown rows go to a new file.
- Per-sink taps: what each sink took, where the tap at the flow's exit shows what dispatch offered (a full sink input drops for that sink only).
- Live filter patching: a filter edited while
truns takes effect throughFilter.UpdatePatterns(unused, and racingApply, which reads the patterns withoutf.mu), not a rerun that rebinds every listener. - The wide-rune table
internal/tui/view.gocopies fromlixenwraith/terminal's one-cell rule goes once terminal exports that rule. - A scripted session on a pseudo-terminal for Run, each output and
t(keys, the password dialog,SIGHUP), on a text console and over ssh. - The schema lists
auth.trusted_proxieson both HTTP listeners, thoughAuthOptions.Checkrefuses it off thehttpsink; a side tag for thehttpsink would filter it aschain_listenerkeepsnode_bindingto the chain sources. - Optional, in
lixenwraith/color: export the 16 xterm reference shades (RGBTo16maps the site's hues badly, so the 16-color tier is chosen by hand).