Device-side APPLaunch application for browsing CardputerZero registries and installing apps from online registry metadata.
AppStore installs only Debian .deb packages whose registry review status is
approved. The backend downloads the .deb to the local cache first, verifies
the registry download.md5, then installs the local file with the Raspberry Pi
OS/Debian package tools. Installed apps can be launched through their APPLaunch
.desktop file and removed with the package manager.
The LVGL UI calls appstore.py for registry, install, upgrade, and uninstall operations. By default the script lives next to the installed binary, but the UI also honors:
M5APPSTORE_SCRIPT=/path/to/appstore.pyUseful backend environment variables:
M5APPSTORE_STATE_DIR=/root/.local/share/cardputerzero-appstore
M5APPSTORE_APP_ROOT=/usr/share/APPLaunchDefault registry:
https://cardputerzero.github.io/generated/registry.json
CN region registry:
https://cardputer-zero-repo.oss-cn-shenzhen.aliyuncs.com/packages/cn/registry.json
AppStore performs a fresh registry sync when it starts. Registry HTTP requests
send Cache-Control: no-cache and a timestamp query parameter so GitHub Pages
or intermediate CDN cache does not hide newly published entries. If a registry
cannot be loaded, the UI shows the load failure; if a previous catalog exists,
AppStore keeps showing the cached app list and marks the registry as cached.
python3 appstore.py --summary
python3 appstore.py --registries
python3 appstore.py --regions
python3 appstore.py --set-region CN
python3 appstore.py --add-registry https://example.com/generated/registry.json
python3 appstore.py --sync
python3 appstore.py --plan <app-id>
python3 appstore.py --install <app-id>
python3 appstore.py --upgrade <app-id>
python3 appstore.py --uninstall <app-id><app-id> accepts either the app UUID or its share_code from registry metadata.
Multiple registries are supported. On the Registries settings screen, use the
region radio buttons to choose the built-in Default or CN registry. Add another
registry from the same screen or with --add-registry; the selected region
registry and all enabled custom registries are synced and merged into one app
list. Apps with the same UUID/share code are de-duplicated, with later registry
metadata taking precedence. On the home screen, press S to open Registry
Settings and C to open the share code input page. AppStore syncs the registry
automatically when it starts.
Registry entries must provide a Debian package download:
download:
type: deb
package: lofibox
url: https://github.com/CardputerZero/packages/raw/main/pool/main/lofibox/lofibox_0.2.0-1~lofibox23_arm64.deb
md5: 6a9798c1208e6d8bf5a9f28914160483On the AppStore home screen, press C to open the share code input page. Type
the code from CardputerZero Hub, then press Enter to jump to that app's detail
page. From there, use the normal install/reinstall flow.