Hello,
Seeing as Nagios is now mostly lead by corporations I decided to package the
community fork Naemon since it seems to be the best-maintained and has some of
the former core Nagios team on-board.

Both of these are very useful to monitor server(s) from a web interface showing
the status of different services.
-- 
Kind Regards,
Wael Karram.


From eb01572f81608414beca7eddd75f2421f4fffd6f Mon Sep 17 00:00:00 2001
From: wael <[email protected]>
Date: Tue, 8 Nov 2022 09:05:00 +0200
Subject: [PATCH] Package naemon as an alternative to nagios that is
 community-managed.

---
 pcr/naemon/PKGBUILD             | 93 +++++++++++++++++++++++++++++++++
 pcr/naemon/naemon-tmpfiles.conf |  9 ++++
 pcr/naemon/naemon.install       | 21 ++++++++
 pcr/naemon/naemon.service       | 18 +++++++
 4 files changed, 141 insertions(+)
 create mode 100644 pcr/naemon/PKGBUILD
 create mode 100644 pcr/naemon/naemon-tmpfiles.conf
 create mode 100644 pcr/naemon/naemon.install
 create mode 100644 pcr/naemon/naemon.service

diff --git a/pcr/naemon/PKGBUILD b/pcr/naemon/PKGBUILD
new file mode 100644
index 000000000..168d73303
--- /dev/null
+++ b/pcr/naemon/PKGBUILD
@@ -0,0 +1,93 @@
+# Maintainer (AUR): Immae <[email protected]>
+# Contributor (AUR): Jonathan Steel <jsteel at archlinux.org>
+# Contributor (Parabola): Wael Karram <[email protected]>
+
+# Parabola changes and rationale:
+# Update package and build for armv7h.
+# Use git tags instead of commits.
+# Remove useless patch file (already merged upstream, overflow in xodtemplate.c
+
+pkgname=naemon
+pkgver=1.3.1
+pkgrel=1
+pkgdesc="System and network monitoring application"
+arch=('i686' 'x86_64')
+arch+=('armvh')
+url="http://naemon.org";
+license=('GPL2')
+depends=('icu' 'glib2')
+optdepends=('logrotate'
+            'thruk: Web interface for Naemon'
+            'naemon-livestatus: Event broker'
+            'monitoring-plugins')
+makedepends=('gperf' 'help2man' 'git')
+source=("naemon-git::git+https://github.com/naemon/naemon-core.git#tag=v1.3.1";
+        $pkgname-tmpfiles.conf
+        $pkgname.service)
+        #overflow.patch)
+sha512sums=('SKIP'
+            '756e61e4da56ce614824c3b289d2ee0f4464bf5bcd868dcadbf31c3320967e0179aa6c5aedc16e4bb40c480ab2da8ab08c43e750168e86963a9cd552db01ea1d'
+            '28944f2bd918c0718496ce490d0c2da97a127f71cfb23348620cb6c86fc88e206a07409d32dc8c9a9b5b2d1a8106b400c3e1edf3a6b7aca30ac125a38ebed3b2')
+            #'ec1ccf09f8c02e8f6dfdf2f6b80eed4b3e07df85703d89bdfdefe0bd9380b832a7f9a1c2976f17f55d74dbb3b1888ae28bf0551c78cb8bbc3acb08cd1e4a85da')
+backup=('etc/logrotate.d/naemon'
+        'etc/naemon/naemon.cfg'
+        'etc/naemon/resource.cfg')
+install=$pkgname.install
+
+build() {
+  cd "$srcdir/$pkgname-git"
+
+  #patch -p1 < $srcdir/overflow.patch
+  ./autogen.sh
+  ./configure --prefix=/usr \
+              --bindir=/usr/bin \
+              --datadir="/usr/share/naemon" \
+              --libdir="/usr/lib/naemon" \
+              --localstatedir="/var/lib/naemon" \
+              --sysconfdir="/etc/naemon" \
+              --with-pkgconfdir="/etc/naemon" \
+              --mandir="/usr/share/man" \
+              --with-pluginsdir="/usr/lib/monitoring-plugins" \
+              --with-tempdir="/var/cache/naemon" \
+              --with-checkresultdir="/var/cache/naemon/checkresults" \
+              --with-logdir="/var/log/naemon" \
+              --with-initdir="/etc/init.d" \
+              --with-logrotatedir="/etc/logrotate.d" \
+              --with-naemon-user="naemon" \
+              --with-naemon-group="naemon" \
+              --with-lockfile="/run/naemon/naemon.pid"
+
+  make
+}
+
+check() {
+  cd "$srcdir/$pkgname-git"
+
+  # One of the tests fail for some reason, upstream notified.
+  make check || true
+}
+
+package() {
+  cd "$srcdir/$pkgname-git"
+
+  make DESTDIR="$pkgdir" install
+
+  install -d "$pkgdir"/etc/naemon/module-conf.d
+
+  rm -rf "$pkgdir"/var/{cache,log}
+
+  install -dm755 "$pkgdir"/var/lib/naemon
+  install -Dm644 "$srcdir"/$pkgname.service \
+    "$pkgdir"/usr/lib/systemd/system/$pkgname.service
+
+  # Move sample config files
+  install -dm755 "$pkgdir"/usr/share/doc/naemon
+  mv "$pkgdir"/etc/naemon/conf.d "$pkgdir"/usr/share/doc/naemon/
+  install -d "$pkgdir"/etc/naemon/conf.d/templates
+
+  # Remove non-Arch directories
+  rm -rf "$pkgdir"/etc/init.d
+  rm -rf "$pkgdir"/etc/apache2
+
+  install -Dm644 "$srcdir"/naemon-tmpfiles.conf "$pkgdir"/usr/lib/tmpfiles.d/naemon.conf
+}
diff --git a/pcr/naemon/naemon-tmpfiles.conf b/pcr/naemon/naemon-tmpfiles.conf
new file mode 100644
index 000000000..a7d9d860d
--- /dev/null
+++ b/pcr/naemon/naemon-tmpfiles.conf
@@ -0,0 +1,9 @@
+D /var/run/naemon 0770 naemon naemon -
+D /var/cache/naemon 0770 naemon naemon -
+D /var/cache/naemon/checkresults 0770 naemon naemon -
+D /var/lib/naemon/spool 0775 naemon naemon -
+D /var/lib/naemon/spool/checkresults 0775 naemon naemon -
+D /var/lib/naemon/thruk 0775 naemon naemon -
+D /var/lib/naemon/perl5 0775 naemon naemon -
+D /var/log/naemon 0770 naemon naemon -
+D /var/log/naemon/archives 0770 naemon naemon -
diff --git a/pcr/naemon/naemon.install b/pcr/naemon/naemon.install
new file mode 100644
index 000000000..c32c8484e
--- /dev/null
+++ b/pcr/naemon/naemon.install
@@ -0,0 +1,21 @@
+post_install() {
+  getent group naemon &> /dev/null || groupadd -r naemon -g 44
+  getent passwd naemon &> /dev/null || useradd -r -u 44 -g naemon \
+    -d /var/lib/naemon -s /usr/bin/false -c "Naemon" naemon
+
+  chown naemon:naemon /var/lib/naemon
+  chown -R naemon:naemon /etc/naemon
+  /usr/bin/systemd-tmpfiles --create naemon.conf
+}
+
+pre_remove() {
+  if [[ -f /run/naemon/naemon.pid ]]; then
+    systemctl stop naemon
+  fi
+  /usr/bin/systemd-tmpfiles --remove naemon.conf
+
+  userdel naemon &> /dev/null
+  groupdel naemon &> /dev/null
+
+  rm -rf /var/lib/naemon
+}
diff --git a/pcr/naemon/naemon.service b/pcr/naemon/naemon.service
new file mode 100644
index 000000000..0c3a0da43
--- /dev/null
+++ b/pcr/naemon/naemon.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Naemon Monitoring Daemon
+Documentation=http://naemon.org/documentation
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/naemon/naemon.pid
+ExecStartPre=/usr/bin/naemon -vp /etc/naemon/naemon.cfg
+ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg
+ExecReload=/bin/kill -HUP $MAINPID
+User=naemon
+Group=naemon
+StandardOutput=journal
+StandardError=inherit
+
+[Install]
+WantedBy=multi-user.target
-- 
2.38.1

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Dev mailing list
[email protected]
https://lists.parabola.nu/mailman/listinfo/dev

Reply via email to