Blame memcached.spec

Packit Service 584ef9
%bcond_with arm_crc32
Packit Service 584ef9
%bcond_with extstore
Packit Service 584ef9
%bcond_with seccomp
Packit Service 584ef9
%bcond_with sasl
Packit Service 584ef9
%bcond_with sasl_pwdb
Packit Service 584ef9
%bcond_with dtrace
Packit Service 584ef9
%bcond_with 64bit
Packit Service 584ef9
%bcond_without option_checking
Packit Service 584ef9
%bcond_without coverage
Packit Service 584ef9
%bcond_without docs
Packit Service 584ef9
Packit Service 584ef9
# Set with_systemd on distros that use it, so we can install the service
Packit Service 584ef9
# file, otherwise the sysvinit script will be installed
Packit Service 584ef9
%if 0%{?fedora} >= 14 || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
Packit Service 584ef9
%global with_systemd 1
Packit Service 584ef9
BuildRequires: systemd-units
Packit Service 584ef9
Packit Service 584ef9
# Disable some systemd safety features on OSes without a new enough systemd
Packit Service 584ef9
# (new enough is systemd >= 233)
Packit Service 584ef9
%if 0%{?fedora} < 26 || 0%{?rhel} > 0
Packit Service 584ef9
%global safer_systemd 0
Packit Service 584ef9
%else
Packit Service 584ef9
%global safer_systemd 1
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
%else
Packit Service 584ef9
%global with_systemd 0
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
Name:           memcached
Packit Service 584ef9
Version:        1.5.22
Packit Service 584ef9
Release:        1%{?dist}
Packit Service 584ef9
Summary:        High Performance, Distributed Memory Object Cache
Packit Service 584ef9
Packit Service 584ef9
Group:          System Environment/Daemons
Packit Service 584ef9
License:        BSD
Packit Service 584ef9
URL:            https://memcached.org
Packit Service 584ef9
Source0:        https://memcached.org/files/%{name}-%{version}.tar.gz
Packit Service 584ef9
Source1:        memcached.sysconfig
Packit Service 584ef9
Source2:        memcached.service
Packit Service 584ef9
Source3:        memcached@.service
Packit Service 584ef9
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Packit Service 584ef9
Packit Service 584ef9
BuildRequires:  libevent-devel
Packit Service 584ef9
BuildRequires:  perl(Test::More)
Packit Service 584ef9
BuildRequires:  /usr/bin/prove
Packit Service 584ef9
Requires: initscripts
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
Requires(post):   systemd-units
Packit Service 584ef9
Requires(preun):  systemd-units
Packit Service 584ef9
Requires(postun): systemd-units
Packit Service 584ef9
%else
Packit Service 584ef9
Requires(post): /sbin/chkconfig
Packit Service 584ef9
Requires(preun): /sbin/chkconfig, /sbin/service
Packit Service 584ef9
Requires(postun): /sbin/service
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
%description
Packit Service 584ef9
memcached is a high-performance, distributed memory object caching
Packit Service 584ef9
system, generic in nature, but intended for use in speeding up dynamic
Packit Service 584ef9
web applications by alleviating database load.
Packit Service 584ef9
Packit Service 584ef9
%prep
Packit Service 584ef9
%setup -q -n %{name}-%{version}
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%build
Packit Service 584ef9
%configure \
Packit Service 584ef9
  %{?with_arm_crc32:--enable-arm-crc32} \
Packit Service 584ef9
  %{?with_extstore:--enable-extstore} \
Packit Service 584ef9
  %{?with_seccomp:--enable-seccomp} \
Packit Service 584ef9
  %{?with_sasl:--enable-sasl} \
Packit Service 584ef9
  %{?with_sasl_pwdb:--enable-pwdb} \
Packit Service 584ef9
  %{?with_dtrace:--enable-dtrace} \
Packit Service 584ef9
  %{?with_64bit:--enable-64bit} \
Packit Service 584ef9
  %{!?with_option_checking:--disable-option-checking}
Packit Service 584ef9
  %{!?with_coverage:--disable-coverage} \
Packit Service 584ef9
  %{!?with_docs:--disable-docs}
Packit Service 584ef9
Packit Service 584ef9
make %{?_smp_mflags}
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%check
Packit Service 584ef9
make test
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%install
Packit Service 584ef9
rm -rf %{buildroot}
Packit Service 584ef9
make install DESTDIR=%{buildroot}
Packit Service 584ef9
Packit Service 584ef9
# remove memcached-debug
Packit Service 584ef9
rm -f %{buildroot}/%{_bindir}/%{name}-debug
Packit Service 584ef9
Packit Service 584ef9
# Perl script for monitoring memcached
Packit Service 584ef9
install -Dp -m0755 scripts/memcached-tool %{buildroot}%{_bindir}/%{name}-tool
Packit Service 584ef9
Packit Service 584ef9
# Init script
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
install -Dp -m0755 scripts/memcached.service %{buildroot}%{_unitdir}/%{name}.service
Packit Service 584ef9
install -Dp -m0755 scripts/memcached@.service %{buildroot}%{_unitdir}/%{name}@.service
Packit Service 584ef9
Packit Service 584ef9
if [ %{safer_systemd} -gt 0 ]; then
Packit Service 584ef9
    sed -e 's/^##safer##//g' -i %{buildroot}%{_unitdir}/%{name}.service %{buildroot}%{_unitdir}/%{name}@.service
Packit Service 584ef9
else
Packit Service 584ef9
    sed -e 's/^##safer##/#/g' -i %{buildroot}%{_unitdir}/%{name}.service %{buildroot}%{_unitdir}/%{name}@.service
