Packages
Programs beyond the system arrive as packages: a folder on the package server with a
signed MANIFEST and the files it names. dosget fetches them; the App Store
and Updates are windows over it.
dosget
dosget list # what the channel has
dosget info mizugram # one package: version, summary, who made it
dosget install mizugram # fetch it and unpack it
dosget update # everything installed to the channel's versions (also: upgrade)
dosget notes # what is new in the updates waiting
dosget remove mizugram # delete what it installed
dosget drivers # the drivers this machine's devices need
dosget channel alpha # stable, preview or alpha (administrators)
Channels
The server keeps three channels. Stable has builds that were tried and found
sound; a new Mizu follows it. Preview has the builds being tried before they
become Stable. Alpha has every build as soon as it is made. A build reaches
Preview and then Stable as it is, the same signed files, so what Stable gets is exactly what was
tried. Choose the channel in Updates, or with dosget channel; only an administrator
can change it. Moving to a steadier channel never takes the system back to an older build: it
stays until that channel passes it.
A package goes into Z:\NAME (or its target), is put on the program search
path unless it says path = no, and is recorded in \BOOT\DOSGET\NAME.PKG. That
record is what the Start menu reads: a package installed a minute ago is in the menu now,
without the desktop knowing anything about it.
Signatures
Every manifest is signed by the server's key, and the kernel checks the signature with the
key built into it before anything is unpacked; then each file's SHA-256 is checked against the
manifest. A package that was changed on the way is refused. That also means dosget installs only
what the official server signed. To share a program of your own, share the file: an
.EXE or .APP runs from anywhere.
The manifest
name = MIZUGRAM
version = 0.1-5b4701a5
summary = Mizugram, a Telegram client (preview)
path = no
file = MIZUGRAM.APP
menu = Internet|Mizugram|MIZUGRAM.APP
check = MIZUGRAM.APP 221320 3f0c55d1
abi = 21
sha256 = MIZUGRAM.APP 9d4e...
| Line | Meaning |
|---|---|
name, version, summary | What the App Store and dosget list show. A different version is an update. |
file | A file of the package, into its directory. One line per file. |
place | FILE \DIR: a file that goes somewhere else. |
target | Install into this directory instead of \NAME. |
path = no | Keep it off the search path (apps opened from the menu need not be on it). |
menu | Folder|Label|command: an entry in Start > Programs > Folder. One line per entry; the command may carry arguments (GAMES.APP Snake). |
run | The command the menu should use to start the package's program, if not just its file. |
start = no | No Start menu entry of its own. |
setup | A program of the package run after installing (with /U on an update). |
check, sha256 | Size and CRC32, and SHA-256, per file: what the download is checked against. |
abi | The ABI the files were built for; a system too old for it does not install them. |
critical | Marks a system update as one to take soon. |
note | VERSION|text: release notes, newest first. dosget notes and Updates show those newer than what is installed. |