当前位置: 技术问答>linux和unix
关于RPM打包问题
来源: 互联网 发布时间:2016-09-06
本文导语: 我用rpmbuild制作rpm包,SPEC文件部分内容如下: %prep %setup -q %build ./configure make %install make DESTDIR=$RPM_BUILD_ROOT install cp %{SOURCE1} /etc/xdg/autostart/ %files %defattr(-,root,root) /usr/local/bin/mclient %doc README 其中Source1: mclient.deskt...
我用rpmbuild制作rpm包,SPEC文件部分内容如下:
%prep
%setup -q
%build
./configure
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
cp %{SOURCE1} /etc/xdg/autostart/
%files
%defattr(-,root,root)
/usr/local/bin/mclient
%doc README
其中Source1: mclient.desktop,cp %{SOURCE1} /etc/xdg/autostart/这条命令法人目的是想让这个软件开机自动运行,我执行rpmbuild -ba xxxxx.spec文件一切正常,可以生成xxxx.i386.rpm包,也可以正确执行cp %{SOURCE1} /etc/xdg/autostart/这个命令。但是,为什么执行rpm -ivh xxxx.i386.rpm安装这个rpm
包时,软件可以正常安装,可是cp %{SOURCE1} /etc/xdg/autostart/这条命令没有被执行,请问该怎么处理阿?
%prep
%setup -q
%build
./configure
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
cp %{SOURCE1} /etc/xdg/autostart/
%files
%defattr(-,root,root)
/usr/local/bin/mclient
%doc README
其中Source1: mclient.desktop,cp %{SOURCE1} /etc/xdg/autostart/这条命令法人目的是想让这个软件开机自动运行,我执行rpmbuild -ba xxxxx.spec文件一切正常,可以生成xxxx.i386.rpm包,也可以正确执行cp %{SOURCE1} /etc/xdg/autostart/这个命令。但是,为什么执行rpm -ivh xxxx.i386.rpm安装这个rpm
包时,软件可以正常安装,可是cp %{SOURCE1} /etc/xdg/autostart/这条命令没有被执行,请问该怎么处理阿?
|
首先要分清楚,"制作rpm包" 和 "安装rpm包" 的区别
你希望的是安装的时候执行cp,而不是制作的时候cp
安装的时候使用的是
%pre 安装前执行
%post 安装后执行
显然,你是需要安装好以后再cp,所以应该把cp的命令放到%post下面,
另外,用cp来自动启动太业余了, 你可以配置成服务, 通过chkconfig, service来启动,
你希望的是安装的时候执行cp,而不是制作的时候cp
安装的时候使用的是
%pre 安装前执行
%post 安装后执行
显然,你是需要安装好以后再cp,所以应该把cp的命令放到%post下面,
另外,用cp来自动启动太业余了, 你可以配置成服务, 通过chkconfig, service来启动,