Packit Service 584ef9
fi
Packit Service 584ef9
%else
Packit Service 584ef9
install -Dp -m0755 scripts/memcached.sysv %{buildroot}%{_initrddir}/%{name}
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
# Default configs
Packit Service 584ef9
install -Dp -m0644 scripts/memcached.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name}
Packit Service 584ef9
Packit Service 584ef9
# pid directory
Packit Service 584ef9
mkdir -p %{buildroot}/%{_localstatedir}/run/%{name}
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%clean
Packit Service 584ef9
rm -rf %{buildroot}
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%post
Packit Service 584ef9
if [ $1 -eq 1 ]; then
Packit Service 584ef9
    # Initial install
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
Packit Service 584ef9
%else
Packit Service 584ef9
    /sbin/chkconfig --add %{name}
Packit Service 584ef9
%endif
Packit Service 584ef9
fi
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%preun
Packit Service 584ef9
if [ "$1" = 0 ] ; then
Packit Service 584ef9
    # Removal, not upgrade
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
    /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
Packit Service 584ef9
    /bin/systemctl --no-reload disable %{name}@\*.service > /dev/null 2>&1 || :
Packit Service 584ef9
    /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
Packit Service 584ef9
    /bin/systemctl stop %{name}@\*.service > /dev/null 2>&1 || :
Packit Service 584ef9
%else
Packit Service 584ef9
    /sbin/service %{name} stop > /dev/null 2&>1 || :
Packit Service 584ef9
    /sbin/chkconfig --del %{name}
Packit Service 584ef9
%endif
Packit Service 584ef9
fi
Packit Service 584ef9
Packit Service 584ef9
exit 0
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%postun
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
# Don't auto-restart memcached on upgrade -- let user control when cache flushes
Packit Service 584ef9
# if [ "$1" -ge 1 ]; then
Packit Service 584ef9
#    # upgrade, not install
Packit Service 584ef9
#    %if %{with_systemd}
Packit Service 584ef9
#        /bin/systemctl try-restart %{name}.service
Packit Service 584ef9
#        /bin/systemctl try-restart %{name}@\*.service
Packit Service 584ef9
#    %else
Packit Service 584ef9
#        /sbin/service %named condrestart 2>/dev/null || :
Packit Service 584ef9
#    %endif
Packit Service 584ef9
#fi
Packit Service 584ef9
Packit Service 584ef9
exit 0
Packit Service 584ef9
Packit Service 584ef9
Packit Service 584ef9
%files
Packit Service 584ef9
%defattr(-,root,root,-)
Packit Service 584ef9
%doc AUTHORS ChangeLog COPYING NEWS README.md doc/CONTRIBUTORS doc/*.txt
Packit Service 584ef9
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
Packit Service 584ef9
Packit Service 584ef9
%dir %attr(750,nobody,nobody) %{_localstatedir}/run/%{name}
Packit Service 584ef9
%{_bindir}/%{name}-tool
Packit Service 584ef9
%{_bindir}/%{name}
Packit Service 584ef9
%{_mandir}/man1/%{name}.1*
Packit Service 584ef9
%{_includedir}/%{name}
Packit Service 584ef9
Packit Service 584ef9
%if %{with_systemd}
Packit Service 584ef9
%{_unitdir}/%{name}.service
Packit Service 584ef9
%{_unitdir}/%{name}@.service
Packit Service 584ef9
%else
Packit Service 584ef9
%{_initrddir}/%{name}
Packit Service 584ef9
%endif
Packit Service 584ef9
Packit Service 584ef9
%changelog
Packit Service 584ef9
* Wed Jul  5 2017 J. Grizzard <jg-github@lupine.org> - 1.4.39
Packit Service 584ef9
- Add systemd-aware build
Packit Service 584ef9
- Add both static and instanced versions of memcached unit files
Packit Service 584ef9
Packit Service 584ef9
* Mon Nov  2 2009 Dormando <dormando@rydia.net> - 1.4.3-1
Packit Service 584ef9
- Fix autogen more.
Packit Service 584ef9
Packit Service 584ef9
* Sat Aug 29 2009 Dustin Sallings <dustin@spy.net> - 1.4.1-1
Packit Service 584ef9
- Autogenerate the version number from tags.
Packit Service 584ef9
Packit Service 584ef9
* Wed Jul  4 2007 Paul Lindner <lindner@inuus.com> - 1.2.2-5
Packit Service 584ef9
- Use /var/run/memcached/ directory to hold PID file
Packit Service 584ef9
Packit Service 584ef9
* Sat May 12 2007 Paul Lindner <lindner@inuus.com> - 1.2.2-4
Packit Service 584ef9
- Remove tabs from spec file, rpmlint reports no more errors
Packit Service 584ef9
Packit Service 584ef9
* Thu May 10 2007 Paul Lindner <lindner@inuus.com> - 1.2.2-3
Packit Service 584ef9
- Enable build-time regression tests
Packit Service 584ef9
- add dependency on initscripts
Packit Service 584ef9
- remove memcached-debug (not needed in dist)
Packit Service 584ef9
- above suggestions from Bernard Johnson
Packit Service 584ef9
Packit Service 584ef9
* Mon May  7 2007 Paul Lindner <lindner@inuus.com> - 1.2.2-2
Packit Service 584ef9
- Tidiness improvements suggested by Ruben Kerkhof in bugzilla #238994
Packit Service 584ef9
Packit Service 584ef9
* Fri May  4 2007 Paul Lindner <lindner@inuus.com> - 1.2.2-1
Packit Service 584ef9
- Initial spec file created via rpmdev-newspec