Blame memcached.spec

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