diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-29 10:11:18 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-29 10:11:18 +0200 |
| commit | df0639ef214d21a621a3893afed25f1923898730 (patch) | |
| tree | 0a8e6b1106bb1ca5031f41bc007b4df2f21106ed /docs/superpowers/specs | |
| parent | 26298e6bcca0ece78a76f735fcd4feba21895abb (diff) | |
| download | grub-theme-udt-df0639ef214d21a621a3893afed25f1923898730.tar.gz grub-theme-udt-df0639ef214d21a621a3893afed25f1923898730.zip | |
Add implementation plan; output to dist/udt
The script is named build, so its output directory cannot also be
build/ at the repo root.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/specs')
| -rw-r--r-- | docs/superpowers/specs/2026-09-29-grub-theme-udt-design.md | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/docs/superpowers/specs/2026-09-29-grub-theme-udt-design.md b/docs/superpowers/specs/2026-09-29-grub-theme-udt-design.md index f8bc517..ed97584 100644 --- a/docs/superpowers/specs/2026-09-29-grub-theme-udt-design.md +++ b/docs/superpowers/specs/2026-09-29-grub-theme-udt-design.md @@ -51,10 +51,10 @@ entry class; adding them later is additive. |---|---|---| | `theme.txt.in` | yes | the template, `@ROLE@` placeholders | | `theme.txt` | no | rendered by udt-palette | -| `build` | yes | stdlib Python script, assembles `build/udt/` | -| `build/udt/` | no | the complete theme, what root copies | +| `build` | yes | stdlib Python script, assembles `dist/udt/` | +| `dist/udt/` | no | the complete theme, what root copies | | `README.md`, `LICENSE` | yes | GPLv2 only | -| `.gitignore` | yes | `theme.txt`, `build/` | +| `.gitignore` | yes | `theme.txt`, `dist/` | ## Placeholders @@ -80,7 +80,7 @@ GRUB ignores comment lines. 3. `build`: - reads `theme.txt`, fails if any `@...@` remains or the `# udt:` line is missing; - - substitutes the title from `/etc/os-release` into `build/udt/theme.txt`; + - substitutes the title from `/etc/os-release` into `dist/udt/theme.txt`; - writes `panel.png`, `select_{w,c,e}.png`, `terminal_box_{nw,n,ne,w,c,e,sw,s,se}.png` with an in-script PNG encoder (`zlib` + `struct`, 8-bit RGBA, not interlaced); @@ -92,7 +92,7 @@ GRUB ignores comment lines. side, metadata stripped. 4. udt's `install.sh` prints the root commands: - rm -rf /boot/grub/themes/udt && cp -r <repo>/build/udt /boot/grub/themes/ + rm -rf /boot/grub/themes/udt && cp -r <repo>/dist/udt /boot/grub/themes/ # once: set GRUB_THEME="/boot/grub/themes/udt/theme.txt" in /etc/default/grub grub-mkconfig -o /boot/grub/grub.cfg @@ -116,7 +116,7 @@ names against the template. `build` exits non-zero with a one-line message when: `theme.txt` is missing or unrendered, the wallpaper link is missing, `magick`/`grub-mkfont`/`fc-match` is absent, or `fc-match` resolves to a fallback font rather than the requested -family. Nothing is written to `build/udt/` until all inputs are valid, so a +family. Nothing is written to `dist/udt/` until all inputs are valid, so a failed build never leaves a half theme for root to copy. ## Testing |
