2

最初のrpmパッケージをビルドしようとしています。これは1つの単純な実行可能ファイル(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

次のエラーで失敗します。

cd: 8: can't cd to /home/tadzys/rpm/BUILDROOT/mysh-1.0-1.x86_64

もちろん、このファイルはそこには存在しません。私はそれをそこにコピーしようとしましたが、それでも同じエラーがあります。インストールセクションでBUILDROOTフォルダーに何かを配置する必要があるかどうかわかりません。

私はUbuntu11.04を使用しています。

4

1 に答える 1

6

セクション内のターゲットマシンのディレクトリを参照するときは、以下%installに関連するすべてを参照する必要があります$RPM_BUILD_ROOT(または%{buildroot})。

%install
cp mysh $RPM_BUILD_ROOT/usr/local/bin/mysh

ただし、%filesセクションを更新する必要はありません。

また、installファイルをコピーするときは、このコマンドの使用を検討する必要があります。これはに似てcpinstallますが、ターゲットファイルのアクセス許可ビットを設定できます。

%install
install -m 755 mysh $RPM_BUILD_ROOT/usr/local/bin/mysh
于 2011-09-11T02:11:55.237 に答える