rpmbulid学习redis打包
2015-06-09 14:05
399 查看
线上redis制作rpm包的过程:
# Check for status of man pages # http://code.google.com/p/redis/issues/detail?id=202 Name: redis Version: 2.8.17 Release: 3%{?dist} Summary: A persistent key-value database Group: Applications/Databases License: BSD URL: http://redis.io Source0: %{name}-%{version}.tar.gz #source1 为redis的启动文件 #source2 为redis的配置文件 Source1: redis Source2: redis.conf_2.8 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: tcl >= 8.5 ExcludeArch: ppc64 #Requires: logrotate Requires(post): chkconfig Requires(postun): initscripts Requires(pre): shadow-utils Requires(preun): chkconfig Requires(preun): initscripts %description Redis is an advanced key-value store. It is similar to memcached but the data set is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All this data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, difference between sets, and so forth. Redis supports different kind of sorting abilities. %prep %setup -q %build make %{?_smp_mflags} \ DEBUG='' \ CFLAGS='%{optflags}' \ V=1 \ all #%check #make test %install rm -fr %{buildroot} make install PREFIX=%{buildroot}%{_prefix} # Install misc other #install -p -D -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf install -p -D -m 755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/%{name} install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}.conf install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name} install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name} install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name} # install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name} # Fix non-standard-executable-perm error chmod 755 %{buildroot}%{_bindir}/%{name}-* # Ensure redis-server location doesn't change mkdir -p %{buildroot}%{_sbindir} mv %{buildroot}%{_bindir}/%{name}-server %{buildroot}%{_sbindir}/%{name}-server %clean rm -fr %{buildroot} %post /sbin/chkconfig --add redis %pre getent group redis &> /dev/null || groupadd -r redis &> /dev/null getent passwd redis &> /dev/null || \ useradd -r -g redis -d %{_sharedstatedir}/redis -s /sbin/nologin \ -c 'Redis Server' redis &> /dev/null exit 0 %preun if [ $1 = 0 ]; then /sbin/service redis stop &> /dev/null /sbin/chkconfig --del redis &> /dev/null fi %files %defattr(-,root,root) %doc 00-RELEASENOTES BUGS CONTRIBUTING COPYING README #%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/%{name}.conf %config(noreplace) %{_sysconfdir}/init.d/%{name} %dir %attr(0755, redis, root) %{_localstatedir}/lib/%{name} %dir %attr(0755, redis, root) %{_localstatedir}/log/%{name} %dir %attr(0755, redis, root) %{_localstatedir}/run/%{name} %{_bindir}/%{name}-* %{_sbindir}/%{name}-* #%{_initrddir}/%{name} %changelog * Sat Mar 31 2015 yanliang wang <wyl410505@gmail.com> - 2.8.17-1 - Update to redis 2.8.17
相关文章推荐
- php 远程调用redis
- Redis命令学习-string类型操作
- redis执行流程源码分析
- Redis-事务总结
- Redis简单搭建配置。
- NoSQL数据库-MongoDB和Redis
- Redis学习手册——转载
- Redis数据库教程——系统详解学习Redis全过程
- 超强、超详细Redis数据库入门教程
- redis sum(三)
- redis学习
- 如何阅读 Redis 源码?
- 10 quick tips for Redis
- 10 quick tips for Redis
- 10 quick tips for Redis
- Redis 起步
- nginx+lua+redis高并发应用建设
- centos安装redis3为系统服务
- 使用Spring-Redis实现消息的发布/订阅
- Redis 集群部署