diff --git a/rrdtool.spec b/rrdtool.spec
index bd8ba3451fb4dfe50f116e879024628e677a9721..f51e3d93538f307979707f182384df3c81ea6a24 100644 (file)
--- a/rrdtool.spec
+++ b/rrdtool.spec
%define with_php %{?_without_php: 0} %{?!_without_php: 1}
%define with_tcl %{?_without_tcl: 0} %{?!_without_tcl: 1}
%define with_ruby %{?_without_ruby: 0} %{?!_without_ruby: 1}
%define with_php %{?_without_php: 0} %{?!_without_php: 1}
%define with_tcl %{?_without_tcl: 0} %{?!_without_tcl: 1}
%define with_ruby %{?_without_ruby: 0} %{?!_without_ruby: 1}
+%define with_lua %{?_without_lua: 0} %{?!_without_lua: 1}
%define php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
%define svnrev r1190
%define php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
%define svnrev r1190
-%define pre rc9
#define pretag 1.2.99908020600
#define pretag 1.2.99908020600
+%define rrdcached_user rrdcached
Summary: Round Robin Database Tool to store and display time-series data
Name: rrdtool
Summary: Round Robin Database Tool to store and display time-series data
Name: rrdtool
-Version: 1.3.8
-Release: 1
+Version: 1.4.8
+Release: 1%{?dist}
License: GPLv2+ with exceptions
Group: Applications/Databases
URL: http://oss.oetiker.ch/rrdtool/
License: GPLv2+ with exceptions
Group: Applications/Databases
URL: http://oss.oetiker.ch/rrdtool/
Requires: dejavu-lgc-fonts
BuildRequires: gcc-c++, openssl-devel, freetype-devel
BuildRequires: libpng-devel, zlib-devel, intltool >= 0.35.0
Requires: dejavu-lgc-fonts
BuildRequires: gcc-c++, openssl-devel, freetype-devel
BuildRequires: libpng-devel, zlib-devel, intltool >= 0.35.0
-BuildRequires: cairo-devel >= 1.4.6, pango-devel >= 1.17
+BuildRequires: cairo-devel >= 1.2, pango-devel >= 1.14
BuildRequires: libtool, groff
BuildRequires: gettext, libxml2-devel
%if 0%{?fedora} >= 7
BuildRequires: libtool, groff
BuildRequires: gettext, libxml2-devel
%if 0%{?fedora} >= 7
display time-series data (i.e. network bandwidth, machine-room temperature,
server load average). This package contains documentation on using RRD.
display time-series data (i.e. network bandwidth, machine-room temperature,
server load average). This package contains documentation on using RRD.
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+
%package perl
Summary: Perl RRDtool bindings
Group: Development/Languages
%package perl
Summary: Perl RRDtool bindings
Group: Development/Languages
The %{name}-ruby package includes RRDtool bindings for Ruby.
%endif
The %{name}-ruby package includes RRDtool bindings for Ruby.
%endif
+%if %{with_lua}
+%{!?lua_version: %define lua_version %(lua -v 2>&1 | cut -f2 -d' ' | cut -f1,2 -d '.')}
+
+%package lua
+Summary: Lua RRDtool bindings
+Group: Development/Languages
+BuildRequires: lua-devel
+Requires: lua
+Requires: %{name} = %{version}-%{release}
+
+%description lua
+The %{name}-lua package includes RRDtool bindings for Lua.
+%endif
+
+%package cached
+Summary: Data caching daemon for RRDtool
+Group: Applications/Databases
+Requires: %{name} = %{version}-%{release}
+
+%description cached
+rrdcached is a daemon that receives updates to existing RRD files,
+accumulates them and, if enough have been received or a defined time has
+passed, writes the updates to the RRD file. The daemon was written with
+big setups in mind which usually runs into I/O related problems. This
+daemon was written to alleviate these problems.
+
%prep
%if %{with_php}
%setup -q -n %{name}-%{version} -a 1
%prep
%if %{with_php}
%setup -q -n %{name}-%{version} -a 1
%build
%configure \
%build
%configure \
+ CFLAGS="-g -O0" \
--with-perl-options='INSTALLDIRS="vendor"' \
%if %{with_tcl}
--enable-tcl-site \
--with-perl-options='INSTALLDIRS="vendor"' \
%if %{with_tcl}
--enable-tcl-site \
%endif
%if %{with_ruby}
--enable-ruby \
%endif
%if %{with_ruby}
--enable-ruby \
+%else
+ --disable-ruby \
%endif
%endif
+%if %{with_lua}
+ --enable-lua \
+%else
+ --disable-lua \
+%endif
+ --enable-perl-site-install \
--disable-static \
--with-pic
--disable-static \
--with-pic
%{__perl} -pi.orig -e 's|-Wl,--rpath -Wl,\$rp||g' \
bindings/perl-shared/Makefile.PL
%{__perl} -pi.orig -e 's|-Wl,--rpath -Wl,\$rp||g' \
bindings/perl-shared/Makefile.PL
-# Force RRDp bits where we want 'em, not sure yet why the
-# --with-perl-options and --libdir don't take
-pushd bindings/perl-piped/
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__perl} -pi.orig -e 's|/lib/perl|/%{_lib}/perl|g' Makefile
-popd
-
#{__make} %{?_smp_mflags}
make
#{__make} %{?_smp_mflags}
make
__EOF__
%endif
__EOF__
%endif
-# Pesky RRDp.pm...
-%{__mv} $RPM_BUILD_ROOT%{perl_vendorarch}/../RRDp.pm $RPM_BUILD_ROOT%{perl_vendorarch}/
-
# Dunno why this is getting installed here...
%{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/../leaktest.pl
# Dunno why this is getting installed here...
%{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/../leaktest.pl
$RPM_BUILD_ROOT%{_datadir}/%{name}/examples \
$RPM_BUILD_ROOT%{perl_vendorarch}/auto/*/{.packlist,*.bs}
$RPM_BUILD_ROOT%{_datadir}/%{name}/examples \
$RPM_BUILD_ROOT%{perl_vendorarch}/auto/*/{.packlist,*.bs}
+# Set up rrdcached
+%__install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/default
+%__install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d
+%__install -m 0644 etc/rrdcached-default $RPM_BUILD_ROOT/%{_sysconfdir}/default/rrdcached
+%__install -m 0755 etc/rrdcached-init $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/rrdcached
+%__install -d -m 0755 -o nobody -g nobody $RPM_BUILD_ROOT/%{_localstatedir}/run/rrdcached
+
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%clean
%{__rm} -rf $RPM_BUILD_ROOT
+%pre cached
+/usr/sbin/groupadd %rrdcached_user &>/dev/null ||:
+/usr/sbin/useradd -s /sbin/nologin -g %rrdcached_user -c %rrdcached_user -d %{_localstatedir}/run/rrdcached %rrdcached_user &>/dev/null || :
+
%post -p /sbin/ldconfig
%post -p /sbin/ldconfig
+%post cached
+/sbin/chkconfig --add rrdcached
+/sbin/service rrdcached start
+
+%preun cached
+/sbin/service rrdcached stop
+
%postun -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%postun cached
+/sbin/chkconfig --del rrdcached
+test "$1" != 0 || /usr/sbin/userdel %rrdcached_user &>/dev/null || :
+#test "$1" != 0 || /usr/sbin/groupdel %rrdcached_user &>/dev/null || :
+
%files
%defattr(-,root,root,-)
%{_bindir}/*
%files
%defattr(-,root,root,-)
%{_bindir}/*
+%exclude %{_bindir}/rrdcached
%{_libdir}/*.so.*
%{_datadir}/%{name}
%{_mandir}/man1/*
%{_libdir}/*.so.*
%{_datadir}/%{name}
%{_mandir}/man1/*
+%exclude %{_mandir}/man1/rrdcached*
%files devel
%defattr(-,root,root,-)
%files devel
%defattr(-,root,root,-)
%{_mandir}/man3/*
%{perl_vendorarch}/*.pm
%attr(0755,root,root) %{perl_vendorarch}/auto/RRDs/
%{_mandir}/man3/*
%{perl_vendorarch}/*.pm
%attr(0755,root,root) %{perl_vendorarch}/auto/RRDs/
+%{perl_vendorlib}/*.pm
%if %{with_python}
%files python
%if %{with_python}
%files python
%{ruby_sitearch}/RRD.so
%endif
%{ruby_sitearch}/RRD.so
%endif
+%if %{with_lua}
+%files lua
+%defattr(-,root,root,-)
+%{_libdir}/lua/%{lua_version}/rrd.*
+%endif
+
+%files cached
+%{_bindir}/rrdcached
+%config %{_sysconfdir}/default/*
+%config %{_sysconfdir}/rc.d/init.d/*
+%{_mandir}/man1/rrdcached*
+%attr(0775 %rrdcached_user %rrdcached_user) %dir %{_localstatedir}/run/rrdcached
+
%changelog
%changelog
+* Tue Jan 25 2011 Bernard Li <bernard@vanhpc.org>
+- Reset Release to 1
+- Add -lua subpackage
+- Fix -perl subpackage so it includes the correct Perl package paths
+
+* Wed Oct 08 2008 Bernard Li <bernard@vanhpc.org>
+- Split rrdcached related files to -cached subpackage
+- Create rrdcached user and make rrdcached related files owned by it
+
+* Tue Oct 07 2008 Bernard Li <bernard@vanhpc.org>
+- Include librrd.pc file in -devel package
+
* Sun Jun 08 2008 Jarod Wilson <jwilson@redhat.com> 1.3-0.20.rc9
- Update to rrdtool 1.3 rc9
- Minor spec tweaks to permit building on older EL
* Sun Jun 08 2008 Jarod Wilson <jwilson@redhat.com> 1.3-0.20.rc9
- Update to rrdtool 1.3 rc9
- Minor spec tweaks to permit building on older EL