Prepare Packages
Last updated
Last updated
This article is about Creating Packages. It will show you the basic steps to create Craft, Chocolatey, Chocolatey App-V and Organic packages. While all types follow the same rough outline, there are some differences when handling the packages.
We will start this article with a figure to get an overview of the RealmJoin package distribution ecosystem:
All packaging processes will be demonstrated with a VLC player package.
Glück & Kanja uses a self-developed Jumpstarter script which helps to create the template for a new package. It is free to use without support. To start the Jumpstarter run the following code in a cmd shell:
Optional parameters are -DoNotCloneRepository
and -DoNotCopyTemplate
.
After the execution the following prompt appears and asks to specify details:
Capitalization and Naming Use only small letters for the repository path and use 'vendor-program' as a folder name.
Version numbering Software packages are assigned an individual version number. The package version must be divided into four numbers: W.X.Y.Z
Best practices for version numbering:
For non-chocolatey packages we suggest to use W as major release number, X as major subversion, Y as minor release number a Z as (re-)packaging number (when rebuilding the package without changes in software but in the build itself).
For Chocolatey packages, it is recommended to use the software's version number, and use Z as (re-)packaging number. If the software itself has a four part version number, Chocolatey suggests to multiply the Z by 100 and increase the number by 1 every (re-)packaging. If some parts of the version number have leading zeroes those must be removed.
For example, the software version number is 1.02.3.4, suggested package version would be 1.2.3.400
After Jumpstarter has finished, a new repository is created and the template files are copied into the local package folder. Files that are not necessary for the selected package type will be deleted. If the correct package version and type are selected, it is not necessary to edit the choco-package.nuspec
and .gitlab-ci.yml
files. Nevertheless, it is highly recommended to check those files for consistency.
Depending on the package type you have chosen, navigate to the Chocolatey Package or Craft Package.
RealmJoin and the automatization tools are constantly adapted and refined. Advanced features are implemented and tested in a beta branch. The beta version of the Jumpstarter script can be used by running the following code in a cmd shell: