Tag Archives: opennms

Giving up on creating a port of OpenNMS

After 5 years of going back & forth, I’ve decided to give up on trying to complete the OpenNMS ports for FreeBSD and dropped maintainership of the Java dependencies in the ports tree (net/jicmp, net/jicmp6, databases/jrrd, databases/iplike)

There are some issues which are show stoppers that need addressing upstream

  1. Separation of configuration & user data from the location of application binaries, Initially I began patching the source to look for files in a different location to the default so that things would integrate with the user land correctly but it soon became apparent that the patching would be a nightmare to maintain on an ongoing basis due to the number of patches required per configuration file. It was clear that things would need to be dealt with at the source rather than patched post release, a long running discussion with developers, bug reports raised, some (minor) patches submitted, 4+ years on, still ignored due to a lack of interest.
  2. Dynamically generated filenames, inherited from Google Web Toolkit, every build attempt generates new filename which make packing impossible.
    Update OpenNMS developer Benjamin Reed points to a possible fix
  3. Unreliable build process, maven fails between 2 to 3 times minimum which would cause lots of false alarms in an automated build environment e.g. the freebsd build cluster.
    This is somewhat of an improvement from a few years back where it would not be possible to build because repositories were not available for a day or two.

As it stands, the port is a shell which make it easy to install OpenNMS on FreeBSD but has major issues when it comes to upgrades or uninstallation. It’s best install dependencies from ports & install OpenNMS manually.

OpenNMS-dev port for FreeBSD

10/6/14 – No longer maintained

I’ve created a new FreeBSD port for installing releases from the unstable branch of OpenNMS.
This port suffers from the same issue as the stable port

You can grab the port here

9/6/10
Initial port, installs version 1.7.92

6/11/10
Update to version 1.9.2

25/4/11
I’ve setup a temporary mercurial repository with all version of the port in the repo to make moving forward easier (I say the repo is temporary as I intend to host my own instance of mercurial & to push out to git & bitbucket as well).

26/4/11
Update to version 1.9.7

17/5/11
Update to version 1.9.8
With this release, OpenNMS switched to the new JNA Pinger The JNA Pinger assumes IPv6 is enabled by default & if not doesn’t fail gracefully, this will cause problems if you’re running OpenNMS in a jail from example & you’ve not assigned the jail an IPv6 address, you can keep with the progress of this issue in NMS-4673
PR’s have been raised to update JICMP, JRRD & iplike to the latest versions in ports, see PR #’s 156785 156786 157120

11/08/11
Update to version 1.9.90

17/11/11
Update to version 1.9.93

IPlike port for FreeBSD

As part of getting OpenNMS on FreeBSD via ports I’ve created a port for the IPLIKE which is a C implementation of the iplike stored procedure that’s used by OpenNMS.
You can download a copy of the port here

If I haven’t heard any bad reports by the end of the week, I will raise a PR to have it added to ports.

ports/142581 was commited earlier today

iplike commit message on freshports.org

The port can be found at databases/iplike, please update your ports

OpenNMS port for FreeBSD

10/6/14 – No longer maintained

The port is for the current stable version, v1.6.2. It is in its very early stages, there are still some issues which need to be ironed out:

* The port will install just fine except that it complains about some files listed in the pkg-plist which are not there, well they are there but the files named are dynamically generated everytime a build is attempted (jetty-webapps & webapps cache files) so this will need to be fixed.

* As there are issues with these filenames in the pkg-plist, make package fails.

* A problems with the jicmp dependency, it fails to detect that jicmp is installed & attempts to build & install it no-matter what & obviously fails if it is.

All previous issues with the port listed above have been resolved, the port now just needs to be tested before submission for inclusion in ports.

You can grab the port here

Moved progress status to a separate text file