Initial commit: logcorrelator with unified packaging (DEB + RPM using fpm)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-02-27 15:31:46 +01:00
commit 8fc14c1e94
35 changed files with 4829 additions and 0 deletions

66
packaging/deb/postinst Normal file
View File

@ -0,0 +1,66 @@
#!/bin/bash
set -e
# postinst script for logcorrelator .deb package
case "$1" in
configure)
# Create logcorrelator user and group if they don't exist
if ! getent group logcorrelator > /dev/null 2>&1; then
groupadd --system logcorrelator
fi
if ! getent passwd logcorrelator > /dev/null 2>&1; then
useradd --system \
--gid logcorrelator \
--home-dir /var/lib/logcorrelator \
--no-create-home \
--shell /usr/sbin/nologin \
logcorrelator
fi
# Create necessary directories
mkdir -p /var/lib/logcorrelator
mkdir -p /var/run/logcorrelator
mkdir -p /var/log/logcorrelator
mkdir -p /etc/logcorrelator
# Set proper ownership
chown -R logcorrelator:logcorrelator /var/lib/logcorrelator
chown -R logcorrelator:logcorrelator /var/run/logcorrelator
chown -R logcorrelator:logcorrelator /var/log/logcorrelator
chown -R logcorrelator:logcorrelator /etc/logcorrelator
# Set proper permissions
chmod 750 /var/lib/logcorrelator
chmod 750 /var/log/logcorrelator
chmod 750 /etc/logcorrelator
# Install default config if it doesn't exist
if [ ! -f /etc/logcorrelator/logcorrelator.conf ]; then
cp /usr/share/logcorrelator/logcorrelator.conf.example /etc/logcorrelator/logcorrelator.conf
chown logcorrelator:logcorrelator /etc/logcorrelator/logcorrelator.conf
chmod 640 /etc/logcorrelator/logcorrelator.conf
fi
# Enable and start the service (if running in a real system, not container)
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
systemctl daemon-reload
systemctl enable logcorrelator.service
if ! systemctl is-active --quiet logcorrelator.service; then
systemctl start logcorrelator.service
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
# On abort, do nothing special
;;
*)
echo "postinst called with unknown argument '$1'" >&2
exit 1
;;
esac
exit 0

52
packaging/deb/postrm Normal file
View File

@ -0,0 +1,52 @@
#!/bin/bash
set -e
# postrm script for logcorrelator .deb package
case "$1" in
remove)
# On remove, leave config and data files
;;
purge)
# On purge, remove everything
# Stop service if running
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
systemctl stop logcorrelator.service 2>/dev/null || true
systemctl disable logcorrelator.service 2>/dev/null || true
systemctl daemon-reload
fi
# Remove configuration
rm -rf /etc/logcorrelator
# Remove data and logs
rm -rf /var/lib/logcorrelator
rm -rf /var/log/logcorrelator
rm -rf /var/run/logcorrelator
# Remove user and group
if getent passwd logcorrelator > /dev/null 2>&1; then
userdel logcorrelator 2>/dev/null || true
fi
if getent group logcorrelator > /dev/null 2>&1; then
groupdel logcorrelator 2>/dev/null || true
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
# On abort, restart the service
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
systemctl start logcorrelator.service 2>/dev/null || true
fi
;;
*)
echo "postrm called with unknown argument '$1'" >&2
exit 1
;;
esac
exit 0

29
packaging/deb/prerm Normal file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -e
# prerm script for logcorrelator .deb package
case "$1" in
remove|deconfigure)
# Stop and disable the service
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
systemctl stop logcorrelator.service 2>/dev/null || true
systemctl disable logcorrelator.service 2>/dev/null || true
systemctl daemon-reload
fi
;;
upgrade)
# On upgrade, just stop the service (will be restarted by postinst)
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
systemctl stop logcorrelator.service 2>/dev/null || true
fi
;;
*)
echo "prerm called with unknown argument '$1'" >&2
exit 1
;;
esac
exit 0