Skip to content

feat: logging, module toggles and env.toml user config - #349

Merged
pixincreate merged 5 commits into
mainfrom
feat/logger-and-config
Sep 6, 2026
Merged

feat: logging, module toggles and env.toml user config#349
pixincreate merged 5 commits into
mainfrom
feat/logger-and-config

Conversation

@pixincreate

Copy link
Copy Markdown
Owner

What

  • Wire src/logger.sh into all scripts. Progress uses log, recoverable conditions use warn, failures use error on stderr.
  • patch_ota leaves disabled modules out of the patch.py call. ADDITIONALS[<module>]=false works end to end now. Before, the download was skipped but the module path was still passed, which broke the patch.
  • USER and REPOSITORY become GITHUB_USER and GITHUB_REPO with env.toml overrides. Forks configure everything in env.toml and leave declarations.sh untouched. ARCH accepts an override too.
  • Smoke test requests time out after 30 seconds instead of hanging on a stalled connection.

Covers the "Add logging", "module toggles" and "move user specific variables out of declarations.sh" items in #12.

Wire the previously unused logger.sh into the scripts. Progress
messages use log, recoverable conditions use the new warn, failures
use error which writes to stderr. The logger renders escape
sequences with %b, so existing multi-line messages keep working.
declarations.sh sources the logger, every script gets it for free.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
patch_ota now leaves disabled modules out of the patch.py call
instead of passing paths that were never downloaded. patch.py skips
modules without arguments, so setting ADDITIONALS[<module>]=false
works end to end now.

USER and REPOSITORY move to GITHUB_USER and GITHUB_REPO with env.toml
overrides, so forks configure everything in env.toml and leave
declarations.sh untouched. The old names collided with the login
shell USER variable. ARCH accepts an override too. check_toml_env
re-derives the Magisk URLs after applying overrides.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
A stalled connection hung the smoke test forever. Requests now time
out after 30 seconds with two retries, and a failed request reports
as HTTP 000 instead of ending the run.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
@pixincreate pixincreate self-assigned this Sep 6, 2026
@pixincreate pixincreate added the enhancement New feature or request label Sep 6, 2026
- Lint entry points with `shellcheck -x` so cross-file variable usage
  is visible, and drop the SC2034 suppression. Remove the genuinely
  dead `AVBROOT` array and `KEYS[PKMD]`.
- Decouple the Magisk repository from GITHUB_USER. Forks kept the
  `pixincreate/Magisk` default wrongly derived as `<fork>/Magisk`.
  The repository is now `MAGISK[REPOSITORY]` with a
  `pixincreate/Magisk` default, override in env.toml for upstream
  Magisk.
- Build the Magisk URL where it is used instead of at source time.
  This removes the re-derivation step in check_toml_env, which only
  existed because the URL froze GITHUB_USER before overrides applied.
- Document the module toggle and Magisk overrides in env.toml.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
generate_keys hardcoded the avb_pkmd.bin name in a local variable
while KEYS[PKMD] sat unread, which is why it looked dead. Use the
variable as the output path and note the fastboot flash command.
Switch to `avbroot key encode-avb`, the current name of extract-avb.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
@pixincreate
pixincreate merged commit 5f4dcb2 into main Sep 6, 2026
1 check passed
@pixincreate
pixincreate deleted the feat/logger-and-config branch September 6, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant