Align meshtasticd packaging with upstream - #80
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughThis PR splits meshtasticd packaging into separate full firmware and web asset packages, adds a frontend download and build step, updates install and package targets, and changes the init script and UCI config to use derived config and data directories. ChangesMeshtasticd Package Split
Sequence Diagram(s)sequenceDiagram
participant Makefile as meshtasticd/Makefile
participant Frontend as frontend tarball
participant FullBuild as Build/Compile/meshtasticd-full
Makefile->>Frontend: Download/meshtasticd-web fetches tarball
Makefile->>Makefile: Build/Prepare/meshtasticd-web extracts assets
Makefile->>FullBuild: Build/Compile/meshtasticd-full runs platformio
FullBuild-->>Makefile: emits firmware binary from full build directory
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@meshtasticd/files/meshtasticd.init`:
- Around line 14-20: The init script is loading the wrong UCI package, so the
`config_dir` and `data_dir` overrides from `/etc/config/meshtasticd` are never
read. Update the `config_load` call in `meshtasticd.init` to load the
`meshtasticd` package instead of `meshtastic`, keeping the existing
`uci_validate_section` handling for `meshtasticd` intact so startup uses the
configured values.
- Around line 25-28: The startup path in meshtasticd.init does not fail fast
when preparing data_dir, so a bad UCI value or permission issue can still let
the service continue in the wrong directory. Update the init flow around the
mkdir -p and cd logic to explicitly check each operation’s return status and
abort startup if either fails, keeping the behavior localized to the data_dir
setup before the daemon is launched.
In `@meshtasticd/Makefile`:
- Around line 177-189: The `/etc/meshtasticd/ssl` directory is currently being
created by the meshtasticd-web install logic while being marked persistent by
meshtasticd-full, so ownership is split across packages. Update the Makefile so
the package that declares the conffile also creates and owns that path: either
add the directory creation to meshtasticd-full/install or move the conffile
entry into meshtasticd-web/conffiles, and keep the related install/conffile
symbols consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 16d9b644-c294-447a-a419-01354b993a91
📒 Files selected for processing (4)
meshtasticd-web/Makefilemeshtasticd/Makefilemeshtasticd/files/meshtasticd.confmeshtasticd/files/meshtasticd.init
💤 Files with no reviewable changes (1)
- meshtasticd-web/Makefile
ac694ce to
d2a225e
Compare
Align with @GeorgeSapkin's work upstream.
Look how much cleaner this is ❤️
Summary by CodeRabbit
New Features
Bug Fixes
config.yamlandconfig.d/*.