summaryrefslogtreecommitdiffstats
path: root/memcached.spec
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2012-11-26 09:05:24 +0100
committerRemi Collet <fedora@famillecollet.com>2012-11-26 09:05:24 +0100
commit73e464227e99d6abacdd2e909dee72f56b58ea12 (patch)
tree4030c271334927609fcb1fddf211e9a51be4fd4b /memcached.spec
parent879d9305cddf8a129df8903265edd1347dbded69 (diff)
memcached: sync with rawhide + backport stuff
Diffstat (limited to 'memcached.spec')
-rw-r--r--memcached.spec173
1 files changed, 154 insertions, 19 deletions
diff --git a/memcached.spec b/memcached.spec
index 3a460c2..89381c3 100644
--- a/memcached.spec
+++ b/memcached.spec
@@ -1,10 +1,16 @@
%global username memcached
%global groupname memcached
+%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
+%global with_systemd 1
+%else
+%global with_systemd 0
+%endif
+
Name: memcached
-Version: 1.4.5
-Release: 2%{?dist}.1
-Epoch: 0
+Version: 1.4.15
+Release: 1%{?dist}
+Epoch: 0
Summary: High Performance, Distributed Memory Object Cache
Group: System Environment/Daemons
@@ -12,23 +18,35 @@ License: BSD
URL: http://www.memcached.org/
Source0: http://memcached.googlecode.com/files/%{name}-%{version}.tar.gz
+# custom unit file
+Source1: memcached.service
# custom init script
-Source1: memcached.sysv
-Source2: memcached.sysvel4
+Source2: memcached.sysv
+
+# Patches
# Fixes
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libevent-devel
-BuildRequires: perl(Test::More)
-
+BuildRequires: perl(Test::More), perl(Test::Harness)
+
+%if %{with_systemd}
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+# For triggerun
+Requires(post): systemd-sysv
+%else
Requires: initscripts
Requires: libevent
-Requires(pre): shadow-utils
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig, /sbin/service
Requires(postun): /sbin/service
+%endif
+Requires(pre): shadow-utils
+
# as of 3.5.5-4 selinux has memcache included
Obsoletes: memcached-selinux
@@ -38,6 +56,7 @@ 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
Group: Development/Libraries
@@ -47,41 +66,49 @@ Requires: %{name} = %{epoch}:%{version}-%{release}
Install memcached-devel if you are developing C/C++ applications that require access to the
memcached binary include files.
+
%prep
%setup -q
+
%build
%configure
-
+sed -i 's/-Werror/ /' Makefile
make %{?_smp_mflags}
%check
+# whitespace tests fail locally on fedpkg systems now that they use git
+rm -f t/whitespace.t
+
# Parts of the test suite only succeed as non-root.
if [ `id -u` -ne 0 ]; then
# remove failing test that doesn't work in
# build systems
- rm -f t/daemonize.t
- make test
+ rm -f t/daemonize.t
fi
+make test
+
%install
rm -rf %{buildroot}
-make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
+make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
# remove memcached-debug
rm -f %{buildroot}/%{_bindir}/memcached-debug
# Perl script for monitoring memcached
install -Dp -m0755 scripts/memcached-tool %{buildroot}%{_bindir}/memcached-tool
+%if %{with_systemd}
+# Unit file
+install -Dp -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/memcached.service
+%else
# Init script
-%if 0%{?rhel} == 4
install -Dp -m0755 %{SOURCE2} %{buildroot}%{_initrddir}/memcached
-%else
-install -Dp -m0755 %{SOURCE1} %{buildroot}%{_initrddir}/memcached
-%endif
# pid directory
mkdir -p %{buildroot}/%{_localstatedir}/run/memcached
+%endif
+
# Default configs
mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig
@@ -96,6 +123,7 @@ EOF
# Constant timestamp on the config file.
touch -r %{SOURCE1} %{buildroot}/%{_sysconfdir}/sysconfig/%{name}
+
%clean
rm -rf %{buildroot}
@@ -103,45 +131,152 @@ rm -rf %{buildroot}
%pre
getent group %{groupname} >/dev/null || groupadd -r %{groupname}
getent passwd %{username} >/dev/null || \
+%if %{with_systemd}
+useradd -r -g %{groupname} -d /run/memcached \
+%else
useradd -r -g %{groupname} -d %{_localstatedir}/run/memcached \
+%endif
-s /sbin/nologin -c "Memcached daemon" %{username}
exit 0
%post
-/sbin/chkconfig --add %{name}
+%if 0%{?systemd_post:1}
+%systemd_post %{name}.service
+%else
+if [ $1 = 1 ]; then
+ # Initial installation
+%if %{with_systemd}
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+%else
+ /sbin/chkconfig --add %{name}
+%endif
+fi
+%endif
%preun
+%if 0%{?systemd_preun:1}
+%systemd_preun %{name}.service
+%else
if [ "$1" = 0 ] ; then
+ # Package removal, not upgrade
+%if %{with_systemd}
+ /bin/systemctl --no-reload disable %{name}.service >/dev/null 2>&1 || :
+ /bin/systemctl stop %{name}.service >/dev/null 2>&1 || :
+%else
/sbin/service %{name} stop > /dev/null 2>&1
/sbin/chkconfig --del %{name}
+%endif
fi
exit 0
+%endif
%postun
+%if 0%{?systemd_postun_with_restart:1}
+%systemd_postun_with_restart %{name}.service
+%else
+%if %{with_systemd}
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ]; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
+fi
+%else
if [ "$1" -ge 1 ]; then
/sbin/service %{name} condrestart > /dev/null 2>&1
fi
exit 0
+%endif
+%endif
+
+%triggerun -- memcached
+%if %{with_systemd}
+if [ -f /etc/rc.d/init.d/memcached ]; then
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply memcached
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save memcached >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del memcached >/dev/null 2>&1 || :
+/bin/systemctl try-restart memcached.service >/dev/null 2>&1 || :
+fi
+%endif
%files
%defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README doc/CONTRIBUTORS doc/*.txt
+%doc AUTHORS ChangeLog COPYING NEWS README.md doc/CONTRIBUTORS doc/*.txt
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
-%dir %attr(755,%{username},%{groupname}) %{_localstatedir}/run/memcached
%{_bindir}/memcached-tool
%{_bindir}/memcached
%{_mandir}/man1/memcached.1*
+%if %{with_systemd}
+%{_unitdir}/memcached.service
+%else
%{_initrddir}/memcached
+%dir %attr(755,%{username},%{groupname}) %{_localstatedir}/run/memcached
+%endif
+
%files devel
%defattr(-,root,root,0755)
%{_includedir}/memcached/*
%changelog
+* Mon Nov 26 2012 Remi Collet <rpms@famillecollet.com> - 0:1.4.15-1
+- sync with rawhide, backport for remi repo
+
+* Tue Nov 20 2012 Joe Orton <jorton@redhat.com> - 0:1.4.15-2
+- BR perl(Test::Harness)
+
+* Tue Nov 20 2012 Joe Orton <jorton@redhat.com> - 0:1.4.15-1
+- update to 1.4.15 (#782395)
+- switch to simple systemd service (#878198)
+- use systemd scriptlet macros (Václav Pavlín, #850204)
+
+* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.4.13-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri May 04 2012 Jon Ciesla <limburgher@gmail.com> - 0:1.4.13-2
+- Migrate to systemd, 783112.
+
+* Tue Feb 7 2012 Paul Lindner <lindner@mirth.inuus.com> - 0:1.4.13-1
+- Upgrade to memcached 1.4.13
+- http://code.google.com/p/memcached/wiki/ReleaseNotes1413
+- http://code.google.com/p/memcached/wiki/ReleaseNotes1412
+- http://code.google.com/p/memcached/wiki/ReleaseNotes1411
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.4.10-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Nov 9 2011 Paul Lindner <lindner@mirth.inuus.com> - 0:1.4.10-1
+- Upgrade to memcached 1.4.10 (http://code.google.com/p/memcached/wiki/ReleaseNotes1410)
+
+* Tue Aug 16 2011 Paul Lindner <lindner@inuus.com> - 0:1.4.7-1
+- Upgrade to memcached 1.4.7 (http://code.google.com/p/memcached/wiki/ReleaseNotes147)
+- Fix some rpmlint errors/warnings.
+
+* Tue Aug 2 2011 Paul Lindner <lindner@inuus.com> - 0:1.4.6-1
+- Upgrade to memcached-1.4.6
+
+* Wed Feb 16 2011 Joe Orton <jorton@redhat.com> - 0:1.4.5-7
+- fix build
+
+* Mon Feb 14 2011 Paul Lindner <lindner@inuus.com> - 0:1.4.5-6
+- Rebuild for updated libevent
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.4.5-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Nov 28 2010 Paul Lindner <lindner@inuus.com> - 0:1.4.5-4
+- Add code to deal with /var/run/memcached on tmpfs
+
+* Wed Sep 8 2010 Paul Lindner <lindner@inuus.com> - 0:1.4.5-3
+- Apply patch from memcached issue #60, solves Bugzilla 631051
+
* Tue Jun 15 2010 Remi Collet <rpms@famillecollet.com> - 1.4.5-2.el4.1
- also use /var/run/memcached/memcached.pid on EL-4