La secuencia de comandos request es el único modo de que su paquete pueda interactuar directamente con el administrador que lo instale. Esta secuencia de comandos se puede usar, por ejemplo, para preguntar al administrador si deben instalarse partes optativas de un paquete.
La salida de una secuencia de comandos request debe ser una lista de variables de entorno y sus valores. Esta lista puede incluir alguno de los parámetros que haya creado en el archivo pkginfo, así como los parámetros CLASSES y BASEDIR. La lista también puede presentar variables de entorno que no se hayan definido en otro lugar. Sin embargo, el archivo pkginfo debe ofrecer siempre valores predeterminados cuando convenga. Para obtener más información sobre las variables de entorno del paquete, consulte Variables de entorno de paquetes.
Cuando la secuencia de comandos request asigna valores a una variable de entorno, debe conseguir que esos valores estén disponibles para el comando pkgadd y otras secuencias de comandos de paquetes.
La secuencia de comandos request no puede modificar archivos. Esta secuencia de comandos sólo interactúa con administradores que instalen el paquete y crea una lista de asignaciones de variables de entorno basadas en esa interacción. La secuencia de comandos request se ejecuta como el usuario sin privilegios install si existe dicho usuario. De lo contrario, la secuencia de comandos se ejecuta como root.
El comando pkgadd llama a la secuencia de comandos request con un argumento que nombra el archivo de respuesta de la secuencia de comandos. El archivo de respuesta almacena las respuestas el administrador.
La secuencia de comandos request no se ejecuta durante la eliminación de paquetes. Sin embargo, las variables de entorno asignadas por la secuencia de comandos se guardan y están disponibles durante la eliminación de paquetes.
Sólo puede haber una secuencia de comandos request por paquete. La secuencia de comandos debe llevar el nombre de request.
Las asignaciones de variables de entorno se deben agregar al entorno de instalación para que las use el comando pkgadd y otras secuencias de comandos de creación de paquetes; para ello, escríbalas en el archivo de respuesta (conocido para la secuencia de comandos como $1).
Las variables de entorno del sistema y las variables de entorno de instalación estándar, excepto en el caso de los parámetros CLASSES y BASEDIR, no las puede modificar una secuencia de comandos request. Puede cambiar cualquiera de las demás variables de entorno que haya creado.
Una secuencia de comandos request sólo puede modificar el parámetro BASEDIR a partir de Solaris 2.5 y versiones compatibles.
A cada variable de entorno que la secuencia de comandos request pueda manipular se debe asignar un valor predeterminado en el archivo pkginfo.
El formato de la lista de salida debe ser PARAM=value. Por ejemplo:
CLASSES=none class1 |
El terminal del administrador debe definirse como entrada estándar a la secuencia de comandos request.
No lleve a cabo análisis especiales del sistema de destino en una secuencia de comandos request. Es arriesgado buscar en el sistema la presencia de determinados binarios o comportamientos, así como establecer las variables de entorno de acuerdo con ese análisis. No hay garantías de que la secuencia de comandos request se ejecutará realmente en el tiempo de la instalación. El administrador que instale el paquete puede proporcionar un archivo de respuesta que insertará las variables de entorno sin llamar nunca a la secuencia de comandos request. Si la secuencia de comandos request también evalúa el sistema de archivos de destino, puede que dicha evaluación no tenga lugar. Es mejor dejar el análisis del sistema de destino para que reciba un tratamiento especial a la secuencia de comandos checkinstall.
Si los administradores que instalen el paquete pudieran utilizar JumpStartTM, la instalación del paquete no debe ser interactiva. No debe proporcionar una secuencia de comandos request con su paquete, o bien debe comunicar a los administradores que deben usar el comando pkgask antes de la instalación. El comando pkgask guarda sus respuestas en la secuencia de comandos request. Para obtener más información sobre el comando pkgask, consulte la página de comando man pkgask(1M).