Add SPDX headers to every Go file

GPLv3's "How to Apply These Terms" asks for a notice in each source file;
this is the modern two-line SPDX form of it rather than the full paragraph.
82 files, including tests.

The blank line after the header is load-bearing. In Go a comment block
immediately preceding `package X` becomes the package doc comment, so
without the separator the SPDX lines would be absorbed into the doc for the
eleven packages whose doc.go (or main.go) opens with one, and `go doc` would
print them. Verified it doesn't.
This commit is contained in:
2026-08-23 18:03:15 -07:00
parent 6c838e8b70
commit 4b0bec8956
82 changed files with 246 additions and 0 deletions
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Command stalwart-migrate drives an in-place Stalwart Mail Server upgrade // Command stalwart-migrate drives an in-place Stalwart Mail Server upgrade
// (0.15.5 -> latest) through preflight checks, a defense-in-depth backup, // (0.15.5 -> latest) through preflight checks, a defense-in-depth backup,
// a checkpointed migration, and post-migration validation. Recovery from a // a checkpointed migration, and post-migration validation. Recovery from a
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package main package main
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package main package main
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package main package main
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package backup implements the defense-in-depth backup: filesystem/DB snapshot, settings dump, and Vandelay content export. // Package backup implements the defense-in-depth backup: filesystem/DB snapshot, settings dump, and Vandelay content export.
// See ARCHITECTURE.md §4.2 for the design. // See ARCHITECTURE.md §4.2 for the design.
package backup package backup
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package backup package backup
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package checkpoint implements run-id and state.json persistence and resume logic. // Package checkpoint implements run-id and state.json persistence and resume logic.
// See ARCHITECTURE.md §5 for the design. // See ARCHITECTURE.md §5 for the design.
package checkpoint package checkpoint
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package checkpoint package checkpoint
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package checkpoint package checkpoint
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package checkpoint package checkpoint
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package checkpoint package checkpoint
import "time" import "time"
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package config implements the tool's own configuration: paths, thresholds, and credential handling. // Package config implements the tool's own configuration: paths, thresholds, and credential handling.
// See ARCHITECTURE.md §6 for the design. // See ARCHITECTURE.md §6 for the design.
package config package config
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package cutover package cutover
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package cutover package cutover
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package cutover implements switching the live service onto the migrated instance: binary swap, service definition, restart, quota recalculation. // Package cutover implements switching the live service onto the migrated instance: binary swap, service definition, restart, quota recalculation.
// See ARCHITECTURE.md §4.5 for the design. // See ARCHITECTURE.md §4.5 for the design.
package cutover package cutover
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package cutover package cutover
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package cutover package cutover
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package cutover package cutover
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package plan implements the version-boundary migration plans (ordered step lists) that the engine executes. // Package plan implements the version-boundary migration plans (ordered step lists) that the engine executes.
// See ARCHITECTURE.md §4 for the design. // See ARCHITECTURE.md §4 for the design.
package plan package plan
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package plan package plan
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package plan package plan
import "testing" import "testing"
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package preflight implements the read-only preflight checks that gate a run before anything is touched. // Package preflight implements the read-only preflight checks that gate a run before anything is touched.
// See ARCHITECTURE.md §4.1 for the design. // See ARCHITECTURE.md §4.1 for the design.
package preflight package preflight
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package preflight package preflight
import "testing" import "testing"
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package recovery implements supervision of the Stalwart recovery-mode process and the settings apply step. // Package recovery implements supervision of the Stalwart recovery-mode process and the settings apply step.
// See ARCHITECTURE.md §4.4 for the design. // See ARCHITECTURE.md §4.4 for the design.
package recovery package recovery
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package recovery package recovery
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package service starts and stops the Stalwart service itself, whether it's run as a systemd unit or a Docker container. // Package service starts and stops the Stalwart service itself, whether it's run as a systemd unit or a Docker container.
// See ARCHITECTURE.md §4.5 and §4.8 for the design. // See ARCHITECTURE.md §4.5 and §4.8 for the design.
package service package service
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package service package service
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package service package service
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package service package service
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package stalwartapi implements the JMAP and management-API client shared by every other phase. // Package stalwartapi implements the JMAP and management-API client shared by every other phase.
// See ARCHITECTURE.md §7 for the design. // See ARCHITECTURE.md §7 for the design.
package stalwartapi package stalwartapi
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package stalwartapi package stalwartapi
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
// Package validate implements the post-migration validation suite and its structured report. // Package validate implements the post-migration validation suite and its structured report.
// See ARCHITECTURE.md §4.7 for the design. // See ARCHITECTURE.md §4.7 for the design.
package validate package validate
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: 2026 LINUXexpert-org
// SPDX-License-Identifier: GPL-3.0-or-later
package validate package validate
import ( import (