v0.172.0 fixup 2: drop import/* from the carry-list
Found on the demo-hp live leg: with import, import/paperless and import/calibre in the carry-list, the derived skeleton RE-CREATES a per-drive drop-zone on every drive forever — the dead lookalike the canonical root exists to remove, and one that is never backed up (class: excluded). Not a zero-removals violation: nothing deletes what an existing box has. Both demo boxes' old drop-zones were verified to hold zero files before the change.
This commit is contained in:
@@ -57,20 +57,25 @@ func ImportDir(nsRoot string) string {
|
||||
//
|
||||
// - `documents` is implied by NO catalog app (SPIKE P0(a)) yet exists on both demo boxes and is
|
||||
// customer-visible — it may hold customer files. Derivation alone would drop it.
|
||||
// - `import/paperless` and `import/calibre` moved to the canonical system-drive root in R-75, so
|
||||
// derivation no longer implies them under a data drive either. The pre-existing ones stay put;
|
||||
// nothing in this arc deletes a directory.
|
||||
//
|
||||
// It doubles as the fresh-box floor: on a box whose catalog has not synced yet the derived set is
|
||||
// empty, and the customer still gets the full standard tree instead of a nearly-empty one.
|
||||
//
|
||||
// DELIBERATELY ABSENT: `import`, `import/paperless`, `import/calibre`. They were in the v0.171.0
|
||||
// hardcoded list, and carrying them would have the skeleton RE-CREATE a per-drive drop-zone on every
|
||||
// drive forever — the exact dead-lookalike R-75 exists to remove, and one that is never backed up
|
||||
// (`class: excluded`). Zero-removals is about not DELETING what a box already has, not about
|
||||
// re-creating it on boxes that never had it: nothing here removes the pre-existing dirs on
|
||||
// demo-felhom / demo-hp, they simply stop being maintained and stop appearing on fresh boxes.
|
||||
// Verified before the change: both boxes' old drop-zones held ZERO files (2026-07-26). A box with
|
||||
// pending files in an old drop-zone would need an operator-run move — see REPORT.md.
|
||||
//
|
||||
// ASCII, no spaces (flows through ${} interpolation, shell, and the rsync merge walk).
|
||||
func UserdataSkeletonCarry() []string {
|
||||
return []string{
|
||||
"media", "media/movies", "media/tv", "media/music", "media/audiobooks",
|
||||
"media/books", "media/comics", "media/photos",
|
||||
"downloads",
|
||||
"import", "import/paperless", "import/calibre",
|
||||
"roms",
|
||||
"documents",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user