20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
21 ## SUCH DAMAGE. |
21 ## SUCH DAMAGE. |
22 ## |
22 ## |
23 |
23 |
24 # package versions |
24 # package versions |
25 %define V_memcached 1.4.6 |
25 %define V_memcached 1.4.14 |
26 %define V_libmemcached 0.48 |
26 %define V_libmemcached 1.0.10 |
27 %define V_cache_memcached 1.28 |
27 %define V_cache_memcached 1.28 |
28 |
28 |
29 # package information |
29 # package information |
30 Name: memcached |
30 Name: memcached |
31 Summary: Memory Caching Daemon |
31 Summary: Memory Caching Daemon |
35 Distribution: OpenPKG Community |
35 Distribution: OpenPKG Community |
36 Class: EVAL |
36 Class: EVAL |
37 Group: System |
37 Group: System |
38 License: GPL |
38 License: GPL |
39 Version: %{V_memcached} |
39 Version: %{V_memcached} |
40 Release: 20110914 |
40 Release: 20120800 |
41 |
41 |
42 # list of sources |
42 # list of sources |
43 Source0: http://memcached.googlecode.com/files/memcached-%{V_memcached}.tar.gz |
43 Source0: http://memcached.googlecode.com/files/memcached-%{V_memcached}.tar.gz |
44 Source1: http://download.tangent.org/libmemcached-%{V_libmemcached}.tar.gz |
44 Source1: http://download.tangent.org/libmemcached-%{V_libmemcached}.tar.gz |
45 Source2: http://www.cpan.org/authors/id/B/BR/BRADFITZ/Cache-Memcached-%{V_cache_memcached}.tar.gz |
45 Source2: http://www.cpan.org/authors/id/B/BR/BRADFITZ/Cache-Memcached-%{V_cache_memcached}.tar.gz |
46 Source3: rc.memcached |
46 Source3: rc.memcached |
47 Patch0: memcached.patch |
47 Patch0: memcached.patch |
48 |
48 |
49 # build information |
49 # build information |
50 Prefix: %{l_prefix} |
50 BuildPreReq: OpenPKG, openpkg >= 20100101, gcc, make, perl, perl-openpkg |
51 BuildRoot: %{l_buildroot} |
51 PreReq: OpenPKG, openpkg >= 20100101 |
52 BuildPreReq: OpenPKG, openpkg >= 20060823, gcc, make, perl, perl-openpkg |
52 BuildPreReq: libevent, sasl, libexecinfo |
53 PreReq: OpenPKG, openpkg >= 20060823 |
53 PreReq: libevent, sasl, libexecinfo |
54 BuildPreReq: libevent, sasl |
|
55 PreReq: libevent, sasl |
|
56 AutoReq: no |
|
57 AutoReqProv: no |
|
58 |
54 |
59 %description |
55 %description |
60 Memcached is a high-performance, distributed memory object caching |
56 Memcached is a high performance, distributed memory object caching |
61 system, generic in nature, but intended for use in speeding up |
57 system, generic in nature, but intended for use in speeding up |
62 dynamic web applications by alleviating database load. Additionally, |
58 dynamic web applications by alleviating database load. Additionally, |
63 this package contains Perl and C client APIs to memcached. |
59 this package contains Perl and C client APIs to memcached. |
64 |
60 |
65 %track |
61 %track |
112 %{l_make} %{l_mflags -O} |
111 %{l_make} %{l_mflags -O} |
113 ) || exit $? |
112 ) || exit $? |
114 |
113 |
115 # build C client API |
114 # build C client API |
116 ( cd libmemcached-%{V_libmemcached} |
115 ( cd libmemcached-%{V_libmemcached} |
|
116 ( echo "ac_cv_func_malloc_0_nonnull=yes" |
|
117 echo "ac_cv_func_realloc_0_nonnull=yes" |
|
118 echo "ac_cv_env_CXXFLAGS_set=barf" |
|
119 echo "ac_cv_env_CFLAGS_set=barf" |
|
120 echo "ac_cv_header_priv_h=no" |
|
121 echo "ac_cv_header_umem_h=no" |
|
122 ) >config.cache |
117 CC="%{l_cc}" \ |
123 CC="%{l_cc}" \ |
118 CFLAGS="%{l_cflags -O}" \ |
124 CFLAGS="%{l_cflags -O}" \ |
119 CPPFLAGS="%{l_cppflags}" \ |
125 CPPFLAGS="%{l_cppflags}" \ |
120 LDFLAGS="%{l_ldflags}" \ |
126 LDFLAGS="%{l_ldflags}" \ |
121 ./configure \ |
127 ./configure \ |
|
128 --cache-file=./config.cache \ |
122 --prefix=%{l_prefix} \ |
129 --prefix=%{l_prefix} \ |
123 --mandir=%{l_prefix}/man \ |
130 --mandir=%{l_prefix}/man \ |
124 --without-memcached \ |
131 --without-memcached \ |
125 --enable-libevent \ |
132 --enable-libevent \ |
126 --with-libevent-prefix=%{l_prefix} \ |
133 --with-libevent-prefix=%{l_prefix} \ |
134 # build Perl client API |
141 # build Perl client API |
135 %{l_prefix}/bin/perl-openpkg prepare |
142 %{l_prefix}/bin/perl-openpkg prepare |
136 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} configure build |
143 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} configure build |
137 |
144 |
138 %install |
145 %install |
139 # remove build cruft |
|
140 rm -rf $RPM_BUILD_ROOT |
|
141 |
|
142 # install daemon |
146 # install daemon |
143 ( cd memcached-%{V_memcached} |
147 ( cd memcached-%{V_memcached} |
144 %{l_shtool} mkdir -f -p -m 775 \ |
148 %{l_shtool} mkdir -f -p -m 775 \ |
145 $RPM_BUILD_ROOT%{l_prefix}/bin \ |
149 $RPM_BUILD_ROOT%{l_prefix}/bin \ |
146 $RPM_BUILD_ROOT%{l_prefix}/man/man1 |
150 $RPM_BUILD_ROOT%{l_prefix}/man/man1 |
150 doc/memcached.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ |
154 doc/memcached.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ |
151 ) || exit $? |
155 ) || exit $? |
152 |
156 |
153 # install C client API |
157 # install C client API |
154 ( cd libmemcached-%{V_libmemcached} |
158 ( cd libmemcached-%{V_libmemcached} |
155 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" |
159 %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT" |
|
160 ) || exit $? |
|
161 |
|
162 # correct header names and references |
|
163 ( cd $RPM_BUILD_ROOT%{l_prefix}/include |
|
164 mv libmemcachedutil-[0-9]* libmemcachedutil |
|
165 mv libmemcachedprotocol-[0-9]* libmemcachedprotocol |
|
166 rm -rf libhashkit && mv libhashkit-[0-9]* libhashkit |
|
167 rm -rf libmemcached && mv libmemcached-[0-9]* libmemcached |
|
168 find . -type f -print | xargs %{l_shtool} subst \ |
|
169 -e 's;\(#include <lib[^\-][^\-]*\)-[0-9\.][0-9\.]*;\1;g' |
156 ) || exit $? |
170 ) || exit $? |
157 |
171 |
158 # install Perl client API |
172 # install Perl client API |
159 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} install |
173 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} install |
160 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup |
174 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup |
161 |
175 |
162 # install daemon run-command script |
176 # install daemon runcommand script |
163 %{l_shtool} mkdir -f -p -m 755 \ |
177 %{l_shtool} mkdir -f -p -m 755 \ |
164 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
178 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
165 %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
179 %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
166 %{SOURCE rc.memcached} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
180 %{SOURCE rc.memcached} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
167 |
181 |
168 # install daemon run-command script |
182 # create directory hierarchy for daemon |
169 %{l_shtool} mkdir -f -p -m 755 \ |
183 %{l_shtool} mkdir -f -p -m 755 \ |
170 $RPM_BUILD_ROOT%{l_prefix}/var/memcached |
184 $RPM_BUILD_ROOT%{l_prefix}/var/memcached |
171 |
185 |
172 # determine installation files |
186 # determine installation files |
173 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
187 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
175 '%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/memcached' |
189 '%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/memcached' |
176 |
190 |
177 %files -f files |
191 %files -f files |
178 |
192 |
179 %clean |
193 %clean |
180 rm -rf $RPM_BUILD_ROOT |
|
181 |
194 |
182 %post |
195 %post |
183 # after upgrade, restart service |
196 # after upgrade, restart service |
184 [ $1 -eq 2 ] || exit 0 |
197 [ $1 -eq 2 ] || exit 0 |
185 eval `%{l_rc} memcached status 2>/dev/null` |
198 eval `%{l_rc} memcached status 2>/dev/null` |