memcached.spec 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. ##
  2. ## memcached.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # package versions
  26. %define V_memcached 1.1.11
  27. %define V_libmemcache 1.0.2
  28. %define V_cache_memcached 1.14
  29. # package information
  30. Name: memcached
  31. Summary: Memory Caching Daemon
  32. URL: http://www.danga.com/memcached/
  33. Vendor: Brad Fitzpatrick
  34. Packager: The OpenPKG Project
  35. Distribution: OpenPKG
  36. Class: EVAL
  37. Group: System
  38. License: GPL
  39. Version: 1.1.11
  40. Release: 20041208
  41. # list of sources
  42. Source0: http://www.danga.com/memcached/dist/memcached-%{V_memcached}.tar.gz
  43. Source1: http://www.danga.com/memcached/dist/Cache-Memcached-%{V_cache_memcached}.tar.gz
  44. Source2: http://people.freebsd.org/~seanc/libmemcache/libmemcache-%{V_libmemcache}.tar.bz2
  45. Source3: rc.memcached
  46. # build information
  47. Prefix: %{l_prefix}
  48. BuildRoot: %{l_buildroot}
  49. BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, make, pmk
  50. PreReq: OpenPKG, openpkg >= 20040130
  51. BuildPreReq: libevent
  52. PreReq: libevent
  53. AutoReq: no
  54. AutoReqProv: no
  55. %description
  56. Memcached is a high-performance, distributed memory object caching
  57. system, generic in nature, but intended for use in speeding up
  58. dynamic web applications by alleviating database load. Additionally,
  59. this package contains Perl and C client APIs to memcached.
  60. %track
  61. prog memcached:memcached = {
  62. version = %{V_memcached}
  63. url = http://www.danga.com/memcached/download.bml
  64. regex = memcached-(__VER__)\.tar\.gz
  65. }
  66. prog memcached:cache-memcached = {
  67. version = %{V_cache_memcached}
  68. url = http://www.danga.com/memcached/apis.bml
  69. regex = Cache-Memcached-(__VER__)\.tar\.gz
  70. }
  71. prog memcached:libmemcache = {
  72. version = %{V_libmemcache}
  73. url = http://people.freebsd.org/~seanc/libmemcache/
  74. regex = libmemcache-(__VER__)\.tar\.bz2
  75. }
  76. %prep
  77. %setup -q -c
  78. %setup -q -T -D -a 1
  79. %setup -q -T -D -a 2
  80. %build
  81. # build daemon
  82. ( cd memcached-%{V_memcached}
  83. CC="%{l_cc}" \
  84. CFLAGS="%{l_cflags -O}" \
  85. CPPFLAGS="%{l_cppflags}" \
  86. LDFLAGS="%{l_ldflags}" \
  87. ./configure \
  88. --prefix=%{l_prefix} \
  89. --with-libevent=%{l_prefix}
  90. %{l_make} %{l_mflags -O}
  91. ) || exit $?
  92. # build Perl client API
  93. %{l_prefix}/bin/perl-openpkg prepare
  94. %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} configure build
  95. # build C client API
  96. ( cd libmemcache-%{V_libmemcache}
  97. %{l_prefix}/bin/pmk >/dev/null
  98. %{l_make} %{l_mflags -O}
  99. ) || exit $?
  100. %install
  101. rm -rf $RPM_BUILD_ROOT
  102. # install daemon
  103. ( cd memcached-%{V_memcached}
  104. %{l_shtool} mkdir -f -p -m 775 \
  105. $RPM_BUILD_ROOT%{l_prefix}/bin \
  106. $RPM_BUILD_ROOT%{l_prefix}/man/man1
  107. %{l_shtool} install -c -s -m 775 \
  108. memcached $RPM_BUILD_ROOT%{l_prefix}/bin/
  109. %{l_shtool} install -c -m 644 \
  110. doc/memcached.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/
  111. ) || exit $?
  112. # install Perl client API
  113. %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} install
  114. %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
  115. # install C client API
  116. ( cd libmemcache-%{V_libmemcache}
  117. %{l_shtool} mkdir -f -p -m 755 \
  118. $RPM_BUILD_ROOT%{l_prefix}/lib \
  119. $RPM_BUILD_ROOT%{l_prefix}/include
  120. %{l_shtool} install -c -m 644 \
  121. libmemcache.a $RPM_BUILD_ROOT%{l_prefix}/lib/
  122. %{l_shtool} install -c -m 644 \
  123. memcache.h $RPM_BUILD_ROOT%{l_prefix}/include/
  124. ) || exit $?
  125. # install daemon run-command script
  126. %{l_shtool} mkdir -f -p -m 755 \
  127. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  128. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  129. %{SOURCE rc.memcached} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  130. # determine installation files
  131. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`
  132. %files -f files
  133. %clean
  134. rm -rf $RPM_BUILD_ROOT