4.3.4. Uso de scripts que no son de Shell en un archivo SPEC
La opción -p
scriptlet en un archivo SPEC permite al usuario invocar un intérprete específico en lugar del intérprete de scripts de shell por defecto (-p /bin/sh
).
El siguiente procedimiento describe cómo crear una secuencia de comandos que imprima un mensaje tras la instalación del programa pello.py
:
Procedimiento
-
Abra el archivo
pello.spec
. Encuentra la siguiente línea:
install -m 0644 %{nombre}.py* %{buildroot}/usr/lib/%{nombre}/
Debajo de la línea anterior, insértese:
%post -p /usr/bin/python3 print("This is {} code".format("python"))
- Construya su paquete como se describe en Sección 3.3, “Construir RPMs”.
Instala tu paquete:
# yum install /home/<username>/rpmbuild/RPMS/noarch/pello-0.1.2-1.el8.noarch.rpm
Compruebe el mensaje de salida después de la instalación:
Installing : pello-0.1.2-1.el8.noarch 1/1 Running scriptlet: pello-0.1.2-1.el8.noarch 1/1 This is python code
Para utilizar un script de Python 3, incluya la siguiente línea en install -m
en un archivo SPEC:
%post -p /usr/bin/python3
Para utilizar un script Lua, incluya la siguiente línea en install -m
en un archivo SPEC:
%post -p <lua>
De esta manera, puede especificar cualquier intérprete en un archivo SPEC.