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

   *Note: Please adhere to [Contributing 
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
   
   ## Summary
   
   Extend `tools/export_pkg_repo.py` with optional package descriptions,
   categories, and icons while preserving the existing package-spec syntax,
   including source paths containing colons.
   
   Icon sources are converted to fixed 48-by-48 little-endian RGB565 data with
   an LVGL-compatible image header. The repository stores one icon object per
   package, while nxstore's version-aware local key causes a fresh fetch when a
   catalog version changes. Pillow is imported only when icon conversion is
   requested.
   
   This PR is stacked on the nxpkg/nxstore application series.
   
   For focused review, the exporter-specific change is the final commit
   
[`de1a59a97`](https://github.com/aviralgarg05/nuttx-apps/commit/de1a59a972a9d92394ab2bc4019bece7f1ad7bde).
   The earlier draft commits are dependencies already under review through
   #3662; they will disappear as the stack merges.
   
   ## Impact
   
   - New feature: YES, optional repository metadata and icon export.
   - User adaptation: NO; existing command lines remain valid.
   - Build: NO firmware-build change.
   - Hardware: NO.
   - Documentation: YES; command help and this PR describe the optional metadata
     syntax and generated format.
   - Security: Input paths are resolved locally; repository trust is unchanged.
   - Compatibility: Existing package specifications and output remain valid.
   - Other: This draft depends on the nxpkg/nxstore application series.
   
   ## Testing
   
   - Build host: macOS 26.5, arm64, Python 3.14.
   - Target integration: Xtensa ESP32-S3 catalog consumed by nxstore.
   - `git diff --check`
   - NuttX `tools/checkpatch.sh`
   - Backward-compatible package export without optional metadata
   - Description/category export
   - RGB565 icon generation and nxstore fallback behavior
   - Generated icon is 4,620 bytes with the expected 12-byte LVGL header and
     48-by-48 RGB565 payload
   - Black, flake8, and isort checks
   - Final ESP32-S3 catalog parsing with eight package manifests
   
   Testing logs before change:
   
   ```text
   The exporter emits package artifacts but has no description, category, or
   RGB565 icon conversion support.
   ```
   
   Testing logs after change:
   
   ```text
   artifact SHA-256 matched the exported catalog entry
   icon size: 4620 bytes
   LVGL header: 48x48, stride 96, RGB565
   nxstore parsed all eight generated manifests
   ```
   
   ## PR verification Self-Check
   
   - [x] This PR contains one focused repository-export enhancement.
   - [x] I have updated all required description fields above.
   - [x] I have reviewed and signed the commit.
   - [x] Local static and integration checks pass.
   - [x] This PR adheres to the current contribution and coding guidelines.
   - [x] My PR is still work in progress.
   - [ ] 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