Tue, 28 Aug 2012 18:36:35 +0200
Correct the paths of patched scripts, refine password generation,
mitigate fdatasync(2) detection problems, correct dependencies, remove
outdated autoconf components, correct conf file paths and attributes,
complete and correct log file rotation handing, and note warnings
useful for diagnosing builds.
1 ##
2 ## rrdtool.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2012 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.4.7
26 %define V_rrdtool_oo 0.32
27 %define V_rrdtool_creator 1.0
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: 20120800
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 BuildPreReq: OpenPKG, openpkg >= 20100101, gcc, make, pkgconfig, perl-openpkg >= 5.8.3-20040126, perl-module, intltool
56 PreReq: OpenPKG, openpkg >= 20100101
57 BuildPreReq: png, zlib, freetype, pango, cairo, libxml
58 PreReq: png, zlib, freetype, pango, cairo, libxml
59 %if "%{with_perl}" == "yes"
60 BuildPreReq: perl
61 PreReq: perl
62 %endif
63 %if "%{with_python}" == "yes"
64 BuildPreReq: python
65 PreReq: python
66 %endif
68 %description
69 RRD is the Acronym for Round Robin Database. RRD is a system
70 to store and display time-series data (i.e. network bandwidth,
71 machine-room temperature, server load average). It stores the
72 data in a very compact way that will not expand over time, and it
73 presents useful graphs by processing the data to enforce a certain
74 data density. It can be used either via simple wrapper scripts (from
75 shell or Perl) or via frontends that poll network devices and put a
76 friendly user interface on it.
78 %track
79 prog rrdtool = {
80 version = %{V_rrdtool}
81 url = http://oss.oetiker.ch/rrdtool/pub/
82 regex = rrdtool-(__VER__)\.tar\.gz
83 }
84 prog rrdtool:RRDTool-OO = {
85 version = %{V_rrdtool_oo}
86 url = http://www.cpan.org/authors/id/M/MS/MSCHILLI/
87 regex = RRDTool-OO-(__VER__)\.tar\.gz
88 }
89 prog rrdtool:RRDTool-Creator = {
90 version = %{V_rrdtool_creator}
91 url = http://www.cpan.org/authors/id/J/JA/JACQUELIN/
92 regex = RRDTool-Creator-(__VER__)\.tar\.gz
93 }
94 prog rrdtool:RRD-Simple = {
95 version = %{V_rrd_simple}
96 url = http://www.cpan.org/authors/id/N/NI/NICOLAW/
97 regex = RRD-Simple-(__VER__)\.tar\.gz
98 }
100 %prep
101 %setup -q
102 %setup -q -D -T -a 1
103 %setup -q -D -T -a 2
104 %setup -q -D -T -a 3
105 %patch -p0
106 rm -f bindings/perl-shared/ntmake.pl
107 rm -rf RRDTool-Creator-*/_build
108 %{l_shtool} subst \
109 -e 's;-lglib2;-lglib;g' \
110 configure
111 %{l_shtool} subst \
112 -e 's;glib2/glib\.h;glib/glib.h;' \
113 src/rrd_daemon.c
115 %build
116 # configure package
117 echo "ac_cv_path_PERL=no" >config.cache
118 CC="%{l_cc}" \
119 CPPFLAGS="%{l_cppflags}" \
120 CFLAGS="%{l_cflags -O}" \
121 LDLAGS="%{l_ldflags}" \
122 LIBS="`pkg-config pangocairo --libs`" \
123 ./configure \
124 --cache-file=./config.cache \
125 --prefix=%{l_prefix} \
126 --mandir=%{l_prefix}/man \
127 %if "%{with_python}" == "yes"
128 --enable-python \
129 %else
130 --disable-python \
131 %endif
132 --disable-tcl \
133 --disable-ruby \
134 --disable-shared \
135 --disable-nls \
136 --enable-rrdcgi
138 # build package
139 %{l_make} %{l_mflags}
141 # build Perl part
142 %if "%{with_perl}" == "yes"
143 %{l_prefix}/bin/perl-openpkg prepare
144 %{l_prefix}/bin/perl-openpkg -d bindings/perl-piped configure build
145 %{l_prefix}/bin/perl-openpkg -d bindings/perl-shared configure build
146 %{l_prefix}/bin/perl-openpkg -d RRDTool-OO-%{V_rrdtool_oo} configure build
147 %{l_prefix}/bin/perl-openpkg -d RRDTool-Creator-%{V_rrdtool_creator} configure build
148 %{l_prefix}/bin/perl-openpkg -d RRD-Simple-%{V_rrd_simple} configure build
149 %endif
151 %install
153 # install package
154 %{l_shtool} subst \
155 -e 's/^\(install-data-am:\).*/\1/' \
156 Makefile
157 %{l_make} %{l_mflags} install \
158 DESTDIR=$RPM_BUILD_ROOT AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
160 # install Perl part
161 %if "%{with_perl}" == "yes"
162 %{l_prefix}/bin/perl-openpkg -d bindings/perl-piped install
163 %{l_prefix}/bin/perl-openpkg -d bindings/perl-shared install
164 %{l_prefix}/bin/perl-openpkg -d RRDTool-OO-%{V_rrdtool_oo} install
165 %{l_prefix}/bin/perl-openpkg -d RRDTool-Creator-%{V_rrdtool_creator} install
166 %{l_prefix}/bin/perl-openpkg -d RRD-Simple-%{V_rrd_simple} install
167 %endif
169 # strip down installation hierarchy
170 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
171 %if "%{with_python}" == "no"
172 rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/python
173 %endif
174 rm -rf $RPM_BUILD_ROOT%{l_prefix}/rrdtool-*
175 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/rrdtutorial.es.1
176 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale
177 strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true
179 # post-process Perl part
180 %if "%{with_perl}" == "yes"
181 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
182 %else
183 >perl-openpkg-files
184 %endif
186 # determine installation files
187 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
188 %{l_files_std} `cat perl-openpkg-files`
190 %files -f files
192 %clean