d3e14c63c0
Reflects state changes from this session: - Phase moved from "ideation, no upstream pull" to "design-approved, pre-implementation" - Repo confirmed live at git.sethpc.xyz/Seth/sethLabels (was TBD) - Qt6 6.2 confirmed (was Qt5-or-Qt6 TBD) - Target framing corrected: Debian-family generic + macOS via brew tap; steel141 is a build host, NOT the install target - Strict-zero source-patch policy spelled out (replaces vague "keep diffs surgical") - Versioning scheme noted (<upstream-tag>-seth<N>) - Eventual-public flip on GitHub captured Pointer to spec at sethlabels-docs/specs/2026-04-29-packaging-design.md added to CLAUDE.md "Current State".
2.3 KiB
2.3 KiB
sethLabels
Deployment fork of glabels-qt — Qt label designer/printer, packaged for Seth's homelab.
Start Here
Read the latest handoff first: .claude/handoffs/ (most recent file).
It has session state, in-progress work, and ordered next steps.
Then check IDEA.md for the project brief and DECISIONS.md for settled choices.
Project Identity
sethLabels is a thin deployment fork of glabels-qt. Upstream is the real project — this fork's job is to keep a known-good build recipe, any deployment glue (packaging, install paths, default templates), and any local patches in one place, while staying close enough to upstream master that periodic rebases stay cheap.
Current State
- Phase: design-approved, pre-implementation. Spec written and committed; no scripts/packaging code yet.
- Repo: live at
git.sethpc.xyz/Seth/sethLabels(default branchmain). Upstreamj-evins/glabels-qtconfigured asupstreamremote for periodic rebases. Eventually-public on GitHub once battle-tested. - Deploy target: Debian-family Linux (
.deb+ AppImage) + macOS via Homebrew tap (build-from-source). Steel141 is a build host, not a deploy target. Windows deferred. - Upstream: https://github.com/j-evins/glabels-qt (GPL-3.0, Qt6 6.2 + CMake + C++)
- Design spec:
sethlabels-docs/specs/2026-04-29-packaging-design.md— all packaging decisions (artifacts, versioning, build pipeline, release flow, brew tap) live here. Read this before touchingscripts/orpackaging/.
Conventions
- This is a deployment fork, not a real fork. The discipline is strict zero source patches — no upstream-tracked file is ever edited. All sethLabels content lives in NEW top-level dirs (
scripts/,packaging/,sethlabels-docs/,.claude/). Allowlist exception:.gitignore(one-time scaffold-time touch). - Enforced by
scripts/check-no-upstream-edits.sh(to be implemented per spec §5.5). - Preserve upstream license (GPL-3.0) and copyright headers — strict-zero handles this automatically by never touching upstream files.
- Versioning:
<upstream-tag>-seth<N>(e.g.,3.99-master618-seth1). See spec §D4 + §5.4. - See
~/bin/CLAUDE.mdfor global homelab conventions (gitea CLI, conventional commits, credentials handling).