DBP file format: Difference between revisions
No edit summary |
|||
Line 9: | Line 9: | ||
The zip part contain the meta-data related to the DBP. | The zip part contain the meta-data related to the DBP. | ||
=== meta-data structure === | |||
In the metadata zip file, you can have up to 3 directories : | |||
# <b>meta</b>: (<i>mandatory</i>) contain the "default.desktop" (<i>mandatory</i>) and all other .desktop files | |||
# <b>icons</b>: the directory where the icons will be looked after | |||
# <b>teasers</b>: the directory where the screenshots will be looked after | |||
=== Sample session to build a dbp === | === Sample session to build a dbp === | ||
Line 23: | Line 29: | ||
... | ... | ||
$ <b>cat target.squash target.zip > target.dbp</b> | $ <b>cat target.squash target.zip > target.dbp</b> | ||
== the desktop file(s) == | == the desktop file(s) == |
Revision as of 10:39, 21 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.
meta-data structure
In the metadata zip file, you can have up to 3 directories :
- meta: (mandatory) contain the "default.desktop" (mandatory) and all other .desktop files
- icons: the directory where the icons will be looked after
- teasers: the directory where the screenshots will be looked after
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 teasers $ 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 teasers adding: meta/ (stored 0%) ... $ cat target.squash target.zip > target.dbp
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 |
---|---|---|---|---|
Type | R | N | Type of desktop file (Possible values: Application, Link, Directory) | Type=Application |
Name | R | R | Name of the app | Name=dosbox |
Comment | O | O | Description of the app | Comment=A DOS emulator |
Categories | R | 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 |
X-DBP-Screenshot | N | O | A single screenshot for this app (as found in the "teasers" directory) | X-DBP-Screenshot=app1.png |
X-DBP-Screenshots | N | O | A set of screenshots for this app (as found in the "teasers" directory) | X-DBP-Screenshots[0]=appx_0.png
X-DBP-Screenshots[1]=appx_1.png |
Version | N | N | Version of the app | Version=0.74+svn20200103 |
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 | N | R | Name of the package | Name=DOSbox |
Arch | O | R | Binary architecture of that package | Arch=armhf |
Appdata | O | N | Name of the appdata to use (default: name of the package) | Appdata=dosbox |
Icon | O | O | Icon of the package (found in the "icons" directory) | Icon=dosbox.png |
Version | N | R | Version of the package | Version=0.74+svn20200103 |
Exec | O | N | List of executables to export With environment override | Exec=bin/dosbox;dosbox.launch |
NoEnvExec | O | N | List of executables to export Without environment override | |
Dependency[deb] | O | O | Debian packages requiered. | Dependency[deb]=libsdl2-image-2 |
Dependency[dbp] | O | O | dbp package requiered to run this one. | Dependency[dbp]=dosbox |
legend
letter | meaning |
---|---|
R | Required |
O | Optionnal |
N | Not used |