【发布时间】:2011-11-16 05:21:51
【问题描述】:
我有一个类似的规范文件:
BuildRoot: /tmp/build_%{name}-%{version}-%{release}
%prep
...
...
%install
# Directories
install -m 755 -d %{buildroot}/usr/app/mypackage/config
install -m 755 -d %{buildroot}/usr/app/mypackage/src
....
# Bash script
install -m 755 script/script1.sh %{buildroot}/usr/app/mypackage/config/script1.sh
install -m 755 script/script2.sh %{buildroot}/usr/app/mypackage/config/script2.sh
install -m 755 script/myapp-log %{buildroot}/etc/logrotate.d/myapp-log
当我运行 rpmbuild 时出现错误:
install: cannot create regular file `/tmp/build_my_app-1.0-2/etc/logrotate.d/myapp-log'
我可以通过在/tmp/build_my_app-1.0-2/ 目录中手动创建/etc/ 和/etc/logrotate.d 目录来解决此问题。
当我重新运行 rpmbuild 时,它会起作用。
我想这是因为我没有在我的安装部分创建这个目录,而是因为它与我的应用程序没有直接关系,我不想把它放进去。
我的猜测是我可以使用一些聪明的标签来解决这个问题,这样构建就可以在没有任何人工干预的情况下工作。
我的问题: 有人可以为我建议一种方法来实现这一点(假设它可能)或者我是否需要围绕 rpmbuild 编写一个脚本来首先设置它。
【问题讨论】: