+#
+## TODO:
+# - separate package with rrdcached (init script, systemd file, etc)
+#
+# Conditional build:
+%bcond_without python # Python binding
+%bcond_without tcl # Tcl binding
+%bcond_without ruby # Ruby binding
+#
%include /usr/lib/rpm/macros.perl
%define pdir RRDp
Summary: RRDtool - round robin database
Summary(ru.UTF-8): RRDtool - база данных с "циклическим обновлением"
Summary(uk.UTF-8): RRDtool - це система зберігання та показу серійних даних
Name: rrdtool
-Version: 1.2.18
-Release: 1
-License: GPL
+Version: 1.4.5
+Release: 4
+License: GPL v2+ + FLOSS exception
Group: Applications/Databases
Source0: http://oss.oetiker.ch/rrdtool/pub/%{name}-%{version}.tar.gz
-# Source0-md5: 0c116d031275b7e0da1f8326d52d097d
+# Source0-md5: 4d116dba9a0888d8aaac179e35d3980a
Patch0: %{name}-tcl-path.patch
-URL: http://oss.oetiker.ch/rrdtool/
-BuildRequires: autoconf
+URL: http://oss.oetiker.ch/rrdtool/
+BuildRequires: autoconf >= 2.60
BuildRequires: automake
-BuildRequires: freetype-devel >= 2.1.7
-BuildRequires: libart_lgpl-devel >= 2.3.17
-BuildRequires: libpng-devel >= 2:1.2.8
+BuildRequires: cairo-devel >= 1.4.6
+BuildRequires: gettext-devel >= 0.18
+BuildRequires: glib2-devel >= 1:2.12.12
+BuildRequires: intltool
+BuildRequires: libdbi-devel
+BuildRequires: libtool
+BuildRequires: libxml2-devel >= 2.6.31
+BuildRequires: lua51 >= 5.1
+BuildRequires: lua51-devel >= 5.1
+BuildRequires: pango-devel >= 1:1.17
BuildRequires: perl-devel >= 1:5.8.0
BuildRequires: pkgconfig
-BuildRequires: python
-BuildRequires: python-devel
+%if %{with python}
+BuildRequires: python >= 2.3
+BuildRequires: python-devel >= 2.3
+%endif
BuildRequires: rpm-perlprov
BuildRequires: rpm-pythonprov
-BuildRequires: tcl-devel
-BuildRequires: zlib-devel >= 1.2.1
-Requires: libart_lgpl >= 2.3.17
-Requires: libpng >= 1.2.8
-Requires: zlib >= 1.2.1
+BuildRequires: rpmbuild(macros) >= 1.272
+%{?with_ruby:BuildRequires: ruby-devel}
+%{?with_tcl:BuildRequires: tcl-devel}
+Requires: cairo >= 1.4.6
+Requires: glib2 >= 1:2.12.12
+Requires: libxml2 >= 2.6.31
+Requires: pango >= 1:1.17
+Suggests: fonts-TTF-DejaVu
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(uk.UTF-8): RRDtool - бібліотечні лінки та файли хедерів
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: cgilibc-devel >= 0.5
-Requires: freetype-devel >= 2.1.7
-Requires: libart_lgpl-devel >= 2.3.17
-Requires: libpng-devel >= 2:1.2.8
-Requires: zlib-devel >= 1.2.1
+Requires: cairo-devel >= 1.4.6
+Requires: glib2-devel >= 1:2.12.12
+Requires: libdbi-devel
+Requires: libxml2-devel >= 2.6.31
+Requires: pango-devel >= 1:1.17
%description devel
RRDtool development files.
%description static -l uk.UTF-8
Статичні бібліотеки для розробки програм, що використовують RRDtool.
+%package -n lua-rrdtool
+Summary: RRD module for Lua
+Summary(pl.UTF-8): Moduł RRD dla języka Lua
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: lua51
+
+%description -n lua-rrdtool
+Lua interface to RRDtool.
+
+%description -n lua-rrdtool -l pl.UTF-8
+Interfejs języka Lua do RRDtoola.
+
%package -n perl-rrdtool
Summary: Access RRDtool from Perl
Summary(pl.UTF-8): Dostęp do RRDtoola z poziomu Perla
Interfejs Pythona do RRDtoola - narzędzia do tworzenia wykresów i
logowania.
+%package -n ruby-rrdtool
+Summary: Ruby interface to RRDtool
+Summary(pl.UTF-8): Interfejs języka Ruby do RRDtoola
+Group: Development/Languages/Python
+Requires: %{name} = %{version}-%{release}
+%{?ruby_mod_ver_requires_eq}
+
+%description -n ruby-rrdtool
+Ruby interface to RRDtool, the graphing and logging utility.
+
+%description -n ruby-rrdtool -l pl.UTF-8
+Interfejs języka Ruby do RRDtoola - narzędzia do tworzenia wykresów i
+logowania.
+
%package -n tcl-rrdtool
Summary: Tcl extension to access the RRD library
Summary(pl.UTF-8): Rozszerzenie Tcl-a pozwalające na dostęp do biblioteki Tcl
%setup -q
%patch0 -p1
+sed -i -e 's#\$TCL_PACKAGE_PATH#%{_prefix}/lib#g' configure.ac
+sed -i -e 's#/lib/lua/#/%{_lib}/lua/#g' configure.ac
+
%build
-%{__aclocal}
+%{__libtoolize}
+%{__aclocal} -I m4
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
- --enable-latin2 \
- --with-perl=%{__perl} \
+ LUA=/usr/bin/lua51 \
+ --disable-silent-rules \
+ %{!?with_tcl:--disable-tcl} \
+ %{!?with_ruby:--disable-ruby} \
--with-perl-options="INSTALLDIRS=vendor"
-%{__make}
+# empty RUBY_MAKE_OPTIONS as workaround for some make weirdness
+# (tried to install without DESTDIR on plain make)
+%{__make} \
+ RUBY_MAKE_OPTIONS= \
+ LUA_CFLAGS=-I/usr/include/lua51
%install
rm -rf $RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT \
perl_sitearch=%{perl_vendorarch} \
pythondir=%{py_sitedir} \
- examplesdir=%{_examplesdir}/%{name}-%{version}
+ examplesdir=%{_examplesdir}/%{name}-%{version} \
+ RUBYARCHDIR=$RPM_BUILD_ROOT%{ruby_archdir}
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/5.1/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RRDs/.packlist
-rm -rf $RPM_BUILD_ROOT%{_prefix}/{doc,html}
-rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/ntmake.pl
-rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RRDs/.packlist
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/librrd.la
%clean
rm -rf $RPM_BUILD_ROOT
%doc CHANGES CONTRIBUTORS NEWS README THREADS TODO doc/*.html
%attr(755,root,root) %{_bindir}/rrd*
%attr(755,root,root) %{_libdir}/librrd.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/librrd.so.4
%attr(755,root,root) %{_libdir}/librrd_th.so.*.*.*
-%{_datadir}/rrdtool
-%{_mandir}/man1/*
+%attr(755,root,root) %ghost %{_libdir}/librrd_th.so.4
+%{_mandir}/man1/bin_dec_hex.1*
+%{_mandir}/man1/cdeftutorial.1*
+%{_mandir}/man1/rpntutorial.1*
+%{_mandir}/man1/rrd*.1*
%files devel
%defattr(644,root,root,755)
-%{_libdir}/librrd.so
-%{_libdir}/librrd_th.so
-%{_libdir}/librrd.la
+%attr(755,root,root) %{_libdir}/librrd.so
+%attr(755,root,root) %{_libdir}/librrd_th.so
%{_libdir}/librrd_th.la
-%{_includedir}/rrd.h
+%{_includedir}/rrd*.h
+%{_pkgconfigdir}/librrd.pc
%{_examplesdir}/%{name}-%{version}
+%{_mandir}/man3/librrd.3*
%files static
%defattr(644,root,root,755)
%{_libdir}/librrd.a
%{_libdir}/librrd_th.a
+%files -n lua-rrdtool
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lua/5.1/rrd.so*
+
%files -n perl-rrdtool
%defattr(644,root,root,755)
%{perl_vendorlib}/RRDp.pm
%{_mandir}/man3/RRDp.3*
%{_mandir}/man3/RRDs.3*
+%if %{with python}
%files -n python-rrdtool
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/rrdtoolmodule.so
+%if "%{py_ver}" > "2.4"
+%{py_sitedir}/py_rrdtool-*.egg-info
+%endif
+%endif
+
+%if %{with ruby}
+%files -n ruby-rrdtool
+%defattr(644,root,root,755)
+%attr(755,root,root) %{ruby_archdir}/RRD.so
+%endif
+%if %{with tcl}
%files -n tcl-rrdtool
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/tclrrd%{version}.so
%{_prefix}/lib/tclrrd%{version}
+%endif