elixiat 发表于 2019-1-15 06:21:56

rpmbuild使用

  nagios客户端一般需要nagios-plugins,nrpe,为了方便与puppet结合,所以最好把源码打包成软件包

spec文件内容如下:

nrpe.spec:




[*]%define name nrpe
[*]%define version 2.13
[*]%define release 10
[*]%define nsusr nagios
[*]%define nsgrp nagios
[*]%define nsport 5666
[*]
[*]# Reserve option to override port setting with:
[*]# rpm -ba|--rebuild --define 'nsport 5666'
[*]%{?port:%define nsport %{port}}
[*]
[*]# Macro that print mesages to syslog at package (un)install time
[*]%define nnmmsg logger -t %{name}/rpm
[*]
[*]Summary: Host/service/network monitoring agent for Nagios
[*]URL: http://www.nagios.org
[*]Name: %{name}
[*]Version: %{version}
[*]Release: %{release}
[*]License: GPL
[*]Group: Application/System
[*]Source0: %{name}-%{version}.tar.gz
[*]BuildRoot: %{_tmppath}/%{name}-buildroot
[*]Prefix: %{_prefix}
[*]Prefix: /usr/local/nagios
[*]Requires: bash, grep, nagios-plugins,xinetd
[*]PreReq: /usr/bin/logger, chkconfig, sh-utils, shadow-utils, sed, initscripts, fileutils, mktemp
[*]
[*]%description
[*]Nrpe is a system daemon that will execute various Nagios plugins
[*]locally on behalf of a remote (monitoring) host that uses the
[*]check_nrpe plugin.Various plugins that can be executed by the
[*]daemon are available at:
[*]
[*]%prep
[*]%setup -q
[*]
[*]%pre
[*]if [ $? -eq 2 ] ; then
[*]    /usr/sbin/groupadd %{nsgrp} || %nnmmsg Unexpected error adding group "%{nyysgrp}". Aborting install process.
[*]fi
[*]
[*]# Create `nagios' user on the system if necessary
[*]if [ $? -eq 2 ] ; then
[*]    /usr/sbin/useradd -d %{nsgrp} -s /bin/nologin -c "%{nsusr}" -g %{nsgrp} %{nsusr} || \
[*]      %nnmmsg Unexpected error adding user "%{nsusr}". Aborting install process.
[*]fi
[*]
[*]%post
[*]if [ "$1" = 1 ]; then
[*]chown -R "%{nsusr}":"%{nsgrp}" %{_prefix}
[*]chkconfig --add xinetd
[*]chkconfig xinetd on
[*]echo "nrpe         5666/tcp             #nrpe" >> /etc/services
[*]/sbin/service xinetd restart > /dev/null 2>&1
[*]fi
[*]
[*]%preun
[*]if [ "$1" = 0 ]; then
[*]/bin/rm /etc/xinetd.d/nrpe -f
[*]sed -i '/^nrpe.*/d' /etc/services
[*]fi
[*]
[*]%postun
[*]if [ "$1" = 0 ]; then
[*]    /sbin/service xinetd restart >/dev/null 2>&1 || :
[*]fi
[*]
[*]%build
[*]export PATH=$PATH:/usr/sbin
[*]CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
[*]./configure \
[*]    --with-init-dir=/etc/init.d \
[*]    --with-nrpe-port=%{nsport} \
[*]    --with-nrpe-user=%{nsusr} \
[*]    --with-nrpe-group=%{nsgrp} \
[*]    --prefix=%{_prefix} \
[*]    --exec-prefix=%{_prefix}/bin \
[*]    --bindir=%{_prefix}/bin \
[*]    --sbindir=%{_prefix}/lib/nagios/cgi \
[*]    --libexecdir=%{_prefix}/libexec \
[*]    --datadir=%{_prefix}/share \
[*]    --sysconfdir=/etc/nagios \
[*]    --localstatedir=/var/log/nagios \
[*]    --enable-command-args
[*]
[*]make all
[*]
[*]%install
[*][ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
[*]install -d -m 0755 ${RPM_BUILD_ROOT}/etc/xinetd.d
[*]install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/libexec
[*]install -c -m 0755 src/check_nrpe ${RPM_BUILD_ROOT}/usr/local/nagios/libexec
[*]install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/bin
[*]install -c -m 0755 src/nrpe ${RPM_BUILD_ROOT}/usr/local/nagios/bin
[*]install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/etc
[*]install -c -m 0755 sample-config/nrpe.cfg ${RPM_BUILD_ROOT}/usr/local/nagios/etc/nrpe.cfg
[*]install -c -m 0644 sample-config/nrpe.xinetd ${RPM_BUILD_ROOT}/etc/xinetd.d/nrpe
[*]sed -i 's#server_args.*#server_args   = -c %{_prefix}/etc/nrpe.cfg --inetd#' ${RPM_BUILD_ROOT}/etc/xinetd.d/nrpe
[*]%clean
[*]rm -rf $RPM_BUILD_ROOT
[*]
[*]%files
[*]%defattr(755,root,root)
[*]%{_prefix}/bin/nrpe
[*]%defattr(644,root,root)
[*]%config(noreplace) /usr/local/nagios/etc/*.cfg
[*]%config(noreplace) /etc/xinetd.d/nrpe
[*]%defattr(755,%{nsusr},%{nsgrp})
[*]%doc Changelog LEGAL README
[*]%doc %{_prefix}/libexec
[*]
[*]%changelog
[*]* Wed Apr 3 2013 xxx build - 2.13-10
[*]- fixed nrpe.cfg relocation to sample-config

nagios-plugins.spec




[*]# Macros
[*]%define isaix %(test "`uname -s`" = "AIX" && echo "1" || echo "0")
[*]%define islinux %(test "`uname -s`" = "Linux" && echo "1" || echo "0")
[*]%define isredhatfamily %(test -f /etc/redhat-release && echo "1" || echo "0")
[*]
[*]%if %{isaix}
[*]    %define _prefix /usr/local/nagios
[*]#   %define _defaultdocdir %{_datadir}/doc
[*]%else
[*]    %define _libexecdir %{_exec_prefix}/libexec
[*]%endif
[*]%define _sysconfdir /usr/local/nagios/etc
[*]
[*]%define npusr nagios
[*]%define nphome /home/nagios
[*]%define npgrp nagios
[*]
[*]Name: nagios-plugins
[*]Version: 1.4.16
[*]Release: 10
[*]Summary: Host/service/network monitoring program plugins for Nagios
[*]
[*]Group: Applications/System
[*]License: GPL
[*]URL: http://nagiosplug.sourceforge.net/
[*]Source0: http://dl.sf.net/sourceforge/nagiosplug/%{name}-%{version}.tar.gz
[*]BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
[*]
[*]%define npdir %{_builddir}/%{name}-%{version}
[*]
[*]%if %{isaix}
[*]Prefix: %{_prefix}
[*]%else
[*]Prefix: %{_prefix}/lib/nagios/plugins
[*]%endif
[*]Packager: Karl DeBisschop
[*]Vendor: Nagios Plugin Development Group
[*]Provides: nagios-plugins
[*]
[*]%{!?custom:%global custom 0}
[*]Obsoletes: nagios-plugins-custom nagios-plugins-extras
[*]
[*]
[*]# Requires
[*]%if %{isaix}
[*]Requires:   fping
[*]Requires:   gawk
[*]Requires:   net-snmp
[*]Requires:   net-snmp-perl
[*]Requires:   net-snmp-utils
[*]Requires:   openldap
[*]Requires:   openssl
[*]Requires:   perl
[*]Requires:   python
[*]Requires:   openssl
[*]BuildRequires:fping
[*]BuildRequires:gawk
[*]BuildRequires:net-snmp
[*]BuildRequires:net-snmp-perl
[*]BuildRequires:net-snmp-utils
[*]BuildRequires:openldap-devel
[*]%endif
[*]%if %{isredhatfamily}
[*]Requires:   bind-utils
[*]Requires:   coreutils
[*]Requires:   fping
[*]Requires:   gawk
[*]Requires:   grep
[*]Requires:   iputils
[*]Requires:   mysql
[*]Requires:   net-snmp-utils
[*]Requires:   ntp
[*]Requires:   openldap
[*]Requires:   openssl
[*]Requires:   openssh-clients
[*]Requires:   perl
[*]Requires:   postgresql-libs
[*]Requires:   procps
[*]Requires:   python
[*]Requires:   samba-client
[*]Requires:   shadow-utils
[*]Requires:   traceroute
[*]Requires:   /usr/bin/mailq
[*]BuildRequires:bind-utils
[*]BuildRequires:coreutils
[*]BuildRequires:iputils
[*]BuildRequires:mysql-devel
[*]BuildRequires:net-snmp-utils
[*]BuildRequires:net-tools
[*]BuildRequires:ntp
[*]BuildRequires:openldap-devel
[*]BuildRequires:openssh-clients
[*]BuildRequires:openssl-devel
[*]BuildRequires:postgresql-devel
[*]BuildRequires:procps
[*]BuildRequires:samba-client
[*]BuildRequires:/usr/bin/mailq
[*]%endif
[*]
[*]
[*]%description
[*]
[*]Nagios is a program that will monitor hosts and services on your
[*]network, and to email or page you when a problem arises or is
[*]resolved. Nagios runs on a unix server as a background or daemon
[*]process, intermittently running checks on various services that you
[*]specify. The actual service checks are performed by separate "plugin"
[*]programs which return the status of the checks to Nagios. This package
[*]contains those plugins.
[*]
[*]
[*]%prep
[*]%setup -q
[*]
[*]
[*]%build
[*]%{?isaix: MAKE=gmake} ./configure \
[*]--prefix=%{_prefix} \
[*]--exec-prefix=%{_exec_prefix} \
[*]--libexecdir=%{_libexecdir} \
[*]--sysconfdir=%{_sysconfdir} \
[*]--datadir=%{_datadir} \
[*]#--with-cgiurl=/nagios/cgi-bin
[*]ls -1 %{npdir}/plugins > %{npdir}/ls-plugins-before
[*]ls -1 %{npdir}/plugins-root > %{npdir}/ls-plugins-root-before
[*]ls -1 %{npdir}/plugins-scripts > %{npdir}/ls-plugins-scripts-before
[*]make %{?_smp_mflags}
[*]ls -1 %{npdir}/plugins > %{npdir}/ls-plugins-after
[*]ls -1 %{npdir}/plugins-root > %{npdir}/ls-plugins-root-after
[*]ls -1 %{npdir}/plugins-scripts > %{npdir}/ls-plugins-scripts-after
[*]%pre
[*]# Create `nagios' group on the system if necessary
[*]%if %{isaix}
[*]lsgroup %{npgrp} > /dev/null 2> /dev/null
[*]if [ $? -eq 2 ] ; then
[*]    mkgroup %{npgrp} || %nnmmsg Unexpected error adding group "%{npgrp}". Aborting install process.
[*]fi
[*]%endif
[*]%if %{islinux}
[*]getent group %{npgrp} > /dev/null 2> /dev/null
[*]if [ $? -ne 0 ] ; then
[*]    groupadd %{npgrp} || %nnmmsg Unexpected error adding group "%{npgrp}". Aborting install process.
[*]fi
[*]%endif
[*]
[*]# Create `nagios' user on the system if necessary
[*]%if %{isaix}
[*]lsuser %{npusr} > /dev/null 2> /dev/null
[*]if [ $? -eq 2 ] ; then
[*]    useradd -d %{nphome} -s /bin/nologin -c "%{npusr}" -g %{npgrp} %{npusr} || \
[*]      %nnmmsg Unexpected error adding user "%{npusr}". Aborting install process.
[*]fi
[*]%endif
[*]%if %{islinux}
[*]getent passwd %{npusr} > /dev/null 2> /dev/null
[*]if [ $? -ne 0 ] ; then
[*]    useradd -r -d %{nphome} -s /bin/nologin -c "%{npusr}" -g %{npgrp} %{npusr} || \
[*]      %nnmmsg Unexpected error adding user "%{npusr}". Aborting install process.
[*]fi
[*]%endif
[*]
[*]%post
[*] chown -R "%{npusr}":"%{npgrp}" %{_prefix}
[*]
[*]%install
[*]rm -rf $RPM_BUILD_ROOT
[*]make AM_INSTALL_PROGRAM_FLAGS="" DESTDIR=${RPM_BUILD_ROOT} install
[*]build-aux/install-sh -c-d ${RPM_BUILD_ROOT}%{_sysconfdir}
[*]build-aux/install-sh -c-m 664 command.cfg ${RPM_BUILD_ROOT}%{_sysconfdir}
[*]%find_lang %{name}
[*]echo "%defattr(755,%{npusr},%{npgrp})" >> %{name}.lang
[*]comm -13 %{npdir}/ls-plugins-before %{npdir}/ls-plugins-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang
[*]echo "%defattr(755,root,root)" >> %{name}.lang
[*]comm -13 %{npdir}/ls-plugins-root-before %{npdir}/ls-plugins-root-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang
[*]echo "%defattr(755,%{npusr},%{npgrp})" >> %{name}.lang
[*]comm -13 %{npdir}/ls-plugins-scripts-before %{npdir}/ls-plugins-scripts-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang
[*]echo "%{_libexecdir}/utils.pm" >> %{name}.lang
[*]echo "%{_libexecdir}/utils.sh" >> %{name}.lang
[*]
[*]%clean
[*]rm -rf $RPM_BUILD_ROOT
[*]
[*]
[*]%files -f %{name}.lang
[*]%doc CODING COPYING FAQ INSTALL LEGAL README REQUIREMENTS SUPPORT THANKS
[*]%doc ChangeLog
[*]%if ! %{isaix}
[*]%{_datadir}/locale/de/LC_MESSAGES/nagios-plugins.mo
[*]%{_datadir}/locale/fr/LC_MESSAGES/nagios-plugins.mo
[*]/usr/local/nagios/libexec/check_ldaps
[*]/usr/local/nagios/etc/command.cfg
[*]%endif
[*]
[*]%changelog
[*]* Wed Apr 3 2013 xxx build   - 1.4.16-10   
[*]- Initial Package













页: [1]
查看完整版本: rpmbuild使用