nagios-rpm-macros/macros.icinga
Lars Vogdt 4fb11fd27e - added new macros:
+ %icinga_user_group_add
  + %icinga_command_user_group_add
  to make it easier to have the same useradd/groupadd invocations
  in all packages

OBS-URL: https://build.opensuse.org/package/show/server:monitoring/nagios-rpm-macros?expand=0&rev=34
2013-08-07 20:56:58 +00:00

99 lines
3.4 KiB
Plaintext

# macros.icinga file
# macros for Icinga (sub-)package building - handle with care
#
#
# directories
#
# install all plugins into this directory
# Please note: we use the old Nagios directory here, as plugins are
# currently compatible
%icinga_plugindir %{_prefix}/lib/nagios/plugins
# install all event handler scripts into this directory
%icinga_eventhandlerdir %{_prefix}/lib/icinga/eventhandler
# files like p1.pl are located directly in this directory
%icinga_libdir %{_prefix}/lib/icinga
# Icinga uses this directory for status files
%icinga_localstatedir %{_var}/lib/icinga
# Icinga configuration should be stored here
%icinga_sysconfdir %{_sysconfdir}/icinga
# Icinga static webpages, stylesheets and theme(s), online documentation
%icinga_datadir %{_datadir}/icinga
# Icinga spool dir
%icinga_spooldir %{_var}/spool/icinga
# Icinga run dir
%icinga_rundir %{_localstatedir}/run/icinga
# Icinga logfile dir
%icinga_logdir %{_var}/log/icinga
# Icinga cgi directory
%icinga_cgidir %{_prefix}/lib/icinga/cgi
# Icinga cgi logging directory
%icinga_cgi_logdir %{icinga_logdir}/www
# Icinga check results spool directory
%icinga_checkresultdir %{icinga_spooldir}/checkresults
# Icinga external command file directory
%icinga_cmd_filedir %{icinga_rundir}
# Icinga temp directory
%icinga_tempdir %{icinga_rundir}/tmp
#
# files
#
# This is where the current status of all monitored services and
# hosts is stored
%icinga_status_file %{icinga_spooldir}/status.dat
# This is the file that Icinga should use to store host and
# service state information before it shuts down.
%icinga_state_retention_file %{icinga_spooldir}/retention.dat
# Icinga lock file
%icinga_lockfile %{icinga_rundir}/icinga.pid
# Icinga ido2db lock file
%icinga_ido2db_lockfile %{icinga_rundir}/ido2db.pid
# Icinga external command file - the name icinga.cmd is static, only the
# directory is configurable
%icinga_cmdfile %{icinga_cmd_filedir}/icinga.cmd
%icinga_command_file %{icinga_cmdfile}
# Icinga ido2db socket file
%icinga_ido2db_socketfile %{icinga_rundir}/ido2db.sock
# Icinga initscript error file
%icinga_chkfile %{icinga_spooldir}/icinga.chk
# Icinga idomod tmp file
%icinga_idomod_tmpfile %{icinga_spooldir}/idomod.tmp
# Icinga HTTP auth file
%icinga_http_authfile %{icinga_sysconfdir}/htpasswd.users
# Icinga logrotate file
%icinga_logrotatefile %{_sysconfdir}/logrotate.d/icinga
# Icinga temp file
%icinga_tempfile %{icinga_rundir}/icinga.tmp
#
# users and groups
#
# User, Icinga runs under
%icinga_user icinga
# Group, Icinga runs under
%icinga_group icinga
# User, that can execute commands via %{icinga_command_file}
%icinga_command_user wwwrun
# Group, that can execute commands via %{icinga_command_file}
%icinga_command_group icingacmd
# Add Icinga user and groups
%icinga_user_group_add() \
/usr/sbin/groupadd -r %{icinga_group} 2>/dev/null || :\
/usr/sbin/useradd -r -g %{icinga_group} -d %{icinga_localstatedir} -s /bin/false -c "User for Icinga" %{icinga_user} 2>/dev/null || :\
%{nil}
%icinga_command_user_group_add() \
/usr/sbin/groupadd -r %{icinga_command_group} 2>/dev/null || :\
%if 0%{?suse_version} > 01220 \
/usr/sbin/usermod -a -G %{icinga_command_group} %{icinga_user} || :\
%else \
/usr/sbin/groupmod -A %{icinga_user} %{icinga_command_group} 2>/dev/null || :\
%endif \
%{nil}