new trunk based on current 1.2
[rrdtool.git] / rrdtool.spec
index 25a5c45..97871d1 100644 (file)
-%define cvsdate cvs-snap
-%define cvsver %(echo %{cvsdate} | tr -d -)
-%define sover 1.0.0
-
-Summary: Round Robin Database Tools
+Summary: Round Robin Database Tool to store and display time-series data
 Name: rrdtool
-Version: 1.2rc4
-Release: %{cvsver}
+Version: 1.2.23
+Release: 3%{?dist}
 License: GPL
 Group: Applications/Databases
-Source: http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/beta/rrdtool-1.2rc1.tar.gz
-URL: http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
-Buildroot: /tmp/%{name}-root
+URL: http://oss.oetiker.ch/%{name}/
+Source: http://oss.oetiker.ch/%{name}/pub/%{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: gcc-c++, openssl-devel
+BuildRequires: libpng-devel, zlib-devel, libart_lgpl-devel >= 2.0
+BuildRequires: freetype-devel, python-devel >= 2.3
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 
-BuildRequires: perl
-BuildRequires: cgilib-devel
-BuildRequires: freetype-devel libart_lgpl-devel libpng-devel zlib-devel
+%{!?python_sitearch: %define python_sitearch %(%{__python} -c 'from distutils import sysconfig; print sysconfig.get_python_lib(1)')}
+%{!?python_version: %define python_version %(%{__python} -c 'import sys; print sys.version.split(" ")[0]')}
 
 %description
-It is pretty easy to gather status information from all sorts of things,
-ranging from the temperature in your office to the number of octets which
-have passed through the FDDI interface of your router. But it is not so
-trivial to store this data in a efficient and systematic manner. This is
-where RRDtool kicks in. It lets you log and analyze the data you gather from
-all kinds of data-sources (DS). The data analysis part of RRDtool is based
-on the ability to quickly generate graphical representations of the data
-values collected over a definable time period.
+RRD is the Acronym for Round Robin Database. RRD is a system to store and
+display time-series data (i.e. network bandwidth, machine-room temperature,
+server load average). It stores the data in a very compact way that will not
+expand over time, and it presents useful graphs by processing the data to
+enforce a certain data density. It can be used either via simple wrapper
+scripts (from shell or Perl) or via frontends that poll network devices and
+put a friendly user interface on it.
 
 %package devel
-Summary: RRD Tool development libraries and header files
+Summary: RRDtool libraries and header files
 Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
 
 %description devel
-The RRD Tools development library.
+RRD is the Acronym for Round Robin Database. RRD is a system to store and
+display time-series data (i.e. network bandwidth, machine-room temperature,
+server load average). This package allow you to use directly this library.
 
-%package perl
-Summary: RRD Tool Perl interface
-Group: Applications/Databases
-Requires: %{name} = %{version}
+%package doc
+Summary: RRDtool documentation
+Group: Documentation
+
+%description doc
+RRD is the Acronym for Round Robin Database. RRD is a system to store and
+display time-series data (i.e. network bandwidth, machine-room temperature,
+server load average). This package contains documentation on using RRD.
+
+%package -n perl-%{name}
+Summary: Perl RRDtool bindings
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Obsoletes: %{name}-perl <= %{version}
+Provides: %{name}-perl = %{version}
 
-%description perl
-The RRD Tools Perl modules.
+%description -n perl-%{name}
+The Perl RRDtool bindings
+
+%package -n python-%{name}
+Summary: Python RRDtool bindings
+Group: Development/Languages
+BuildRequires: python
+Requires: python >= %{python_version}
+Requires: %{name} = %{version}-%{release}
+
+%description -n python-%{name}
+Python RRDtool bindings.
 
 %prep
-%setup -q -n rrdtool-%{cvsdate}
+%setup
+
+# Fix to find correct python dir on lib64
+%{__perl} -pi -e 's|get_python_lib\(0,0,prefix|get_python_lib\(1,0,prefix|g' \
+    configure
 
-%define deffont %{_datadir}/%{name}/fonts/VeraMono.ttf
+# Shouldn't be necessary when using --libdir, but
+# introduces hardcoded rpaths where it shouldn't,
+# if not done...
+%{__perl} -pi.orig -e 's|/lib\b|/%{_lib}|g' \
+    configure Makefile.in
 
 %build
-CPPFLAGS="-I/usr/include/libart-2.0 -I/usr/include/freetype2"
-export CPPFLAGS
-%configure
-make
+%configure \
+    --program-prefix="%{?_program_prefix}" \
+    --libdir=%{_libdir} \
+    --disable-static \
+    --with-pic \
+    --with-perl-options='INSTALLDIRS="vendor"'
+
+# Fix another rpath issue
+%{__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}
+
+# Fix @perl@ and @PERL@
+find examples/ -type f \
+    -exec %{__perl} -pi -e 's|^#! \@perl\@|#!%{__perl}|gi' {} \;
+find examples/ -name "*.pl" \
+    -exec %{__perl} -pi -e 's|\015||gi' {} \;
 
 %install
