]> git.pld-linux.org Git - packages/nagios-plugin-check_raid.git/blame - nagios-plugin-check_raid.spec
up to 4.0.3 - 2016-11-20
[packages/nagios-plugin-check_raid.git] / nagios-plugin-check_raid.spec
CommitLineData
d207195d
ER
1# TODO
2# - see and adopt: http://gist.github.com/359890
33a1c413 3%define plugin check_raid
b58f13f9 4%include /usr/lib/rpm/macros.perl
33a1c413
ER
5Summary: Nagios plugin to check current server's RAID status
6Name: nagios-plugin-%{plugin}
5e3e65ca 7Version: 4.0.3
cca08017 8Release: 1
81a52836 9License: GPL v2
77a58f21 10Group: Applications
d170d566 11Source0: https://github.com/glensc/nagios-plugin-check_raid/archive/%{version}/%{name}-%{version}.tar.gz
5e3e65ca 12# Source0-md5: db35a7e7256b8c7ae4e674eceede67e4
eb3c08b9 13URL: https://github.com/glensc/nagios-plugin-check_raid
5c7c0008 14BuildRequires: perl-ExtUtils-MakeMaker-CPANfile
f95c3387 15BuildRequires: perl-Module-Pluggable >= 5.1
b58f13f9
ER
16BuildRequires: perl-Monitoring-Plugin >= 0.37
17BuildRequires: rpm-perlprov >= 4.1-13
3745f267
ER
18BuildRequires: rpmbuild(macros) >= 1.685
19Requires: grep
b6d14fcc 20Requires: nagios-common
7c0f1466 21Requires: perl-base >= 1:5.8.0
3745f267 22Requires: sed >= 4.0
59ac65dd 23Requires: sudo >= 1:1.8.7-2
d0bfad7a 24Suggests: CmdTool2
81a52836 25Suggests: arcconf
bba37da2 26Suggests: areca-cli
c28807f0 27Suggests: cciss_vol_status
047af81a 28Suggests: hpacucli
59ac65dd 29Suggests: lsscsi
6aac77a0 30Suggests: megacli-sas
d0bfad7a 31Suggests: megarc-scsi
81a52836 32Suggests: mpt-status
21a9ecca 33Suggests: mvcli
a0df8e50 34Suggests: smartmontools
81a52836 35Suggests: tw_cli-9xxx
59ac65dd
ER
36# cciss_vol_status 1.10 can process /dev/sdX instead of only /dev/sgX
37Conflicts: cciss_vol_status < 1.10
a4cec8c3 38Conflicts: nagios-nrpe < 2.15-5
33a1c413
ER
39BuildArch: noarch
40BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41
42%define _sysconfdir /etc/nagios/plugins
3745f267 43%define nrpeddir /etc/nagios/nrpe.d
33a1c413
ER
44%define plugindir %{_prefix}/lib/nagios/plugins
45
46%description
1d167ca8
ER
47This plugin chekcs Check all RAID volumes (hardware and software) that
48can be identified.
33a1c413 49
67c765ab 50Supports:
94679d3f 51- AIX software RAID via lsvg
bba37da2
ER
52- Adaptec AAC RAID via aaccli or afacli or arcconf
53- Areca SATA RAID Support
54- HP Smart Array (MSA1500) via serial line
94679d3f
ER
55- HP Smart Array Controllers and MSA Controllers via hpacucli (see
56 hapacucli readme)
bba37da2
ER
57- HP/Compaq Smart Array via cciss_vol_status (hpsa supported too)
58- LSI Logic MegaRAID SAS series via MegaCli
59- LSI MegaRaid via lsraid
94679d3f
ER
60- Linux 3ware SATA RAID via tw_cli
61- Linux DPT/I2O hardware RAID controllers via /proc/scsi/dpt_i2o
62- Linux GDTH hardware RAID controllers via /proc/scsi/gdth
bba37da2 63- Linux LSI MegaRaid hardware RAID via /proc/megaraid
94679d3f
ER
64- Linux LSI MegaRaid hardware RAID via CmdTool2
65- Linux LSI MegaRaid hardware RAID via megarc
94679d3f 66- Linux MPT hardware RAID via mpt-status
5de6f208 67- Linux Device Mapper
bba37da2 68- Linux MegaIDE hardware RAID controllers via /proc/megaide
94679d3f 69- Linux software RAID (md) via /proc/mdstat
bba37da2 70- SAS2IRCU support
94679d3f
ER
71- Serveraid IPS via ipssend
72- Solaris software RAID via metastat
67c765ab 73
33a1c413 74%prep
59ac65dd
ER
75%setup -qc
76mv nagios-plugin-check_raid-*/* .
c1a6298c 77
04e7eccc 78%build
b58f13f9
ER
79# version check exits with "3", here's explanation:
80# https://github.com/monitoring-plugins/monitoring-plugins/pull/1363
81ver=$(./%{plugin}.sh -V || :)
04e7eccc 82test "$(echo "$ver" | awk '{print $NF}')" = %{version}
c1a6298c 83
a9655cbc 84LC_ALL=en_US.utf8 \
b58f13f9
ER
85%{__perl} Makefile.PL \
86 INSTALLVENDORSCRIPT=%{plugindir} \
87 INSTALLDIRS=vendor
88%{__make}
89
33a1c413
ER
90%install
91rm -rf $RPM_BUILD_ROOT
bd50b177 92install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{nrpeddir},%{plugindir},/etc/sudoers.d}
b58f13f9
ER
93%{__make} install \
94 DESTDIR=$RPM_BUILD_ROOT
95
96cp -p %{plugin}.cfg $RPM_BUILD_ROOT%{_sysconfdir}
3745f267 97touch $RPM_BUILD_ROOT%{nrpeddir}/%{plugin}.cfg
bd50b177 98touch $RPM_BUILD_ROOT/etc/sudoers.d/check_raid
33a1c413 99
bd50b177 100# remove .pl extension
b58f13f9
ER
101mv $RPM_BUILD_ROOT%{plugindir}/%{plugin}{.pl,}
102
103# cleanup
104%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
105%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/App/Monitoring/Plugin/CheckRaid/.packlist
106
33a1c413
ER
107%clean
108rm -rf $RPM_BUILD_ROOT
109
70176926 110%post
59ac65dd
ER
111# setup sudo rules:
112# - on first install
113# - if separate config file is used
114grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers && confd=1
115
116if [ "$1" = 1 -o "$confd" = 1 ]; then
70176926
ER
117 %{plugindir}/%{plugin} -S || :
118fi
119
120%postun
121if [ "$1" = 0 ]; then
122 # remove all sudo rules related to us
123 %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers
124fi
125
59ac65dd
ER
126%triggerpostun -- %{name} < 3.1.1-0.2, sudo < 1:1.8.7-2
127if grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers; then
59ac65dd
ER
128 %{plugindir}/%{plugin} -S || :
129fi
130# remove CHECK_RAID rules from /etc/sudoers if separate config is in place
131if [ -e /etc/sudoers.d/check_raid ]; then
132 %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers
133fi
134
3745f267
ER
135%triggerin -- nagios-nrpe
136%nagios_nrpe -a %{plugin} -f %{_sysconfdir}/%{plugin}.cfg
137
138%triggerun -- nagios-nrpe
139%nagios_nrpe -d %{plugin} -f %{_sysconfdir}/%{plugin}.cfg
140
33a1c413
ER
141%files
142%defattr(644,root,root,755)
34952916 143%attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}.cfg
33a1c413 144%attr(755,root,root) %{plugindir}/%{plugin}
3745f267 145%ghost %{nrpeddir}/%{plugin}.cfg
bd50b177 146%ghost /etc/sudoers.d/check_raid
b58f13f9
ER
147%dir %{perl_vendorlib}/App/Monitoring
148%dir %{perl_vendorlib}/App/Monitoring/Plugin
149%{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid.pm
150%{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid
This page took 0.143459 seconds and 4 git commands to generate.