memcached/memcached.spec
Marcus Meissner 8b515ef511 Accepting request 287259 from home:pluskalm:branches:network:utilities
- Cleanup spec file
  * using spec-cleaner
  * remove unnecessary %defines
- Create new package (devel)
- Install either init script or unit file
- Refresh dependencies
- Update to 1.4.22
  * gatkq: return key in response
  * Handle SIGTERM the same as SIGINT
  * Fix off-by-one causing segfault in lru_crawler
  * Fix potential corruption for incr/decr of 0b items
  * Fix  issue #369  - uninitialized stats_lock
  * issue#370 : slab re-balance is not thread-safe in function 
    do_item_get
  * Fix potential corruption in hash table expansion
  * use item lock instead of global lock when hash expanding
  * fix hang when lru crawler started from commandline
  * rename thread_init to avoid runtime failure on AIX
  * Support -V (version option)
- Changes for 1.4.21
  * makefile cleanups
  * Avoid OOM errors when locked items stuck in tail

OBS-URL: https://build.opensuse.org/request/show/287259
OBS-URL: https://build.opensuse.org/package/show/network:utilities/memcached?expand=0&rev=28
2015-02-23 16:45:39 +00:00

159 lines
4.7 KiB
RPMSpec

#
# spec file for package memcached
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: memcached
Version: 1.4.22
Release: 0
Summary: A high-performance, distributed memory object caching system
License: BSD-3-Clause
Group: Productivity/Networking/Other
Url: http://memcached.org/
Source: http://www.memcached.org/files/%{name}-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: memcached-rpmlintrc
Source4: memcached.service
Patch0: memcached-1.4.5.dif
Patch1: memcached-autofoo.patch
Patch2: memcached-use-endian_h.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cyrus-sasl-devel
BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: pkg-config
Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
Requires(pre): %{_sbindir}/groupadd
Requires(pre): %{_sbindir}/useradd
Conflicts: memcached-unstable
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1210
BuildRequires: systemd-rpm-macros
%{?systemd_requires}
%endif
%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.
Danga Interactive developed memcached to enhance the speed of
LiveJournal.com, a site which was already doing 20 million+ dynamic
page views per day for 1 million users with a bunch of webservers and a
bunch of database servers. memcached dropped the database load to
almost nothing, yielding faster page load times for users, better
resource utilization, and faster access to the databases on a memcache
miss.
%package devel
Summary: Files needed for development using memcached protocol
Group: Development/Libraries
Requires: %{name} = %{version}
%description devel
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.
This package contains development files
%prep
%setup -q -n %{name}-%{version}
%patch0
%patch1
%patch2
%build
autoreconf -fi
%if 0%{?suse_version} <= 1140
export LIBEVENT_CFLAGS="-I%{_includedir}"
export LIBEVENT_LIBS="-levent"
%endif
%configure \
--enable-sasl \
--disable-coverage \
--bindir=%{_sbindir}
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
install -D -m 0755 scripts/memcached-tool %{buildroot}%{_sbindir}/memcached-tool
install -Dd -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}
install -D -m 0644 %{SOURCE2} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
%if 0%{?suse_version} > 1210
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
install -D -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}.service
%else
install -D -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/%{name}
ln -s ../..%{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
%endif
%pre
%{_sbindir}/groupadd -r %{name} >/dev/null 2>&1 || :
%{_sbindir}/useradd -g %{name} -s /bin/false -r -c "user for %{name}" -d %{_localstatedir}/lib/%{name} %{name} >/dev/null 2>&1 || :
%if 0%{?suse_version} > 1210
%service_add_pre %{name}.service
%endif
%post
%if 0%{?suse_version} > 1210
%service_add_post %{name}.service
%fillup_only %{name}
%else
%fillup_and_insserv %{name}
%endif
%preun
%if 0%{?suse_version} > 1210
%service_del_preun %{name}.service
%else
%stop_on_removal %{name}
%endif
%postun
%if 0%{?suse_version} > 1210
%service_del_postun %{name}.service
%else
%restart_on_update %{name}
%insserv_cleanup
%endif
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS
%{_sbindir}/%{name}
%{_sbindir}/memcached-tool
%{_sbindir}/rc%{name}
%{_mandir}/man1/%{name}.*
%if 0%{?suse_version} > 1210
%{_unitdir}/%{name}.service
%else
%{_sysconfdir}/init.d/%{name}
%endif
%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
%dir %attr(755,root,root) %{_localstatedir}/lib/%{name}
%files devel
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS doc/*.txt
%{_includedir}/%{name}
%changelog