Hi Scot,
I think *this is a very important topic* and it is great that you are working on it. On my side, *I am exploring the step just before packaging with a CMake-based build*. The current build system is powerful and optimized, but also quite intricate, which makes it harder to evolve. The goal with CMake is to clearly expose which dependencies are present, which features are enabled or disabled, and*to provide a simpler base that should make RPM specs and other builds easier* to write and more consistent across distributions.
https://github.com/bonomani/xymon/tree/cmake-migration-clean
- This is a first step. It will likely require several iterations to get something really clean, but the priority is to have something that works, in parallel with the current build. *. Compilation seems to work already *(visible in my GitHub Actions).
- The next steps are to cover the remaining parts: The |configure.cmake.sh|script also works, although probably not fully yet.
I already struggled with RPMs in the past, so I know it can take time to get right. The number of build variables in Xymon is not small, and my aim is to make this as simple as possible upstream, so the packaging step on your side can also stay simple.
-> Roland and Corentin did some interesting things with Docker and GitHub Actions; maybe this can also help you.
Bruno
Not perfectly sure or all th next info...
The dependencies that I have identified so far are for the runtime: *- Server * - Required at runtime: web server, fping, mailer (e.g. sendmail) - Optional / feature-dependent: OpenSSL libs (SSL checks), OpenLDAP libs (LDAP checks), net-snmp tools (net-snmp-config), c-ares libs (async DNS)
*- Client * - Required at runtime: no extra libraries beyond standard OS tools - Optional / feature-dependent: none (PCRE not used in client code: the doc is wrong, i think)
./configure.cmake.sh [options] Options: --non-interactive Use defaults and skip prompts (NEW) --gnuinstall Enable GNUInstallDirs layout (NEW) --prefix DIR Set install prefix (implies --gnuinstall) (NEW) --xymontopdir DIR Set XYMONTOPDIR --xymonhome DIR Set XYMONHOME --xymonclienthome DIR Set XYMONCLIENTHOME --xymonvar DIR Set XYMONVAR --xymonlogdir DIR Set XYMONLOGDIR --cgidir DIR Set CGIDIR --securecgidir DIR Set SECURECGIDIR --xymonuser USER Set XYMONUSER --xymonhostname NAME Set XYMONHOSTNAME --xymonhostip IP Set XYMONHOSTIP --xymonhostos OS Set XYMONHOSTOS --xymonhosturl URL Set XYMONHOSTURL --xymoncgiurl URL Set XYMONCGIURL --securexymoncgiurl URL Set SECUREXYMONCGIURL --manroot DIR Set MANROOT --httpdgid GROUP Set HTTPDGID (webserver group) --enable-rrd yes/no Set ENABLE_RRD --enable-snmp yes/no Set ENABLE_SNMP --enable-ssl yes/no Set ENABLE_SSL --enable-ldap yes/no Set ENABLE_LDAP --fping PATH Set FPING --mailprogram CMD Set MAILPROGRAM --rrdinclude DIR Set RRD include dir --rrdlib DIR Set RRD library dir --pcreinclude DIR Set PCRE include dir --pcrelib DIR Set PCRE library dir --sslinclude DIR Set OpenSSL include dir --ssllib DIR Set OpenSSL library dir --ldapinclude DIR Set LDAP include dir --ldaplib DIR Set LDAP library dir --caresinclude DIR Set C-ARES include dir --careslib DIR Set C-ARES library dir --build-dir DIR Override build directory (default: build-cmake) (NEW)) --no-clean Do not remove build directory before configuring (NEW) --no-build-install Configure only (skip build/install) (NEW)
Le 27.01.2026 à 22:15, Scot Kreienkamp a écrit :
I’ve been working through the process of creating RPMs of Xymon, what we can and cannot do on GitHub actions.
First, the GitHub actions to create the RPMs must run under Ubuntu, as it’s the only Linux version directly available in actions, and it has to be a current version of Ubuntu at that. They phase out older versions fairly quickly. The RPM building commands are available under Ubuntu, but the file locations and such may differ, which could present a problem. The other option is I use podman or docker in Ubuntu based GitHub action to run a RedHat or Rocky Linux image to build the packages in. I might have to go that route to get packaging for older OS versions. If so, I might as well just use that to generate each OS version’s packages so the only thing I would have to change between major OS versions is the image being used to compile it. Hopefully.
Second, I’m still working through learning how to build the RPMs themselves. I’m still beginner level on how to do this so it’s not fast progress.
*Scot Kreienkamp | Applications Infrastructure Architect | La-Z-Boy Corporate * (734) 384-6403 | 1-734-915-1444 | Scot.Kreienkamp@la-z-boy.com One La-Z-Boy Drive | Monroe, Michigan 48162 | la-z-boy.com <http://www.la-z-boy.com/> facebook.com/lazboy <http://facebook.com/lazboy> |instagram.com/lazboy <https://instagram.com/lazboy> |youtube.com/lazboy <http://youtube.com/lazboy>
LaZboy Logo
This message is intended only for the individual or entity to which it is addressed. It may contain privileged, confidential information which is exempt from disclosure under applicable laws. If you are not the intended recipient, you are strictly prohibited from disseminating or distributing this information (other than to the intended recipient) or copying this information. If you have received this communication in error, please notify us immediately by e-mail or by telephone at the above number. Thank you.
Xymon mailing list --xymon@xymon.com To unsubscribe send an email toxymon-leave@xymon.com