Zim package manager
With this, we can manage optional "packages" on an Ideascube server.
There's a command line tool (the catalog
Django management command), which uses an API inside Ideascube, preparing the way for having that in the web user interface.
The current status:
-
Manage remote sources -
Add a remote source -
Remove a remote source -
List configured remote sources
-
-
Manage the cache -
Update the local cache (like apt-get update
, to know the packages offered by each source) -
Clear the local cache -
Allow "incremental" cache updates (right now we just always download the entire catalog for each remote source)
-
-
Download packages -
Keep a copy in cache -
Resume incomplete downloads -
Support additional package caches (e.g on a USB stick)
-
-
Manage packages -
List installed packages -
List available packages -
Support multiple package types, as content for multiple apps -
Install specified packages (e.g install wikipedia.fr wikipedia.en
) -
Remove specified packages (e.g remove wikipedia.fr wikipedia.en
) -
Upgrade specified packages (e.g update wikipedia.fr wikipedia.en
) -
Upgrade all installed packages if none is specified (i.e update
) -
Support globs for list, install, remove and upgrade (e.g list wikipedia.*
) -
Allow listing packages in need of an update (i.e list --upgradable
) -
Unit tests for list, install, remove and upgrade
-
There is also absolutely no testing for the command line tool, only the API is tested. Not sure how to properly test the command line though, I guess I'll have to look at other command lines in Ideascube.