6.3.6. spec ファイルでのシェルスクリプト以外のスクリプトの使用
spec ファイルの -p スクリプトレットオプションを使用すると、ユーザーはデフォルトのシェルスクリプトインタープリター (-p /bin/sh) の代わりに特定のインタープリターを呼び出すことができます。
次の手順では、pello.py プログラムのインストール後にメッセージを出力するスクリプトの作成方法を説明します。
手順
-
pello.specファイルを開きます。 以下の行を見つけます。
install -m 0644 %{name}.py* %{buildroot}/usr/lib/%{name}/上記の行の下に、以下を挿入します。
%post -p /usr/bin/python3 print("This is {} code".format("python"))- RPM のビルド の説明に従ってパッケージをビルドします。
パッケージをインストールします。
# dnf install /home/<username>/rpmbuild/RPMS/noarch/pello-0.1.2-1.el9.noarch.rpmインストール後に出力メッセージを確認します。
Installing : pello-0.1.2-1.el9.noarch 1/1 Running scriptlet: pello-0.1.2-1.el9.noarch 1/1 This is python code
Python 3 スクリプトを使用するには、spec ファイルの install -m の下に次の行を含めます。
%post -p /usr/bin/python3
Lua スクリプトを使用するには、SPEC ファイルの install -m に次の行を含めます。
%post -p <lua>
このようにして、spec ファイルで任意のインタープリターを指定できます。