%define memcached_version 1.4.13
%define repcached_version 2.3.1

Summary: a high-performance, distributed memory object caching system
Summary(ja): ハイパフォーマンスな分散メモリオブジェクトキャッシングシステム
Name: memcached
Version: %{memcached_version}
Release: 1%{?_dist_release}
Source0: http://www.danga.com/memcached/dist/%{name}-%{memcached_version}.tar.gz
Source1: repcached-%{repcached_version}-%{memcached_version}.tar.gz

# Patches

# repcached patch
Patch1: repcached-%{repcached_version}-%{memcached_version}.patch

License: modified BSD style License
Url: http://www.danga.com/memcached/
Group: Applications/Databases
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libevent-devel

%description
memcached is a high-performance, distributed memory object caching system, 
generic in nature, but intended for use in speeding up dynamic web 
applications by alleviating database load.

%package devel
Summary:	Files needed for development using memcached protocol
Summary(ja):	memcached プロトコルを使用した開発に必要なファイル
Group:		Development/Libraries 
Requires:	%{name} = %{version}-%{release}

%description devel
Install memcached-devel if you are developing C/C++ applications that require access to the
memcached binary include files.

%prep
%setup -q -T -a 0 -c -n memcached-%{memcached_version}

pushd memcached-%{memcached_version}

popd

%setup -q -D -T -a 1 -n memcached-%{memcached_version}

pushd repcached-%{repcached_version}-%{memcached_version}

popd

%build
pushd memcached-%{memcached_version}
#sh ./autogen.sh
%configure
%__make %{?_smp_mflags}
popd

pushd repcached-%{repcached_version}-%{memcached_version}
sh ./autogen.sh
%configure --enable-replication
%__make %{?_smp_mflags}
popd

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_initdir}
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
mkdir -p %{buildroot}%{_localstatedir}/run/memcached

pushd memcached-%{memcached_version}
%makeinstall

rm -f %{buildroot}%{_bindir}/memcached-debug

install -m755 scripts/memcached.sysv %{buildroot}%{_initdir}/memcached
install -m755 scripts/memcached-tool %{buildroot}%{_bindir}/

popd

pushd repcached-%{repcached_version}-%{memcached_version}
cp -af AUTHORS COPYING ChangeLog ChangeLog.repcached NEWS README doc ../
popd

mv -f %{buildroot}%{_bindir}/memcached %{buildroot}%{_bindir}/memcached.memcached
install -m755 repcached-%{repcached_version}-%{memcached_version}/memcached %{buildroot}%{_bindir}/memcached.repcached

cat <<EOF > %{buildroot}%{_sysconfdir}/sysconfig/memcached
PORT=11211
USER=nobody
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
#OPTIONS="-x peer.to.replicate"
EOF

%clean
rm -rf %{buildroot}

%post
/sbin/update-alternatives --install %{_bindir}/memcached \
  memcached %{_bindir}/memcached.memcached 20
/sbin/update-alternatives --install %{_bindir}/memcached \
  memcached %{_bindir}/memcached.repcached 10

%preun
if [ "$1" = 0 ]; then
  /sbin/update-alternatives --remove memcached %{_bindir}/memcached.memcached
  /sbin/update-alternatives --remove memcached %{_bindir}/memcached.repcached
  /sbin/update-alternatives --auto memcached ||:
fi

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog ChangeLog.repcached NEWS README
%doc doc/CONTRIBUTORS doc/*.txt
%config(noreplace) %{_sysconfdir}/sysconfig/memcached
%{_initdir}/memcached
%{_bindir}/memcached.memcached
%{_bindir}/memcached.repcached
%{_bindir}/memcached-tool
%{_mandir}/man1/memcached.1*
%dir %{_localstatedir}/run/memcached

%files devel
%defattr(-,root,root,0755)
%{_includedir}/memcached/*

%changelog
* Sat Apr 28 2012 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.4.13-1
- new upstream release.
- made be able to choose between memcached and repcached by alternatives.

* Sat Aug 20 2011 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.4.7.repcached2.3.1-1
- new upstream release.
- updated repcached patch.
- removed %%Patch0. (fixed in upstream)

* Tue Feb 15 2011 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.4.5.repcached2.3.1-1
- updated repcached patch.

* Mon Feb 14 2011 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.4.5.repcached2.
3-1
- applied the repcached patch.

* Thu Feb 10 2011 Toshiharu Kudoh <toshi.kd2@gmail.com> 1.4.5-1
- new upstream release
- added Patch0 from Fedora
- rebuilt with libevent-2.0.10
- fixed &&files
- splitted -devel package

* Mon Jun 22 2009 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.8-1
- new upstream release.
- wrote spec in UTF-8.

* Mon May 19 2008 Tomohiro 'Tomo-p' KATO <tomop@teamgedoh.net> 1.2.5-1
- new upstream release.
- added some scripts.

* Mon Jul 16 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.1.12-0vl2
- rebuilt with libevent-1.3b

* Sun Aug 13 2006 IWAI, Masaharu <iwai@alib.jp> 1.1.12-0vl1
- new package

