Para configurar la instalación selectiva en este caso práctico, debe completar las tareas siguientes:
Defina una clase para cada tipo de objeto que se pueda instalar.
En este caso práctico, los tres tipos de objetos son paquetes ejecutables, páginas de comando man y ejecutables emacs. Cada tipo tiene su propia clase: bin, man y emacs, respectivamente. Observe que en el archivo prototype todos los archivos de objetos pertenecen a una de estas tres clases.
Inicialice el parámetro CLASSES en el archivo pkginfo con el valor de nulo.
Normalmente, cuando define una clase, debe enumerar esa clase del parámetro CLASSES en el archivo pkginfo. De lo contrario, no se instalan objetos en esa clase. Para este caso práctico, el parámetro se configura inicialmente con el valor nulo, lo cual significa que no se instalarán objetos. La secuencia de comandos request cambiará el parámetro CLASSES, de acuerdo con las opciones del administrador. De este modo, el parámetro CLASSES se configura sólo en estos tipos de objetos que el administrador desea instalar.
Por lo general, es una buena idea configurar los parámetros con un valor predeterminado. Si este paquete tuviese componentes comunes a los tres tipos de objetos, podría asignarlos a la clase none, y después configurar el parámetro CLASSES igual a none.
Inserte nombres de ruta paramétricos en el archivo prototype.
La secuencia de comandos request configura estas variables de entorno con el valor que el administrador proporciona. Posteriormente, el comando pkgadd resuelve estas variables de entorno en el tiempo de la instalación y sabe dónde instalar el paquete.
Las tres variables de entorno usadas en este ejemplo se configuran con el valor predeterminado en el archivo pkginfo y sirven a los fines siguientes:
$NCMPBIN define la ubicación de los ejecutables de objetos
$NCMPMAN define la ubicación de las páginas de comando man
$EMACS define la ubicación de los ejecutables emacs
El archivo prototype de ejemplo muestra cómo definir los nombres de ruta de objeto con variables.
Cree una secuencia de comandos request para preguntar al administrador qué partes del paquete se deben instalar y dónde se deben colocar.
La secuencia de comandos request para este paquete hace al administrador dos preguntas:
¿Se debe instalar esta parte del paquete?
Si la respuesta es sí, el nombre de clase adecuado se agrega al parámetro CLASSES. Por ejemplo, si el administrador elige instalar las páginas de comando man asociadas a este paquete, la clase man se agrega al parámetro CLASSES.
Si es así, ¿dónde se debe colocar esta parte del paquete?
La variable de entorno adecuada se configura con la respuesta a esta pregunta. En el ejemplo de la página de comando man, la variable $NCMPMAN se configura con el valor de la respuesta.
Estas dos preguntas se repiten para cada uno de los tres tipos de objetos.
Al final de la secuencia de comandos request, los parámetros quedan disponibles para el entorno de instalación para el comando pkgadd y otras secuencias de comandos de creación de paquetes. Para ello, la secuencia de comandos request escribe estas definiciones en el archivo proporcionado por la utilidad de llamadas. Para este caso práctico no se proporcionan otras secuencias de comandos.
Al consultar la secuencia de comandos request para este caso práctico, tenga en cuenta que las preguntas se generan mediante las herramientas de validación de datos ckyorn y ckpath. Para obtener más información sobre estas herramientas, consulte ckyorn(1) y ckpath(1).