aviralgarg05 opened a new pull request, #3719:
URL: https://github.com/apache/nuttx-apps/pull/3719

   *Note: Please adhere to [Contributing 
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
   
   Depends-On: apache/nuttx-apps/pull/3718
   
   ## Summary
   
   A package could only be installed from a catalog that was already on the
   device, so getting one there meant copying it by hand.
   
   This adds a synchronization path that reads an index from an `http://` or
   `https://` source and stores it locally, along with the artifact download
   that install needs. The catalog and the source it came from are written
   under one lock, so the two cannot end up describing different syncs, and
   the lock is renewed as data arrives so a slow download over a slow link is
   not mistaken for an abandoned one and reclaimed while it is still running.
   
   A repository is plain static files. Any host that can serve an `index.json`
   and the artifacts it names works; no server-side logic is involved.
   
   This is the third of four parts of #3642, which was one commit covering
   several unrelated changes.
   
   ## Impact
   
   - New feature: YES, packages can be fetched over the network.
   - User adaptation: NO. Existing local catalogs keep working.
   - Build: YES, one new source file in `system/nxpkg`.
   - Hardware: NO, but a target needs networking configured to use it.
   - Documentation: The companion documentation is apache/nuttx#18875.
   - Security: Payloads are verified against the SHA-256 in the manifest, so a
     corrupted or substituted artifact is rejected before it is installed.
     Plain HTTP carries no confidentiality; the digest covers integrity.
   - Compatibility: A source that is not a URL is still treated as a path.
   
   ## Testing
   
   Build host: macOS 26.5, arm64, `xtensa-esp-elf-gcc 14.2.0`
   (`esp-14.2.0_20251107`).
   
   Target: Xtensa / ESP32-S3, Waveshare ESP32-S3-Touch-LCD-7.
   
   - `nxstyle`, `tools/checkpatch.sh`, `codespell` and `git diff --check` on
     every changed file
   - all `system/nxpkg` sources compiled for the target with this commit
     applied on top of #3718
   
   This commit does not build on `master` alone because it uses declarations
   and helpers added by #3642 and #3718; the `Depends-On` line above lets CI
   apply those first.
   
   ## PR verification Self-Check
   
   - [x] This PR introduces one focused change.
   - [x] I have updated all required description fields above.
   - [x] I have reviewed and signed every commit.
   - [x] This PR adheres to the current contribution and coding guidelines.
   - [ ] My PR is still work in progress.
   - [x] My PR is ready for review and can be safely merged.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to