Skip to content

CardputerZero/AppStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CardputerZero AppStore

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.

Runtime

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

Useful backend environment variables:

M5APPSTORE_STATE_DIR=/root/.local/share/cardputerzero-appstore
M5APPSTORE_APP_ROOT=/usr/share/APPLaunch

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

Backend Commands

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: 6a9798c1208e6d8bf5a9f28914160483

Share Code Flow

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors