OPM::Maker - Module/App to build and test OPM packages for Znuny, OTOBO, ((OTRS)) Community edition.
version 1.17
If you do customizing for ticketing systems like Znuny, OTOBO or ((OTRS)) Community Edition, you need to be able to check your package: Are all files of the package included in the file list in the sopm file? Is the sopm file valid? And you need to create the OPM file. There is xxxx.Console.pl (where xxxx is either otobo or otrs) included in stanrdard installations, but sometimes you might not have a ticket system installed on the machine where you want to build the package (e.g. when you build the package in a CI/CD job).
OPM::Maker provides opmbuild that is a small tool for several tasks. At the moment it supports:
OPM::Maker
opmbuild
filetest
Check if all files in the filelist exist on your disk and if all files on the disk are listed in the filelist
somptest
Checks if your .sopm file is valid
dependencies
List all CPAN- and ticket system - dependencies of your package
build
Create the OPM file
index
build an index file for an OPM repository.
Currently under development:
dbtest
Check if the DatabaseInstall and DatabaseUninstall sections in your .sopm files are valid. And it checks for SQL keywords.
DatabaseInstall
DatabaseUninstall
The commands index and dependencies parse ticketsystem addons. And those addons can become quite huge (the Znuny ITSM bundle is about 27M big). Usually the parser rejects such huge files, but that behaviour was changed as of version 1.10.
Parsing XML files can lead to security issues (loading external entities, application runs out of memory, ...), so those commands work as follows:
Huge files (up to 30M) are parsed
If an environment variable OPM_MAX_SIZE is set, that is the max size for opm files
If OPM_MAX_SIZE is set to 15M, opm files bigger than 15 MBytes are rejected, if the variable is set to 15000 opm files bigger than 15000 Bytes are rejected.
OPM_MAX_SIZE
Loading external entities/DTD is disabled
Entities are not expanded
OPM_UNSECURE reverts the last two settings
Renee Baecker <reneeb@cpan.org>
This software is Copyright (c) 2017 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
To install OPM::Maker, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OPM::Maker
CPAN shell
perl -MCPAN -e shell install OPM::Maker
For more information on module installation, please visit the detailed CPAN module installation guide.