cederom commented on code in PR #18875:
URL: https://github.com/apache/nuttx/pull/18875#discussion_r3235990323


##########
Documentation/applications/system/nxpkg/index.rst:
##########
@@ -0,0 +1,225 @@
+=========
+``nxpkg``
+=========
+
+``nxpkg`` is a small local-first package helper for Dynamic ELF content on
+NuttX. In its current form it focuses on a narrow executable-package flow:
+
+- read package metadata from a local repository index
+- verify package compatibility for the current runtime
+- verify the staged artifact with SHA-256
+- install the payload into a versioned on-device store
+- record installed package state and expose it through ``list``
+
+This first documentation page describes the current MVP only. Follow-up work
+such as repository sync, dependency solving, shared-library packaging, and
+rollback/update execution is intentionally out of scope for this initial
+application-level slice.
+
+Overview
+========
+
+``nxpkg`` is intended to work with NuttX systems that already support Dynamic
+ELF loading. The current implementation assumes that:
+
+- ELF payloads are produced separately from the base firmware image
+- package metadata is available locally on the target
+- the repository index can be written under ``/etc/nxpkg``
+- the package store and cache live under a writable ``/var`` hierarchy
+
+The package lifecycle handled by the current MVP is intentionally simple:
+
+1. load ``index.json`` from the local repository
+2. select the latest matching package entry by name
+3. verify runtime compatibility against the current arch/board identity
+4. stage the package payload
+5. verify the SHA-256 digest from the manifest
+6. copy the payload into the versioned package store
+7. update installed package metadata and ``current`` / ``previous`` pointers
+
+Current Commands
+================
+
+The first ``nxpkg`` slice provides the following command surface:
+
+- ``nxpkg install <name>``
+- ``nxpkg list``
+- ``nxpkg help``
+
+The command parser also reserves ``update`` and ``rollback`` subcommands, but
+they are not implemented in this initial unit.
+
+On-Device Layout
+================
+
+The current implementation uses the following default paths:
+
+- repository metadata: ``/etc/nxpkg/index.json``
+- installed package database: ``/var/lib/nxpkg/installed.json``
+- package payload store: ``/var/lib/nxpkg/pkgs``
+- temporary staging area: ``/var/cache/nxpkg/pkg``

Review Comment:
   `/tmp/nxpkg` for staging?
   
   By staging you mean unpack, process, move to target location?



-- 
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