-rm -rf %{buildroot}
-%makeinstall
-
-# Install the font
-mkdir -p %{buildroot}%{_datadir}/fonts
-install -m 644 src/VeraMono.ttf %{buildroot}%{deffont}
-
-# Fix up the documentation
-[ -d docs ] && mv docs docs.src
-mv %{buildroot}/usr/doc docs
-rm -f docs/*.pod
-[ -d examples ] && mv examples examples.src
-mv %{buildroot}/usr/examples examples
-[ -d html ] && mv html html.src
-mv %{buildroot}/usr/html html
-
-# Fix up the perl
-%define perlsite %(perl -MConfig -e 'print $Config{"installsitearch"}')
-mkdir -p %{buildroot}%{perlsite}
-mv %{buildroot}%{_libdir}/perl/* %{buildroot}%{perlsite}
-rmdir %{buildroot}%{_libdir}/perl
-rm -f %{buildroot}/%{perlsite}/auto/RRDs/RRDs.bs
-
-# Fix up the man pages
-if [ "%{_mandir}" != "/usr/share/man" ]; then
-       mkdir -p %{buildroot}%{_mandir}
-       mv %{buildroot}/usr/man/* %{buildroot}%{_mandir}/
-fi
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR="$RPM_BUILD_ROOT" install
+
+# Pesky RRDp.pm...
+%{__mv} $RPM_BUILD_ROOT%{perl_vendorarch}/../RRDp.pm $RPM_BUILD_ROOT%{perl_vendorarch}/
+
+# We only want .txt and .html files for the main documentation
+%{__mkdir_p} doc2/html doc2/txt
+%{__cp} -a doc/*.txt doc2/txt/
+%{__cp} -a doc/*.html doc2/html/
+
+# Put perl docs in perl package
+%{__mkdir_p} doc3/html
+%{__mv} doc2/html/RRD*.html doc3/html/
+
+# Clean up the examples
+%{__rm} -f examples/Makefile* examples/*.in
+
+# This is so rpm doesn't pick up perl module dependencies automatically
+find examples/ -type f -exec chmod 0644 {} \;
+
+# Clean up the buildroot
+%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}/{txt,html}/ \
+       $RPM_BUILD_ROOT%{perl_vendorarch}/ntmake.pl \
+       $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \
+        $RPM_BUILD_ROOT%{_datadir}/%{name}/examples \
+        $RPM_BUILD_ROOT%{perl_vendorarch}/auto/*/{.packlist,*.bs}
 
 %clean
-rm -rf %{buildroot}
+%{__rm} -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
 
 %files
