memcached/memcached.spec

changeset 576
b3a1e74cc78b
parent 379
5974eb964eec
     1.1 --- a/memcached/memcached.spec	Tue Aug 28 18:35:40 2012 +0200
     1.2 +++ b/memcached/memcached.spec	Tue Aug 28 18:35:45 2012 +0200
     1.3 @@ -22,8 +22,8 @@
     1.4  ##
     1.5  
     1.6  #   package versions
     1.7 -%define       V_memcached       1.4.6
     1.8 -%define       V_libmemcached    0.48
     1.9 +%define       V_memcached       1.4.14
    1.10 +%define       V_libmemcached    1.0.10
    1.11  %define       V_cache_memcached 1.28
    1.12  
    1.13  #   package information
    1.14 @@ -37,7 +37,7 @@
    1.15  Group:        System
    1.16  License:      GPL
    1.17  Version:      %{V_memcached}
    1.18 -Release:      20110914
    1.19 +Release:      20120800
    1.20  
    1.21  #   list of sources
    1.22  Source0:      http://memcached.googlecode.com/files/memcached-%{V_memcached}.tar.gz
    1.23 @@ -47,17 +47,13 @@
    1.24  Patch0:       memcached.patch
    1.25  
    1.26  #   build information
    1.27 -Prefix:       %{l_prefix}
    1.28 -BuildRoot:    %{l_buildroot}
    1.29 -BuildPreReq:  OpenPKG, openpkg >= 20060823, gcc, make, perl, perl-openpkg
    1.30 -PreReq:       OpenPKG, openpkg >= 20060823
    1.31 -BuildPreReq:  libevent, sasl
    1.32 -PreReq:       libevent, sasl
    1.33 -AutoReq:      no
    1.34 -AutoReqProv:  no
    1.35 +BuildPreReq:  OpenPKG, openpkg >= 20100101, gcc, make, perl, perl-openpkg
    1.36 +PreReq:       OpenPKG, openpkg >= 20100101
    1.37 +BuildPreReq:  libevent, sasl, libexecinfo
    1.38 +PreReq:       libevent, sasl, libexecinfo
    1.39  
    1.40  %description
    1.41 -    Memcached is a high-performance, distributed memory object caching
    1.42 +    Memcached is a high performance, distributed memory object caching
    1.43      system, generic in nature, but intended for use in speeding up
    1.44      dynamic web applications by alleviating database load. Additionally,
    1.45      this package contains Perl and C client APIs to memcached.
    1.46 @@ -85,6 +81,9 @@
    1.47      %setup -q -T -D -a 2
    1.48      %patch -p0
    1.49      %{l_shtool} subst \
    1.50 +        -e 's/b = \(__sync_sub_and_fetch(\&a, 2);\)/return \1/' \
    1.51 +        memcached-%{V_memcached}/configure
    1.52 +    %{l_shtool} subst \
    1.53          -e 's; *-Werror;;g' \
    1.54          memcached-%{V_memcached}/configure
    1.55      %{l_shtool} subst \
    1.56 @@ -114,11 +113,19 @@
    1.57  
    1.58      #   build C client API
    1.59      ( cd libmemcached-%{V_libmemcached}
    1.60 +      ( echo "ac_cv_func_malloc_0_nonnull=yes"
    1.61 +        echo "ac_cv_func_realloc_0_nonnull=yes"
    1.62 +        echo "ac_cv_env_CXXFLAGS_set=barf"
    1.63 +        echo "ac_cv_env_CFLAGS_set=barf"
    1.64 +        echo "ac_cv_header_priv_h=no"
    1.65 +        echo "ac_cv_header_umem_h=no"
    1.66 +      ) >config.cache
    1.67        CC="%{l_cc}" \
    1.68        CFLAGS="%{l_cflags -O}" \
    1.69        CPPFLAGS="%{l_cppflags}" \
    1.70        LDFLAGS="%{l_ldflags}" \
    1.71        ./configure \
    1.72 +          --cache-file=./config.cache \
    1.73            --prefix=%{l_prefix} \
    1.74            --mandir=%{l_prefix}/man \
    1.75            --without-memcached \
    1.76 @@ -136,9 +143,6 @@
    1.77      %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} configure build
    1.78  
    1.79  %install
    1.80 -    #   remove build cruft
    1.81 -    rm -rf $RPM_BUILD_ROOT
    1.82 -
    1.83      #   install daemon
    1.84      ( cd memcached-%{V_memcached}
    1.85        %{l_shtool} mkdir -f -p -m 775 \
    1.86 @@ -152,20 +156,30 @@
    1.87  
    1.88      #   install C client API
    1.89      ( cd libmemcached-%{V_libmemcached}
    1.90 -      %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
    1.91 +      %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT"
    1.92 +    ) || exit $?
    1.93 +
    1.94 +    #   correct header names and references
    1.95 +    ( cd $RPM_BUILD_ROOT%{l_prefix}/include
    1.96 +      mv libmemcachedutil-[0-9]* libmemcachedutil
    1.97 +      mv libmemcachedprotocol-[0-9]* libmemcachedprotocol
    1.98 +      rm -rf libhashkit && mv libhashkit-[0-9]* libhashkit
    1.99 +      rm -rf libmemcached && mv libmemcached-[0-9]* libmemcached
   1.100 +      find .  -type f -print | xargs %{l_shtool} subst \
   1.101 +          -e 's;\(#include <lib[^\-][^\-]*\)-[0-9\.][0-9\.]*;\1;g'
   1.102      ) || exit $?
   1.103  
   1.104      #   install Perl client API
   1.105      %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} install
   1.106      %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
   1.107  
   1.108 -    #   install daemon run-command script
   1.109 +    #   install daemon runcommand script
   1.110      %{l_shtool} mkdir -f -p -m 755 \
   1.111          $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
   1.112      %{l_shtool} install -c -m 755 %{l_value -s -a} \
   1.113          %{SOURCE rc.memcached} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
   1.114  
   1.115 -    #   install daemon run-command script
   1.116 +    #   create directory hierarchy for daemon
   1.117      %{l_shtool} mkdir -f -p -m 755 \
   1.118          $RPM_BUILD_ROOT%{l_prefix}/var/memcached
   1.119  
   1.120 @@ -177,7 +191,6 @@
   1.121  %files -f files
   1.122  
   1.123  %clean
   1.124 -    rm -rf $RPM_BUILD_ROOT
   1.125  
   1.126  %post
   1.127      #   after upgrade, restart service

mercurial