システムによってディレクトリが異なるパッケージにファイルを含めたいと思います。
私はディレクトリを定義します
%define completions_dir "%( pkg-config --variable=completionsdir bash-completion )"
たとえば、私はこれをうまく使うことができます
%install
make DESTDIR=${RPM_BUILD_ROOT}%{nagiospluginsdir} MANDIR=${RPM_BUILD_ROOT}%{_mandir} COMPLETIONDIR=${RPM_BUILD_ROOT}%{completions_dir} install
問題は、ファイルのリストを定義する必要があるときです。
ファイルがそこにあります。次の作品
%files
/usr/share/bash-completion/completions/check_ssl_cert
変数を使用する場合
%files
%{completions_dir}/check_ssl_cert
次のエラーが発生します。
RPM build errors:
More than one file on a line: /check_ssl_cert
デバッグを試みました。
%files
/%{completions_dir}/check_ssl_cert
%endif
この場合、私は得る
File not found: /root/rpmbuild/BUILDROOT/nagios-plugins-check_ssl_cert-2.20.0-0.fc35.x86_64/"/usr/share/bash-completion/completions"/check_ssl_cert
パスは正確ですが、引用符に問題があります。
マクロ定義パスを使用してファイルを含める方法は?
ベストアンサー1
引用符を削除します。
%define completions_dir %( pkg-config --variable=completionsdir bash-completion )
変える
%define completions_dir "%( pkg-config --variable=completionsdir bash-completion )"
参考として-を%global
使用する必要があります%define
。