-%defattr (-, root, root)
-%doc 00README CONTRIBUTORS COPYING COPYRIGHT NEWS PROJECTS
-%doc README THREADS TODO
-%doc docs/[a-z]* html/[a-z]*
-%doc examples/*.cgi
-%{_bindir}/rrdcgi
-%{_bindir}/rrdtool
-%{_bindir}/rrdupdate
-%{_libdir}/librrd.so.%{sover}
-%{_libdir}/librrd_th.so.%{sover}
-%{_mandir}/man1/[a-z]*
-%{deffont}
+%{_bindir}/*
+%{_libdir}/*.so.*
+%{_libdir}/rrdtool/*
+%{_datadir}/%{name}/fonts/*
+%{_mandir}/man1/*
 
 %files devel
-%defattr (-, root, root)
-%{_includedir}/rrd.h
-%{_libdir}/librrd.a
-%{_libdir}/librrd.la
-%{_libdir}/librrd.so
-%{_libdir}/librrd_th.a
-%{_libdir}/librrd_th.la
-%{_libdir}/librrd_th.so
-
-%files perl
-%doc examples/*.pl
-%doc docs/RRD* html/RRD*
-%defattr (-, root, root)
-%{perlsite}/RRDp.pm
-%{perlsite}/RRDs.pm
-%dir %{perlsite}/auto/RRDs
-%{perlsite}/auto/RRDs/RRDs.so
-%{_mandir}/man1/RRDp.1*
-%{_mandir}/man1/RRDs.1*
+%defattr(-,root,root,-)
+%{_includedir}/*.h
+%exclude %{_libdir}/*.la
+%{_libdir}/*.so
+
+%files doc
+%defattr(-,root,root,-)
+%doc CHANGES CONTRIBUTORS COPYING COPYRIGHT README TODO NEWS THREADS doc2/html doc2/txt
+%doc examples
+
+%files -n perl-%{name}
+%defattr(-,root,root,-)
+%doc doc3/html
+%{_mandir}/man3/*
+%{perl_vendorarch}/*.pm
+%attr(0755,root,root) %{perl_vendorarch}/auto/RRDs/*
+
+%files -n python-%{name}
+%defattr(-,root,root,-)
+%doc bindings/python/AUTHORS bindings/python/COPYING bindings/python/README
+%{python_sitearch}/rrdtoolmodule.so
 
 %changelog
-* Wed May 26 2004 Mike Slifcak <slif@bellsouth.net> 1.1.0-0.1.20040526
-- package examples with rrdtool-perl (decouple Perl from main package)
-* Thu Apr 29 2004 Chris Adams <cmadams@hiwaay.net> 1.1.0-0.1.20040430
-- initial build
+* Mon Jun 05 2006 Jarod Wilson <jwilson@redhat.com> 1.2.13-3
+- Merge spec fixes from bz 185909
+
+* Sun Jun 04 2006 Jarod Wilson <jwilson@redhat.com> 1.2.13-2
+- Remove explicit perl dep, version grabbing using rpm during
+  rpmbuild not guaranteed to work (fails on ppc in plague),
+  and auto-gen perl deps are sufficient
+
+* Sat Jun 03 2006 Jarod Wilson <jwilson@redhat.com> 1.2.13-1
+- Update to release 1.2.13
+- Merge spec changes from dag, atrpms and mdk builds
+- Additional hacktastic contortions for lib64 & rpath messiness
+- Add missing post/postun ldconfig
+- Fix a bunch of rpmlint errors
+- Disable static libs, per FE guidelines
+- Split off docs
+
+* Wed Apr 19 2006 Chris Ricker <kaboom@oobleck.net> 1.2.12-1
+- Rev to 1.2
+
+* Fri May 20 2005 Matthias Saou <http://freshrpms.net/> 1.0.49-5
+- Include patch from Michael to fix perl module compilation on FC4 (#156242).
+
+* Fri May 20 2005 Matthias Saou <http://freshrpms.net/> 1.0.49-4
+- Fix for the php module patch (Joe Pruett, Dag Wieers), #156716.
+- Update source URL to new location since 1.2 is now the default stable.
+- Don't (yet) update to 1.0.50, as it introduces some changes in the perl
+  modules install.
+
+* Mon Jan 31 2005 Matthias Saou <http://freshrpms.net/> 1.0.49-3
+- Put perl modules in vendor_perl and not site_perl. #146513
+
+* Thu Jan 13 2005 Matthias Saou <http://freshrpms.net/> 1.0.49-2
+- Minor cleanups.
+
+* Thu Aug 25 2004 Dag Wieers <dag@wieers.com> - 1.0.49-1
+- Updated to release 1.0.49.
+
+* Wed Aug 25 2004 Dag Wieers <dag@wieers.com> - 1.0.48-3
+- Fixes for x86_64. (Garrick Staples)
+
+* Fri Jul  2 2004 Matthias Saou <http://freshrpms.net/> 1.0.48-3
+- Actually apply the patch for fixing the php module, doh!
+
+* Thu May 27 2004 Matthias Saou <http://freshrpms.net/> 1.0.48-2
+- Added php.d config entry to load the module once installed.
+
+* Thu May 13 2004 Dag Wieers <dag@wieers.com> - 1.0.48-1
+- Updated to release 1.0.48.
+
+* Tue Apr 06 2004 Dag Wieers <dag@wieers.com> - 1.0.47-1
+- Updated to release 1.0.47.
+
+* Thu Mar  4 2004 Matthias Saou <http://freshrpms.net/> 1.0.46-2
+- Change the strict dependency on perl to fix problem with the recent
+  update.
+
+* Mon Jan  5 2004 Matthias Saou <http://freshrpms.net/> 1.0.46-1
+- Update to 1.0.46.
+- Use system libpng and zlib instead of bundled ones.
+- Added php-rrdtool sub-package for the php4 module.
+
+* Fri Dec  5 2003 Matthias Saou <http://freshrpms.net/> 1.0.45-4
+- Added epoch to the perl dependency to work with rpm > 4.2.
+- Fixed the %% escaping in the perl dep.
+
+* Mon Nov 17 2003 Matthias Saou <http://freshrpms.net/> 1.0.45-2
+- Rebuild for Fedora Core 1.
+
+* Sun Aug  3 2003 Matthias Saou <http://freshrpms.net/>
+- Update to 1.0.45.
+
+* Wed Apr 16 2003 Matthias Saou <http://freshrpms.net/>
+- Update to 1.0.42.
+
+* Mon Mar 31 2003 Matthias Saou <http://freshrpms.net/>
+- Rebuilt for Red Hat Linux 9.
+
+* Wed Mar  5 2003 Matthias Saou <http://freshrpms.net/>
+- Added explicit perl version dependency.
+
+* Sun Feb 23 2003 Matthias Saou <http://freshrpms.net/>
+- Update to 1.0.41.
+
+* Fri Jan 31 2003 Matthias Saou <http://freshrpms.net/>
+- Update to 1.0.40.
+- Spec file cleanup.
+
+* Fri Jul 05 2002 Henri Gomez <hgomez@users.sourceforge.net>
+- 1.0.39
+
+* Mon Jun 03 2002 Henri Gomez <hgomez@users.sourceforge.net>
+- 1.0.38
+
+* Fri Apr 19 2002 Henri Gomez <hgomez@users.sourceforge.net>
+- 1.0.37
+
+* Tue Mar 12 2002 Henri Gomez <hgomez@users.sourceforge.net>
+- 1.0.34
+- rrdtools include zlib 1.1.4 which fix vulnerabilities in 1.1.3
+