私は自分のJavaコード用にRPMをビルドしようとしています.RPMビルドおよびインストールセクションは正常に機能しますが、後でいくつかのファイルを作成してJavaアプリケーションを起動するシェルスクリプトファイルを実行するために%postセクションにシェルスクリプトを追加しました。正常にコピーされましたが、%postセクションで、失敗した依存関係のbin / shエラーが発生します。Linuxマシンでrpmをビルドしており、ターゲットマシンはcentOSです。AutoReqProvも試しました。スペックファイルにありません。インストールを実行していません。ルートユーザーとして、また、ターゲットマシンにANT(Javaコードをビルドするためにそれを使用するiam-これは問題に関連していない可能性があります)がインストールされていることは期待されていません。以下のコードを添付しています。デフォルトのインストール場所は次のとおりです。 tmpフォルダー(テスト用)。
Summary: test Summary: test
Name: test
Version: 1
Release: 1
License: Restricted
Group: Applications/System
BuildRoot: ~/rpm/BUILD/helloworld-root
URL: http://mycompany.net/helloworld.tar
Vendor: Mycompany
Packager: Mycompany
Prefix: /tmp
BuildArchitectures: x86_64
%description
Hello World
%prep
pwd
%build
pwd
echo "changing directory"
echo $RPM_BUILD_ROOT
cd %{_sourcedir}
pwd
ant -f testbuild.xml
%install
pwd
echo "in install"
echo $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/tmp/test/
cd $RPM_BUILD_ROOT/tmp/test/
tar -xf %{_builddir}/test.tar
%post
sh /tmp/test/createdb.sh
%clean
%files
/tmp/test
%changelog
私もグーグルで検索しましたが、仕様からシェルスクリプトを実行する方法を見つけることができませんでした.oust postセクションで、コマンドラインを実行しようとしましたが、問題がどこにあるかを指摘できれば助かりますか?