Dev-notes about 0install
Regarding a deterministic listing of apps installed on a machine (via):
$ ls ~/.config/0install.net/apps/ foo ... $ 0install show --xml foo [ includes <manifest-digest> elements ]
- TODO: can I do it on Windows as well in the same way?
- is there
0install show --xml $APP
on Windows?- ❌ nope,
0install show
prints:Unknown command ‘show’.
:( - 👉
%LOCALAPPDATA%\0install.net\interfaces\
per-URL seems to store full .xml files, with e.g.<implementation version=“25.6.2” id=“sha256new_APRH6BPECHOVOU2E3E65NQDDTTUXVS63A7RRXQ7JSY3LHR2GLONA”>
which matches<manifest-digest …>
XML contents, as well as the dir name in either%PROGRAMDATA%\0install.net\implementations\
or%LOCALAPPDATA%\0install.net\implementations\
(maybe see also:%APPDATA%\0install.net\injector\implementation-dirs
)
- ❌ nope,
- is there a matching
$SOME_DIR/0install.net/apps/
directory on Windows?- ❌ nope, Linux-only again (via)
- 🤔 possible approximations in
%APPDATA%\0install.net\desktop-integration\…
:aliases\
seems to store .exe stubsapp-list.xml
seems basically same content as–list-apps
stubs\*\
seems to store other .exe stubs (for non-CLI apps?)
- is there
Regarding migrating signing keys from a Windows machine to another one (via):
The various 0install publishing tools all call
gpg
(GnuPG) under the hoods to sign feeds.On Windows GnuPG stores private keys (and other data) in
%appdata%\gnupg
by default. So copying that directory from your old machine to the new one should do the trick.
After installing gnupg e.g. via 0install itself, this would seem to boil down to (via):
On "source" machine: $ gpg --export > all.key # or: gpg --export $ID > single.key $ gpg --export-secret-key > secret.key # this or above? unsure On "destination" machine: $ gpg --import secret.key # or: gpg --import all.key ? ...single.key ? $ gpg --edit-key $ID trust quit # needed or not needed ??? 5⏎ # "I trust ultimately" y⏎ # "Really set this key to ultimate trust?" - "Yes" $ gpg -K # list secret keys $ gpg --delete-secret-key $UNUSED_KEY