免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1182 | 回复: 1
打印 上一主题 下一主题

[系统安装] 菜鸟又来文问题了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-05 11:31 |只看该作者 |倒序浏览
%define name  nginx
%define version 1.0.15
%define nginxdir  /usr/local/nginx/
%define nginxinit  /etc/rc.d/init.d/nginx
%define nginxuser www
Name : %{name}
Version : %{version}
Release : 1
License : GPL
Group : Application/Productivity
source0 : nginx-1.0.15.tar.gz
source1 : nginx.init
Vendor : http://nginx.org/download
URL : http://nginx.org/download/nginx-1.0.15.tar.gz
Summary : nginx is http web
BuildRoot : %{_topdir}/BUILDROOT
BuildRequires : gcc,pcre-devel,openssl-devel
%Description
nginx is http web

%prep
%setup -q

%build
./configure \
--prefix=%{nginxdir}  \
--user=www \
--group=www \
--with-http_mp4_module \
--with-http_gzip_static_module  \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_ssl_module
make
%install
%{__rm} -fr %{buildroot}
make install  DESTDIR="%{buildroot}"
%{__rm} -fr  %{buildroot}/%{nginxinit}
install -p -D -m 0755 %{SOURCE1} %{buildroot}/%{nginxinit}
%pre
if  [ $1 == 1 ]
then
   useradd  %{nginxuser}  2>/dev/null  || :
fi
%post
if  [  $1  == 1 ]
then
/sbin/chkconfig --add %{name}
fi
%preun
if [ $1 == 0 ]
then
/sbin/service %{name} stop  > /dev/null  2>&1
/sbin/chkconfig  --del %{name}
fi
%postun




%clean
rm -fr %{buildroot}

%files
%defattr(-,root,root,0755)
%{nginxdir}
%{nginxinit}



用这个spec文件制作rpm包,可以安装也卸载,但是有个问题
就是nginx在安装好的不包括logs/access.log 这样的文件
导致在卸载的时候,不能自动删除nginx  目录
我知道有2个方法可以解决,
1,在%postun 段定义
rm -fr  %{nginxdir}
2,在%files段将文件加进去
但是1可能不安装,2,又太麻烦
我也想过运行下nginx,这样就可以得到全部目录,但是这样也不方便
请指导下,该如何解决呢,  


论坛徽章:
0
2 [报告]
发表于 2012-12-05 12:20 |只看该作者
没人理我吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP