rrdtool/rrdtool.spec

Tue, 29 Mar 2011 19:46:35 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 29 Mar 2011 19:46:35 +0200
changeset 333
4ecfc2416fd8
parent 169
00f30de09998
child 368
603801a09393
permissions
-rw-r--r--

Correct and introduce slightly needed logic, leading to better reliability:
Update bash(1) patch logic, correct several buildconf make location
errors, correct failed bash(1) configure invocation, enable perl(1) to
build with unpathed make(1), patch rpm(1) to correctly link with
internal libdb(3), and lastly unsuscessfully try to reorganize rpm patch
hunks.

     1 ##
     2 ##  rrdtool.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package version
    25 %define       V_rrdtool          1.3.7
    26 %define       V_rrdtool_oo       0.24
    27 %define       V_rrdtool_creator  0.9
    28 %define       V_rrd_simple       1.44
    30 #   package information
    31 Name:         rrdtool
    32 Summary:      Round Robin Database
    33 URL:          http://www.rrdtool.org/
    34 Vendor:       Tobias Oetiker
    35 Packager:     OpenPKG Foundation e.V.
    36 Distribution: OpenPKG Community
    37 Class:        BASE
    38 Group:        Database
    39 License:      LGPL
    40 Version:      %{V_rrdtool}
    41 Release:      20090418
    43 #   package options
    44 %option       with_perl        no
    45 %option       with_python      no
    47 #   list of sources
    48 Source0:      http://oss.oetiker.ch/rrdtool/pub/rrdtool-%{V_rrdtool}.tar.gz
    49 Source1:      http://www.cpan.org/authors/id/M/MS/MSCHILLI/RRDTool-OO-%{V_rrdtool_oo}.tar.gz
    50 Source2:      http://www.cpan.org/authors/id/J/JA/JACQUELIN/RRDTool-Creator-%{V_rrdtool_creator}.tar.gz
    51 Source3:      http://www.cpan.org/authors/id/N/NI/NICOLAW/RRD-Simple-%{V_rrd_simple}.tar.gz
    52 Patch0:       rrdtool.patch
    54 #   build information
    55 Prefix:       %{l_prefix}
    56 BuildRoot:    %{l_buildroot}
    57 BuildPreReq:  OpenPKG, openpkg >= 20040130, gcc, make, pkgconfig, perl-openpkg >= 5.8.3-20040126, perl-module
    58 PreReq:       OpenPKG, openpkg >= 20040130
    59 BuildPreReq:  png, zlib, freetype, pango, cairo, libxml
    60 PreReq:       png, zlib, freetype, pango, cairo, libxml
    61 %if "%{with_perl}" == "yes"
    62 BuildPreReq:  perl, perl-xml::with_libxml = yes, libart
    63 PreReq:       perl, perl-xml::with_libxml = yes, libart
    64 %endif
    65 %if "%{with_python}" == "yes"
    66 BuildPreReq:  python
    67 PreReq:       python
    68 %endif
    69 AutoReq:      no
    70 AutoReqProv:  no
    72 %description
    73     RRD is the Acronym for Round Robin Database. RRD is a system
    74     to store and display time-series data (i.e. network bandwidth,
    75     machine-room temperature, server load average). It stores the
    76     data in a very compact way that will not expand over time, and it
    77     presents useful graphs by processing the data to enforce a certain
    78     data density. It can be used either via simple wrapper scripts (from
    79     shell or Perl) or via frontends that poll network devices and put a
    80     friendly user interface on it.
    82 %track
    83     prog rrdtool = {
    84         version   = %{V_rrdtool}
    85         url       = http://oss.oetiker.ch/rrdtool/pub/
    86         regex     = rrdtool-(__VER__)\.tar\.gz
    87     }
    88     prog rrdtool:RRDTool-OO = {
    89         version   = %{V_rrdtool_oo}
    90         url       = http://www.cpan.org/authors/id/M/MS/MSCHILLI/
    91         regex     = RRDTool-OO-(__VER__)\.tar\.gz
    92     }
    93     prog rrdtool:RRDTool-Creator = {
    94         version   = %{V_rrdtool_creator}
    95         url       = http://www.cpan.org/authors/id/J/JA/JACQUELIN/
    96         regex     = RRDTool-Creator-(__VER__)\.tar\.gz
    97     }
    98     prog rrdtool:RRD-Simple = {
    99         version   = %{V_rrd_simple}
   100         url       = http://www.cpan.org/authors/id/N/NI/NICOLAW/
   101         regex     = RRD-Simple-(__VER__)\.tar\.gz
   102     }
   104 %prep
   105     %setup -q
   106     %setup -q -D -T -a 1
   107     %setup -q -D -T -a 2
   108     %setup -q -D -T -a 3
   109     %patch -p0
   110     %{l_shtool} subst \
   111         -e 's;\-std=c99 *;;g' \
   112         configure
   113     rm -f bindings/perl-shared/ntmake.pl
   114     rm -rf RRDTool-Creator-*/_build
   116 %build
   117     #   configure package
   118     ( echo "ac_cv_path_PERL=no"
   119       echo "ac_cv_have_broken_isfinite=yes"
   120     ) >config.cache
   121     CC="%{l_cc}" \
   122     CPPFLAGS="%{l_cppflags}" \
   123     CFLAGS="%{l_cflags -O}" \
   124     LDLAGS="%{l_ldflags}" \
   125     LIBS="`pkg-config pangocairo --libs`" \
   126     ./configure \
   127         --cache-file=./config.cache \
   128         --prefix=%{l_prefix} \
   129         --mandir=%{l_prefix}/man \
   130 %if "%{with_python}" == "yes"
   131         --enable-python \
   132 %else
   133         --disable-python \
   134 %endif
   135         --disable-tcl \
   136         --disable-ruby \
   137         --disable-shared \
   138         --enable-local-libpng \
   139         --enable-local-zlib \
   140         --enable-rrdcgi
   142     #   build package
   143     %{l_make} %{l_mflags}
   145     #   build Perl part
   146 %if "%{with_perl}" == "yes"
   147     %{l_prefix}/bin/perl-openpkg prepare
   148     %{l_prefix}/bin/perl-openpkg -d bindings/perl-piped  configure build
   149     %{l_prefix}/bin/perl-openpkg -d bindings/perl-shared configure build
   150     %{l_prefix}/bin/perl-openpkg -d RRDTool-OO-%{V_rrdtool_oo} configure build
   151     %{l_prefix}/bin/perl-openpkg -d RRDTool-Creator-%{V_rrdtool_creator} configure build
   152     %{l_prefix}/bin/perl-openpkg -d RRD-Simple-%{V_rrd_simple} configure build
   153 %endif
   155 %install
   156     rm -rf $RPM_BUILD_ROOT
   158     #   install package
   159     %{l_shtool} subst \
   160         -e 's/^\(install-data-am:\).*/\1/' \
   161         Makefile
   162     %{l_make} %{l_mflags} install \
   163         DESTDIR=$RPM_BUILD_ROOT AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
   165     #   install Perl part
   166 %if "%{with_perl}" == "yes"
   167     %{l_prefix}/bin/perl-openpkg -d bindings/perl-piped  install
   168     %{l_prefix}/bin/perl-openpkg -d bindings/perl-shared install
   169     %{l_prefix}/bin/perl-openpkg -d RRDTool-OO-%{V_rrdtool_oo} install
   170     %{l_prefix}/bin/perl-openpkg -d RRDTool-Creator-%{V_rrdtool_creator} install
   171     %{l_prefix}/bin/perl-openpkg -d RRD-Simple-%{V_rrd_simple} install
   172 %endif
   174     #   strip down installation hierarchy
   175     rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
   176 %if "%{with_python}" == "no"
   177     rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/python
   178 %endif
   179     rm -rf $RPM_BUILD_ROOT%{l_prefix}/rrdtool-*
   180     rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/rrdtutorial.es.1
   181     rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale
   182     strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true
   184     #   post-process Perl part
   185 %if "%{with_perl}" == "yes"
   186     %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
   187 %else
   188     >perl-openpkg-files
   189 %endif
   191     #   determine installation files
   192     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
   193         %{l_files_std} `cat perl-openpkg-files`
   195 %files -f files
   197 %clean
   198     rm -rf $RPM_BUILD_ROOT

mercurial