Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37048419
en ru br
ALT Linux repos
S:5.33.0-alt1
5.0: 5.0.2-alt4
4.1: 5.0-alt0.1
4.0: 5.2.5-alt0.M40.1
3.0: 4.1.1-alt1.1

Group :: Monitoring
RPM: monit

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

#define beta _beta7
%define beta %nil
%def_enable optimized
%def_with pam

Name: monit
Version: 5.32.0
Release: alt1

Summary: Process monitor and restart utility
License: AGPL-3.0
Group: Monitoring

Url: http://mmonit.com/monit
Source0: %url/dist/%name-%version%beta.tar.gz
Source1: %name.sysconfig
Source2: monit.init
Source3: monitrc
Source4: %name.cnf
Source5: README.Certificate-Creation
Source6: monitrc.d.tar.gz
Source7: monit.service
Source100: monit.watch
Packager: Michael Shigorin <mike at altlinux.org>

Requires: %name-base = %version-%release
Requires: openssl
Requires(post,preun): chkconfig
Requires(post,preun): service >= 0.5-alt1

# Automatically added by buildreq on Fri Apr 06 2012

# optimized out: libcom_err-devel libkrb5-devel
BuildRequires: flex libpam-devel libssl-devel zlib-devel
BuildRequires: /usr/bin/pod2man

%define _ssldir %_var/lib/ssl
%define _pemdir %_ssldir/certs

Summary(ru_RU.UTF-8): Утилита для мониторинга запущенных процессов
Summary(uk_UA.UTF-8): Утиліта для моніторингу процесів у системі

%package base
Summary: Directory for monit configuration files
Summary(ru_RU.UTF-8): Каталог для конфигурационных файлов monit
Summary(uk_UA.UTF-8): Тека для конфігураційних файлів monit
Group: System/Servers
Provides: /etc/monitrc.d
BuildArch: noarch

%description
monit is an utility for monitoring services or similar programs running on
a Unix system. It will start specified programs if they are not running
and restart programs not responding.  Many checks can be performed:
 - process existence
 - connectability
 - protocol-level (SMTP,POP3,IMAP,NNTP,HTTP,SSH,FTP,SIP)
 - resource usage (cpu/ram)
 - process interdependencies

%description -l ru_RU.UTF-8
Monit предназначен для слежения за выполнением процессов (обычно сервисов),
запущенных в системе UNIX. Monit может следить за несколькими параметрами:
 - существование процесса
 - возможность установления соединения(ий)
 - работоспособность протокола (SMTP,POP3,IMAP,NNTP,HTTP,SSH,FTP,SIP)
 - использование процессом памяти и вычислительных ресурсов
 - зависимости между процессами

%description -l uk_UA.UTF-8
Monit застосовується для стеження за виконанням процесів (зазвичай сервісів),
що запущені у системі UNIX. Monit може слідкувати за декількома параметрами:
 - існування процесу
 - можливість встановлення з'єднання
 - роботоздатність протоколу (SMTP,POP3,IMAP,NNTP,HTTP,SSH,FTP,SIP)
 - використання процесом пам'яті та обчислювальних ресурсів
 - залежності між процесами

%description base
Directory for monit configuration files

%description -l ru_RU.UTF-8 base
Каталог для конфигурационных файлов monit

%description -l uk_UA.UTF-8 base
Тека для конфігураційних файлів monit

%prep
%setup -n %name-%version%beta
sed -i \
-e 's,allow localhost,use address 127.0.0.1,' \
-e 's,admin:monit,monit:secretword,' monitrc

%build
sh bootstrap
#autoreconf
%configure \
%{subst_with pam}

%make_build

%install
%makeinstall_std

# see also #27990

install -pD %buildroot{%_bindir,/bin}/monit
ln -sf ../../bin/monit %buildroot%_bindir/monit

mkdir -p %buildroot%_sysconfdir/sysconfig/
install -pDm644 %SOURCE1 %buildroot%_sysconfdir/sysconfig/%name

cat %SOURCE3 >>monitrc
install -pDm755 %SOURCE2  %buildroot%_initdir/%name
install -pDm600 monitrc %buildroot%_sysconfdir/monitrc
install -pDm644 %SOURCE4  %buildroot%_ssldir/%name.cnf
install -pDm644 %SOURCE7 %buildroot%_unitdir/%name.service

#mkdir -p %buildroot%_sysconfdir/monitrc.d/available/

mkdir -p %buildroot%_sysconfdir/monitrc.d/
mkdir -p %buildroot%_pemdir
touch %buildroot%_pemdir/%name.pem

tar xpf %SOURCE6
cp -a monitrc.d/templates/ %buildroot%_sysconfdir/monitrc.d/
mv monitrc.d examples
ln -s %_docdir/%name-%version/examples %buildroot%_sysconfdir/monitrc.d/EXAMPLES
ln -s monitrc.d %buildroot%_sysconfdir/monit.d

%post
cd %_pemdir
if [ ! -f %name.pem ]; then
umask 077
echo -e '\n.\n.\n.\n.\n.\n' |
openssl req -newkey rsa:1024 -x509 -days 365 -nodes \
-config %_ssldir/%name.cnf \
-keyout %name.pem -out %name.pem &>/dev/null
fi

grep -qs '^    allow localhost ' /etc/monitrc && {
 echo "** WARNING: replace 'allow localhost' with 'use address 127.0.0.1'"
 echo "            in /etc/monitrc"; } >&2 ||:

grep -qs '^    allow admin:monit ' /etc/monitrc && {
 echo "** WARNING: replace 'allow admin:monit' with another login:password"
 echo "            in /etc/monitrc"; } >&2 ||:

if ! grep -qs '^set pidfile ' /etc/monitrc /etc/monitrc.d/*; then
 echo "** WARNING: adding 'set pidfile /var/run/monit.pid' to /etc/monitrc" >&2
 {
   echo
   echo "# added by monit-5.17.1-alt3 package upgrade"
   echo "set pidfile /var/run/monit.pid"
 } >> /etc/monitrc
fi

%post_service %name

%preun
%preun_service %name

%files
%doc examples/
%config %_initdir/%name
%_unitdir/%name.service
%ghost %attr(600,root,root) %config(noreplace,missingok) %_pemdir/*
%dir %_sysconfdir/monitrc.d/templates/
%config(noreplace) %_sysconfdir/monitrc.d/templates/*
%config(noreplace) %_sysconfdir/monitrc
%config(noreplace) %_ssldir/%name.cnf
%config(noreplace) %_sysconfdir/sysconfig/%name
%_sysconfdir/monitrc.d/EXAMPLES
%_sysconfdir/monit.d
%_man1dir/%name.1.*
%_bindir/%name
/bin/monit

%files base
%dir %_sysconfdir/monitrc.d
#dir %_sysconfdir/monitrc.d/available

# TODO:

# - move to cert-sh-functions for certificate generation?
# - add rsync, oracle tns config snippets (proto checks present)
# - each "check file" += "every 48 cycles"

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin