rpmbuild を「実行」する tcl スクリプトがあります。その際、rpmbuild が使用する「topdir」が間違っています。ホーム ディレクトリに .rpmmacros ファイルがあり、手動で rpmbuild を呼び出すと、正常に動作します。「topdir」はデフォルトのものではありません。
[exec rpmbuild "--showrc" ]を Tcl スクリプトに追加して、 topdirの値を確認すると、デフォルト値である「-14: _topdir %{_usrsrc}/redhat」と表示されます。
誰かがその状況とそれを解決する方法を説明できますか?
--define で指定する必要はありません。これは、実際にはメイクファイルで行われ、触れたくないためです (他に選択肢がない場合は、そうします)。