Skip to content

tools: Export package metadata and RGB565 icons. - #3663

Open
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/nxpkg-icons-pr13
Open

tools: Export package metadata and RGB565 icons.#3663
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/nxpkg-icons-pr13

Conversation

@aviralgarg05

@aviralgarg05 aviralgarg05 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Note: Please adhere to Contributing Guidelines.

Summary

tools/export_pkg_repo.py produced a catalog with a name, a version and an
artifact, which is enough to install a package but not enough for a client
to show anything about it before installing.

This lets a package carry a description, a category and an icon. The icon
is converted from an ordinary image into a small raw RGB565 buffer with a
12-byte header, which a target can render directly; decoding PNG or JPEG on
a small device is not assumed.

Impact

  • New feature: YES, optional per-package metadata and icons.
  • User adaptation: NO. The extra fields are optional, and a catalog without
    them exports exactly as before.
  • Build: NO, host tool only.
  • Hardware: NO.
  • Documentation: The repository format is described in Documentation: Update nxpkg and add nxstore guide. nuttx#18875.
  • Security: NO. Icons are converted locally, not fetched.
  • Compatibility: The added fields are ignored by a client that does not
    know them.

Testing

Build host: macOS 26.5, arm64, Python 3.14.

  • flake8 with .github/linters/setup.cfg, black --check, isort --check
  • exported a repository with and without icons and confirmed index.json
    parses, the SHA-256 of each artifact matches the file on disk, and the
    icon payload is the expected size for its declared dimensions

PR verification Self-Check

  • This PR introduces one focused change.
  • I have updated all required description fields above.
  • I have reviewed and signed every commit.
  • This PR adheres to the current contribution and coding guidelines.
  • My PR is still work in progress.
  • My PR is ready for review and can be safely merged.

Keep the existing package specification syntax backward compatible, including source paths containing colons. Add separate name-keyed options for optional descriptions, categories, and icon source images.

Convert icons to a fixed 48 by 48 little-endian RGB565 payload with an LVGL-compatible image header, and place them at package-level repository paths for nxstore caching.

Assisted-by: OpenAI Codex:gpt-5.6-sol
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
@aviralgarg05
aviralgarg05 force-pushed the gsoc/nxpkg-icons-pr13 branch from de1a59a to 353906a Compare August 14, 2026 15:12
@aviralgarg05 aviralgarg05 changed the title [WIP] tools: Export package metadata and RGB565 icons. tools: Export package metadata and RGB565 icons. Aug 14, 2026
@aviralgarg05
aviralgarg05 marked this pull request as ready for review August 14, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant