Skip to content
npaladin2000 edited this page Dec 2, 2019 · 1 revision

WORK IN PROGRESS

This page will cover how to take an existing binary folder with a working app, and convert it into an OPK file for OpenDingux. There is an existing app to make things simpler, located at https://github.com/Harteex/OpenPackageCreator/releases, and will be especially useful for Windows users. For Linux users and more technical folks, some more detailed information is below.

The following tools are used:
unsquashfs file.opk - to extract an opk (or just simply mount it)
mksquashfs directory file.opk - to create an opk with the contents from directory

The meta-data files:
One or more meta-data files per platform, generally named default.xxx.desktop, where xxx is the platform.
e.g.: default.gcw0.desktop, default.a320.desktop

The platform name can be "all": in this case, the meta-data will correspond to all platforms. It is useful when packing scripts (shell/python...), or when the executable is built into the root filesystem.
e.g.: default.all.desktop

More than one meta-data file for one given platform will give multiple links on the launcher.
e.g.: quake1.gcw0.desktop, quake2.gcw0.desktop

Uses the .desktop file format:

  • Type: always set this to "Application".
  • Name: the title of the app on the menu.
  • Comment: a short description of the app.
  • Categories: Semicolon-separated list of categories of the menu in which the app will be displayed. Must be terminated by a semicolon.
  • Icon: defines the name of the PNG that should be used for that application. The PNG file is first searched on the user local directory, then on the root of the package, then on the system directory. Do not append the .png extension here, it is implied.
  • Exec: the command to execute the program. If the program requires a file, use the token '%f'.
  • Terminal: tell the menu to launch the app in a framebuffer console if enabled.
  • MimeType: Semicolon-separated list of MIME types the emulator / application can open. If no "MimeType" parameter is provided, the application is started without any file. Must be terminated by a semicolon.
Clone this wiki locally