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]
