我正在尝试构建我的第一个rpm包,这是一个简单的可执行文件(mysh)。
我的spec文件:
Summary: bla <br>
Name: mysh <br>
Version: 1.0 <br>
Release: 1 <br>
Group: Applications <br>
Source: mysh-1.0.tar.gz <br>
URL: http://www.google.com <br>
Vendor: tadas sofware inc. <br>
Packager: tadas <br>
License: GPL
%description <br>
a very good program!
%prep <br>
rm -rf $RPM_BUILD_DIR/mysh-1.0 <br>
zcat $RPM_SOURCE_DIR/mysh-1.0.tar.gz | tar -xvf -
%build <br>
make
%install <br>
cp mysh /usr/local/bin/mysh
%files <br>
/usr/local/bin/mysh
失败并出现以下错误:
cd: 8: can't cd to /home/tadzys/rpm/BUILDROOT/mysh-1.0-1.x86_64
当然这个文件不存在。我试过复制它还有同样的错误。不确定我的安装部分是否应该将任何内容放到BUILDROOT文件夹中。
我在Ubuntu 11.04上。
答案 0 :(得分:4)
当您在%install
部分中引用目标计算机中的目录时,您需要引用与$RPM_BUILD_ROOT
(或%{buildroot}
)相关的所有内容:
%install
cp mysh $RPM_BUILD_ROOT/usr/local/bin/mysh
但%files
部分不需要更新。
此外,在复制文件时应考虑使用install
命令。它与cp
类似,但install
允许您为目标文件设置权限位:
%install
install -m 755 mysh $RPM_BUILD_ROOT/usr/local/bin/mysh