The HPKG Creator allows you to create standalone Haiku package files. These HPKG files can then be installed by double-clicking or by integrating them into a repository server.

This program is used when creating installation packages for 3rd party repository servers such as https://software.besly.de or as test packages for porting.

The HPKGCreator is not a program to create packages for Haiku (System) / HaikuPorts.

The projects created can be reloaded, edited and recreated at any time using an integrated project management system.

In addition, existing packages that are not saved in the projects can be imported using the import function. The information contained therein is not lost, but not all input options of Haiku / HaikuPorts packages are supported.

Installation

Since the HPKGCreator is not part of the Haiku standard installation, it must be installed via an external source.

To integrate the installation source into HaikuDeport enter the following command line in the terminal:

BeSly 32bit 

pkgman add-repo https://software.besly.de/repo

BeSly 64bit 

pkgman add-repo https://software.besly.de/repo64

Then open HaikuDepot and update the repository server via "refresh repositories" in the HaikuDepot menu.

After the update has been completed, the packages from our repository server are also listed in the package lists.

Search for HPKGCreator and install it.

The Program

Package Infos

After the installation you will find the program in the application menu under HPKGCreator.

The Creator consists of two views, the input mask for the package information and one for the package files. To switch between the two views, slide the small corrugated area in the lower area upwards (or downwards in the other view) or use the navigation menu.

Create HPKG

To create a Haiku installation package, first fill in the package information and then add the appropriate package files.

In the package info view, enter the following:

*Required fields

Package Name *: Enter the name for the package. No spaces may be used here.

Version *: Enter the version of the program. Here are two input fields. The version number is on the left and the build number in the right field.

Build number means the version of the created package. When you create it for the first time, it would be the 1.

Packager *: Enter the creator of the package here.

Vendor *: Enter the source of the package here. In the case of our repository, that would be “BeSly Software Solution”.

Url. *: Enter the web address of the source here

Summary *: Enter a short description of the program here.

Description *: Enter an extended description of the program here.

Copyrights *: Enter one or more copyright holders here. To do this, enter the name in the input field and then press the arrow key ">" to enter this entry in the table opposite. To delete an entry from the table, select it and press the delete key "x".

Licenses *: Enter a license for the package here. The dropbox contains all licenses that are currently installed on the system. After selecting one of these licenses, it is anchored in the package as a license file. If you need a different, non-existent license, this can be added manually. The corresponding description follows in the area of the package files. Then press the arrow key ">" to enter this entry in the adjacent table. To delete an entry from the table, select it and press the delete key "x".

Provides *: The program version from which this package can be used is specified here. To enter the current program version here, press "catch" or enter it by hand. It is important here that the information is spelled correctly. Then press the arrow key ">" to enter this entry in the adjacent table. To delete an entry from the table, select it and press the delete key "x".

Requires: This specifies what is required for the program contained in the package to function. This can be libraries, other programs, codecs, etc. Enter this in the input field and then press the arrow key ">" to enter this entry in the adjacent table. To delete an entry from the table, select it and press the delete key "x".

You can use the “Hrev” button to obtain the current haiku revision and then add it.

Architecture *: The system architecture is specified here. To do this, select the appropriate one in the dropbox.

I have to admit that I have not yet tried whether you can create packages for a third-party architecture.

Package Files

In the package files view, we will now deal with the package files.

The system directories can be seen on the left. On the right side there is a drop zone and the package directory.

In order to build a package it is necessary to know where the system stores your data. The program files are installed under /boot/system/apps, shell tools under /boot/system/bin, libraries under /boot/system/libs etc. The PackageCreator offers the possibility to create various directories by selecting them in the corresponding menu. The PackageCreator starts in the directory structure at /boot/system.

However, since a program usually needs a name-related directory, this must first be created. To do this, select “New Folder” in the menu and name it “apps”, then we switch to the “apps” directory and create the directory with the program name. Then we switch to the created program directory.

Now you have several possibilities to insert the required program files. On the one hand, the files can be searched for and added in the left system directory or they can simply be dropped with the mouse on the upper hatched drop zone (also works with directories).

To get a link to the Applications menu, select the executable program file and select the "Link to Application menu" option in the menu. You then assign a name for the menu item (can also contain spaces).

Once all information has been entered and files have been added, save your project and then press "Create Package"

If all information is correct and complete, the finished package is placed on the desktop. If errors occur during creation, this will be displayed and the package will not be created.

Projects management

The program has a project management which enables archiving and subsequent editing. All projects saved on the running system are listed in the menu under "Open Project".

Existing projects can also be deleted using the same menu or you can open the project directory directly using the appropriate selection. However, it is important to know that the project storage folder is deleted and recreated when loading or creating a new project.