DBP file format: Difference between revisions
(→Desktop Entry: Added link to the repo code where applicable) |
|||
Line 42: | Line 42: | ||
|Name | |Name | ||
|R | |R | ||
|R | |[https://dev.pyra-handheld.com/sebt3/pyraRepo/-/blob/566a9ffbbf914247654c63b7dc688018d96a2fcb/classes/UploadPage.php#L163 R] | ||
|Name of the app | |Name of the app | ||
|Name=dosbox | |Name=dosbox | ||
Line 48: | Line 48: | ||
|Comment | |Comment | ||
|N | |N | ||
|O | |[https://dev.pyra-handheld.com/sebt3/pyraRepo/-/blob/566a9ffbbf914247654c63b7dc688018d96a2fcb/classes/UploadPage.php#L159 O] | ||
|Description of the app | |Description of the app | ||
|Comment=A DOS emulator | |Comment=A DOS emulator | ||
Line 54: | Line 54: | ||
|Version | |Version | ||
|N | |N | ||
| | |N | ||
|Version of the app | |Version of the app | ||
|Version=0.74+svn20200103 | |Version=0.74+svn20200103 | ||
Line 60: | Line 60: | ||
|Type | |Type | ||
|N | |N | ||
| | |N | ||
|Type of app | |Type of app | ||
|Type=Application | |Type=Application | ||
Line 66: | Line 66: | ||
|Categories | |Categories | ||
|N | |N | ||
|O | |[https://dev.pyra-handheld.com/sebt3/pyraRepo/-/blob/566a9ffbbf914247654c63b7dc688018d96a2fcb/classes/UploadPage.php#L172 O] | ||
|Categories | |Categories | ||
|Categories=Game;Emulator | |Categories=Game;Emulator | ||
Line 78: | Line 78: | ||
|Icon | |Icon | ||
|O | |O | ||
|O | |[https://dev.pyra-handheld.com/sebt3/pyraRepo/-/blob/566a9ffbbf914247654c63b7dc688018d96a2fcb/classes/UploadPage.php#L160 O] | ||
|The icon in the "icons" directory (expect .png) | |The icon in the "icons" directory (expect .png) | ||
|Icon=dosbox.png | |Icon=dosbox.png |
Revision as of 18:06, 19 March 2021
Please note: we're not going to describe something as painful as the pxml file here :P
file structure
a .dbp files is composed of 2 concatenated files :
- a squashfs file
- an *uncompressed* zip
The squashfs part contain your application(s) and everything it might need to run.
The zip part contain the meta-data related to the DBP.
Sample session to build a dbp
Say you have a your application in a "rootfs" directory and a meta" directory containing the metadata.
$ ls icons meta rootfs $ mksquashfs rootfs target.squash -all-root -force-gid 0 Creating 4.0 filesystem on target.squash, block size 131072. .... $ zip -r target.zip meta icons adding: meta/ (stored 0%) ... $ cat target.squash target.zip > target.dbp
meta-data structure
the desktop file(s)
This file format is normed by the free-desktop community. The specs can be found here.
Desktop Entry
In a dbp file, none to many [Desktop Entry] can be create. Each of them will be an application from withing the dbp package. Each [Desktop Entry] section need to be a dedicated file. Here is the standard fields the dbp system reuse.
LABEL | dbpd | Repo | Description | Example |
---|---|---|---|---|
Name | R | R | Name of the app | Name=dosbox |
Comment | N | O | Description of the app | Comment=A DOS emulator |
Version | N | N | Version of the app | Version=0.74+svn20200103 |
Type | N | N | Type of app | Type=Application |
Categories | N | O | Categories | Categories=Game;Emulator |
Exec | R | N | The binary in the squashfs part to start | Exec=dosbox |
Icon | O | O | The icon in the "icons" directory (expect .png) | Icon=dosbox.png |
Terminal | N | N | Spawn a terminal for this app to run in, if set. | Terminal=false |
Package Entry
This section doesnt exist in the free-desktop specification (So this is dbp exclusive stuff here). One and only one of this section should be found per dbp package. Here are the fields :
LABEL | dbpd | Repo | Description | Example |
---|---|---|---|---|
Id | R | R | Unique identifier for the dbp file. | Id=dosbox |
Name | R | R | Name of the package | Name=DOSbox |
Icon | N | O | Icon of the package (found in the "icons" directory) | Icon=dosbox.png |
Version | N | O | Version of the package | Version=0.74+svn20200103 |
Arch | O | O | Binary architecture of that package | Arch=armhf |
Exec | R | N | TODO | Exec=bin/dosbox;dosbox.launch |
legend
letter | meaning |
---|---|
R | Required |
O | Optionnal |
N | Not used |