diff --git a/.memcached.metadata b/.memcached.metadata new file mode 100644 index 0000000..e763f90 --- /dev/null +++ b/.memcached.metadata @@ -0,0 +1 @@ +12ec84011f408846250a462ab9e8e967a2e8cbbc SOURCES/memcached-1.4.15.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/memcached-manpages.patch b/SOURCES/memcached-manpages.patch new file mode 100644 index 0000000..e54c2d4 --- /dev/null +++ b/SOURCES/memcached-manpages.patch @@ -0,0 +1,141 @@ +From 8cf9b071c77f1f305f4bae795166da8e7daab179 Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Tue, 2 Jul 2013 13:54:04 +0200 +Subject: [PATCH 1/2] describe -b and -S options in man page + +--- + doc/memcached.1 | 7 +++++++ + memcached.c | 2 +- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/doc/memcached.1 b/doc/memcached.1 +index b6f633d..7e72e2e 100644 +--- a/doc/memcached.1 ++++ b/doc/memcached.1 +@@ -119,6 +119,9 @@ could reduce the number of TLB misses and improve the performance. In order to + get large pages from the OS, memcached will allocate the total item-cache in + one large chunk. Only available if supported on your OS. + .TP ++.B \-b ++Set the backlog queue limit to connections. The default is 1024. ++.TP + .B \-B + Specify the binding protocol to use. By default, the server will + autonegotiate client connections. By using this option, you can +@@ -131,6 +134,10 @@ minimum is 1k, max is 128m. Adjusting this value changes the item size limit. + Beware that this also increases the number of slabs (use -v to view), and the + overal memory usage of memcached. + .TP ++.B \-S ++Turn on SASL authentication. This option is only meaningful if memcached was ++compiled with SASL support enabled. ++.TP + .B \-o + Comma separated list of extended or experimental options. See -h or wiki for + up to date list. +diff --git a/memcached.c b/memcached.c +index 35f6f4d..dc8b770 100644 +--- a/memcached.c ++++ b/memcached.c +@@ -4498,7 +4498,7 @@ static void usage(void) { + " requests process for a given connection to prevent \n" + " starvation (default: 20)\n"); + printf("-C Disable use of CAS\n"); +- printf("-b Set the backlog queue limit (default: 1024)\n"); ++ printf("-b Set the backlog queue limit (default: 1024)\n"); + printf("-B Binding protocol - one of ascii, binary, or auto (default)\n"); + printf("-I Override the size of each slab page. Adjusts max item size\n" + " (default: 1mb, min: 1k, max: 128m)\n"); +-- +1.8.1.4 + +From 6f9f9fe20d4b591c5b392660460fdd0e9cf2ca58 Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Tue, 2 Jul 2013 17:15:03 +0200 +Subject: [PATCH 2/2] add man page for memcached-tool + +--- + scripts/memcached-tool.1 | 71 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 71 insertions(+) + create mode 100644 scripts/memcached-tool.1 + +diff --git a/scripts/memcached-tool.1 b/scripts/memcached-tool.1 +new file mode 100644 +index 0000000..6bb021b +--- /dev/null ++++ b/scripts/memcached-tool.1 +@@ -0,0 +1,71 @@ ++.TH MEMCACHED-TOOL 1 "Jul 2, 2013" ++.SH NAME ++memcached-tool \- stats and management tool for memcached ++ ++.SH SYNOPSIS ++.B memcached-tool ++.RI < host [: port "] | " /path/to/socket "> [" mode ] ++ ++.SH DESCRIPTION ++.B memcached-tool ++is a Perl script used to print statistics from a running memcached instance. ++The first parameter specifies the address of the daemon either by a hostname, ++optionally followed by the port number (the default is 11211), or a path to ++UNIX domain socket. The second parameter specifies the mode in which the tool ++should run. ++ ++.SH MODES ++.TP ++.B display ++Print slab class statistics. This is the default mode if no mode is specified. ++The printed columns are: ++.RS ++.TP ++.B # ++Number of the slab class. ++.TP ++.B Item_Size ++The amount of space each chunk uses. One item uses one chunk of the ++appropriate size. ++.TP ++.B Max_age ++Age of the oldest item in the LRU. ++.TP ++.B Pages ++Total number of pages allocated to the slab class. ++.TP ++.B Count ++Number of items presently stored in this class. Expired items are not ++automatically excluded. ++.TP ++.B Full? ++Yes if there are no free chunks at the end of the last allocated page. ++.TP ++.B Evicted ++Number of times an item had to be evicted from the LRU before it expired. ++.TP ++.B Evict_Time ++Seconds since the last access for the most recent item evicted from this ++class. ++.TP ++.B OOM ++Number of times the underlying slab class was unable to store a new item. ++.RE ++ ++.TP ++.B stats ++Print general-purpose statistics of the daemon. Each line contains the name of ++the statistic and its value. ++.TP ++.B dump ++Make a partial dump of the cache written in the add statements of the ++memcached protocol. ++ ++.SH SEE ALSO ++.BR memcached (1), ++.br ++.B http://www.memcached.org ++ ++.SH AUTHOR ++The memcached-tool script was written by Brad Fitzpatrick ++.B +-- +1.8.1.4 + diff --git a/SOURCES/memcached.service b/SOURCES/memcached.service new file mode 100644 index 0000000..ee5198d --- /dev/null +++ b/SOURCES/memcached.service @@ -0,0 +1,12 @@ +[Unit] +Description=Memcached +Before=httpd.service +After=network.target + +[Service] +Type=simple +EnvironmentFile=-/etc/sysconfig/memcached +ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/memcached.spec b/SPECS/memcached.spec new file mode 100644 index 0000000..9a0f422 --- /dev/null +++ b/SPECS/memcached.spec @@ -0,0 +1,300 @@ +%define username memcached +%define groupname memcached + +Name: memcached +Version: 1.4.15 +Release: 5%{?dist} +Epoch: 0 +Summary: High Performance, Distributed Memory Object Cache + +Group: System Environment/Daemons +License: BSD +URL: http://www.memcached.org/ +Source0: http://memcached.googlecode.com/files/%{name}-%{version}.tar.gz + +# custom unit file +Source1: memcached.service + +# Patches +Patch001: memcached-manpages.patch + +# Fixes + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: libevent-devel +BuildRequires: perl(Test::More), perl(Test::Harness) +BuildRequires: systemd-units + +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +# For triggerun +Requires(post): systemd-sysv +Requires(pre): shadow-utils + + +# as of 3.5.5-4 selinux has memcache included +Obsoletes: memcached-selinux + +%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 +Group: Development/Libraries +Requires: %{name} = %{epoch}:%{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 +%patch001 -p1 -b .manpages + +%build +# compile with full RELRO +export CFLAGS="%{optflags} -pie -fpie" +export LDFLAGS="-Wl,-z,relro,-z,now" + +%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 +fi +make test + +%install +rm -rf %{buildroot} +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 +install -Dp -m0644 scripts/memcached-tool.1 \ + %{buildroot}%{_mandir}/man1/memcached-tool.1 + +# Unit file +install -Dp -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/memcached.service + +# Default configs +mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig +cat <%{buildroot}/%{_sysconfdir}/sysconfig/%{name} +PORT="11211" +USER="%{username}" +MAXCONN="1024" +CACHESIZE="64" +OPTIONS="" +EOF + +# Constant timestamp on the config file. +touch -r %{SOURCE1} %{buildroot}/%{_sysconfdir}/sysconfig/%{name} + +%clean +rm -rf %{buildroot} + + +%pre +getent group %{groupname} >/dev/null || groupadd -r %{groupname} +getent passwd %{username} >/dev/null || \ +useradd -r -g %{groupname} -d /run/memcached \ + -s /sbin/nologin -c "Memcached daemon" %{username} +exit 0 + + +%post +%systemd_post memcached.service + + +%preun +%systemd_preun memcached.service + + +%postun +%systemd_postun_with_restart memcached.service + +%triggerun -- memcached < 0:1.4.13-2 +# 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 || : + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README.md doc/CONTRIBUTORS doc/*.txt +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%{_bindir}/memcached-tool +%{_bindir}/memcached +%{_mandir}/man1/memcached-tool.1* +%{_mandir}/man1/memcached.1* +%{_unitdir}/memcached.service + + +%files devel +%defattr(-,root,root,0755) +%{_includedir}/memcached/* + +%changelog +* Mon Jul 08 2013 Miroslav Lichvar - 0:1.4.15-5 +- update memcached man page +- add memcached-tool man page +- buildrequire systemd-units + +* Thu Feb 14 2013 Fedora Release Engineering - 0:1.4.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Dec 20 2012 Miroslav Lichvar - 0:1.4.15-3 +- compile with full RELRO + +* Tue Nov 20 2012 Joe Orton - 0:1.4.15-2 +- BR perl(Test::Harness) + +* Tue Nov 20 2012 Joe Orton - 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 - 0:1.4.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri May 04 2012 Jon Ciesla - 0:1.4.13-2 +- Migrate to systemd, 783112. + +* Tue Feb 7 2012 Paul Lindner - 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 - 0:1.4.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Nov 9 2011 Paul Lindner - 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 - 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 - 0:1.4.6-1 +- Upgrade to memcached-1.4.6 + +* Wed Feb 16 2011 Joe Orton - 0:1.4.5-7 +- fix build + +* Mon Feb 14 2011 Paul Lindner - 0:1.4.5-6 +- Rebuild for updated libevent + +* Tue Feb 08 2011 Fedora Release Engineering - 0:1.4.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Nov 28 2010 Paul Lindner - 0:1.4.5-4 +- Add code to deal with /var/run/memcached on tmpfs + +* Wed Sep 8 2010 Paul Lindner - 0:1.4.5-3 +- Apply patch from memcached issue #60, solves Bugzilla 631051 + +* Wed May 26 2010 Joe Orton - 0:1.4.5-2 +- LSB compliance fixes for init script +- don't run the test suite as root +- ensure a constant timestamp on the sysconfig file + +* Sun Apr 4 2010 Paul Lindner - 0:1.4.5-1 +- Upgrade to upstream memcached-1.4.5 (http://code.google.com/p/memcached/wiki/ReleaseNotes145) + +* Wed Jan 20 2010 Paul Lindner - 0:1.4.4-2 +- Remove SELinux policies fixes Bugzilla 557073 + +* Sat Nov 28 2009 Paul Lindner - 0:1.4.4-1 +- Upgraded to upstream memcached-1.4.4 (http://code.google.com/p/memcached/wiki/ReleaseNotes144) +- Add explicit Epoch to fix issue with broken devel dependencies (resolves 542001) + +* Thu Nov 12 2009 Paul Lindner - 1.4.3-1 +- Add explicit require on memcached for memcached-devel (resolves 537046) +- enable-threads option no longer needed +- Update web site address + +* Wed Nov 11 2009 Paul Lindner - 1.4.3-1 +- Upgrade to memcached-1.4.3 + +* Mon Oct 12 2009 Paul Lindner - 1.4.2-1 +- Upgrade to memcached-1.4.2 +- Addresses CVE-2009-2415 + +* Sat Aug 29 2009 Paul Lindner - 1.4.1-1 +- Upgrade to 1.4.1 +- http://code.google.com/p/memcached/wiki/ReleaseNotes141 + +* Wed Apr 29 2009 Paul Lindner - 1.2.8-1 +- Upgrade to memcached-1.2.8 +- Addresses CVE-2009-1255 + +* Wed Feb 25 2009 Fedora Release Engineering - 1.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jul 29 2008 Paul Lindner - 1.2.6-1 +- Upgrade to memcached-1.2.6 + +* Tue Mar 4 2008 Paul Lindner - 1.2.5-1 +- Upgrade to memcached-1.2.5 + +* Tue Feb 19 2008 Fedora Release Engineering - 1.2.4-4 +- Autorebuild for GCC 4.3 + +* Sun Jan 27 2008 Paul Lindner - 1.2.4-3 +- Adjust libevent dependencies + +* Sat Dec 22 2007 Paul Lindner - 1.2.4-2 +- Upgrade to memcached-1.2.4 + +* Fri Sep 07 2007 Konstantin Ryabitsev - 1.2.3-8 +- Add selinux policies +- Create our own system user + +* Mon Aug 6 2007 Paul Lindner - 1.2.3-7 +- Fix problem with -P and -d flag combo on x86_64 +- Fix init script for FC-6 + +* Fri Jul 13 2007 Paul Lindner - 1.2.3-4 +- Remove test that fails in fedora build system on ppc64 + +* Sat Jul 7 2007 root - 1.2.3-2 +- Upgrade to 1.2.3 upstream +- Adjust make install to preserve man page timestamp +- Conform with LSB init scripts standards, add force-reload + +* Wed Jul 4 2007 Paul Lindner - 1.2.2-5 +- Use /var/run/memcached/ directory to hold PID file + +* Sat May 12 2007 Paul Lindner - 1.2.2-4 +- Remove tabs from spec file, rpmlint reports no more errors + +* Thu May 10 2007 Paul Lindner - 1.2.2-3 +- Enable build-time regression tests +- add dependency on initscripts +- remove memcached-debug (not needed in dist) +- above suggestions from Bernard Johnson + +* Mon May 7 2007 Paul Lindner - 1.2.2-2 +- Tidyness improvements suggested by Ruben Kerkhof in bugzilla #238994 + +* Fri May 4 2007 Paul Lindner - 1.2.2-1 +- Initial spec file created via rpmdev-newspec