Skip to content

Development builds

Guillaume Bougard edited this page May 16, 2024 · 3 revisions

GLPI Agent is automatically build on new commit and PR integration into supported packaging thanks to a github Actions workflow.

You can also build your own package as example for the following cases:

  • test and validate your developments
  • change the default configuration But the generated packages won't be signed unless you have your own code-signing certificate and set it up for your builds.

Windows

The windows package builds are mostly managed by the contrib/windows/glpi-agent-packaging.pl script.

The script will:

  • download binary tools used by to compile Strawberry perl (including recent openssl support)
  • build the configured most recent perl version with a dedicated configuration to support relocatable run
  • install required perl modules
  • setup agent sources for the package
  • package the MSI
  • produce the portable version

To try our latest windows development build, you:

  • need a github account
  • access the GLPI Agent Packaging workflow run results page
  • select a run and download the "Windows-Build" artifacts archive
  • extract the MSI installer or the portable archive for your arch, x86_64 & x86 should be availables
  • install the MSI as usual or extract the portable archive in a folder and use the embedded bat files

To build your own packages or portable archives, you'll have to:

  • install Strawberry Perl and Wix Toolset
  • install Module::Install perl module with cpan -T Module::Install
  • install Perl::Dist::Strawberry perl module with cpanm --notest --verbose Perl::Dist::Strawberry
  • extract agent sources or clone the github repository
  • from the source base, run perl contrib\windows\glpi-agent-packaging.pl --arch x64 to build for 64bits build, (32bits builds are not more supported since 1.8)

MacOSX

The macosx package builds are managed by the contrib/macosx/glpi-agent-packaging.sh script.

The script will:

  • download most recent configured zlib, perl and openssl sources
  • build zlib as a static achive
  • build perl with a dedicated configuration to support relocatable run
  • build openssl so it will be statically linked into Net::SSLeay perl module
  • install required perl modules
  • setup agent sources for the package
  • package the PKG
  • produce the DMG

To try our latest macosx development build, you:

  • need a github account
  • access the GLPI Agent Packaging workflow run results page
  • select a run and download the "MacOSX-Build" artifacts archive
  • extract the PKG installer or the DMG archive for your architecture
  • install the PKG as usual or open the DMG and start the included installer

To build your own PKG package or DMG archive, you'll have to:

  • install recent gcc and Apple Xcode SDK (check this macosx 10.15 readme to find what is used for our build in github)
  • extract agent sources or clone the github repository
  • from the source base, run contrib/macosx/glpi-agent-packaging.sh to build for your current arch

Linux (snap)

The linux snap package builds are configured by the included snapcraft.yaml YAML file.

Using the snap configuration, the command snapcraft will:

  • download most recent configured perl sources
  • install some required ubuntu packages into the build environment
  • build perl with a dedicated configuration to support relocatable run
  • install some useful commands and required libraries by downloading ubuntu packages
  • install required perl modules
  • setup agent sources for the snap package
  • package the snap

To try our latest linux snap development build, you:

  • need a github account
  • access the GLPI Agent Packaging workflow run results page
  • select a run and download the "Snap-Build" artifacts archive
  • extract the snap file for your architecture
  • install the snap with the following command replacing [version] & [arch] to match the included snap:
sudo snap install --dangerous --classic glpi-agent-[version]_[arch].snap

To build your own snap package, you'll have to:

  • install snapcraft
  • extract agent sources or clone the github repository
  • from the source base, run snapcraft --debug --use-lxd to build the snap
Clone this wiki locally