次のような仕様ファイルがあります。
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'
/etc/
ディレクトリ内にディレクトリを手動で作成し、次に/etc/logrotate.d
ディレクトリを作成することで、これを回避できます/tmp/build_my_app-1.0-2/
。
rpmbuild を再実行すると、機能します。
これは、インストールセクションにこのディレクトリを作成していないためだと思いますが、アプリケーションに直接関係していないため、入れたくありません。
私の推測では、手動の介入なしでビルドが機能するように、これを修正するために使用できる巧妙なタグがあると思います。
私の質問: 誰かがこれを達成する方法を提案してもらえますか (それが可能であると仮定します)、または最初にこれを設定するために rpmbuild に関するスクリプトを作成する必要があるかどうかを教えてください。