RPM构建在安装部分失败

Tad*_*zys 2 linux ubuntu rpm rpmbuild

我正在尝试构建我的第一个rpm包,它是一个简单的可执行文件(mysh)。

我的规格文件:

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
Run Code Online (Sandbox Code Playgroud)

失败并显示以下错误:

cd: 8: can't cd to /home/tadzys/rpm/BUILDROOT/mysh-1.0-1.x86_64
Run Code Online (Sandbox Code Playgroud)

当然该文件不存在。我尝试将其复制到那里仍然存在相同的错误。不知道我的安装部分是否应将任何内容放到BUILDROOT文件夹中。

我在Ubuntu 11.04上。

Man*_*y D 6

在本%install节中的目标计算机中引用目录时,您需要引用与$RPM_BUILD_ROOT(或%{buildroot})相关的所有内容:

%install
cp mysh $RPM_BUILD_ROOT/usr/local/bin/mysh
Run Code Online (Sandbox Code Playgroud)

%files节并没有需要更新,但是。

另外,install在周围复制文件时,应考虑使用该命令。与相似cp,但install允许您设置目标文件的权限位:

%install
install -m 755 mysh $RPM_BUILD_ROOT/usr/local/bin/mysh
Run Code Online (Sandbox Code Playgroud)