Puede usar variables en los archivos de información necesarios, pkginfo y prototype. También puede usar una opción con el comando pkgmk, que se utiliza para construir un paquete. Todos estos archivos y comandos se tratan en este capítulo; se ofrece asimismo más información contextual sobre variables. Sin embargo, cuando comience a construir el paquete, debe comprender los diferentes tipos de variables y cómo pueden afectar a la creación satisfactoria de un paquete.
Hay dos tipos de variables:
Las variables de construcción comienzan por minúscula y se evalúan en el tiempo de construcción, ya que el paquete se construye con el comando pkgmk.
Las variables de instalación comienzan por mayúscula y se evalúan en el tiempo de instalación, ya que el paquete se instala con el comando pkgadd.
En el archivo pkginfo, una definición de variable toma el formato de PARAM=value, donde la primera letra de PARAM está en mayúsculas. Estas variables se evalúan sólo en el tiempo de la instalación. Si alguna de estas variables no se puede evaluar, el comando pkgadd se cancela con un error.
En el archivo prototype, una definición de variable puede tomar el formato !PARAM=value o $variable. Tanto PARAM como variable puede comenzar por mayúsculas o minúsculas. Sólo se evalúan las variables cuyos valores sean conocidos en el tiempo de la construcción. Si PARAM o variable es una variable de construcción o de instalación cuyo valor no sea conocido en el tiempo de la construcción, el comando pkgmk se cancela con un error.
También puede incluir PARAM=value como opción para el comando pkgmk. Esta opción trabaja del mismo modo que en el archivo prototype, excepto que su ámbito es global en todo el paquete. La definición !PARAM=value en un archivo prototype es local para ese archivo y la parte del paquete que define.
Si PARAM es una variable de instalación y variable es una variable de instalación o de construcción con un valor conocido, el comando pkgmk inserta la definición en el archivo pkginfo de forma que la definición estará disponible en el tiempo de la instalación. Sin embargo, el comando pkgmk no evalúa las PARAM que se encuentren en nombres de ruta especificados en el archivo prototype.
La tabla siguiente resume la ubicación, el ámbito y los formatos de especificación de variables.
Tabla 2–2 Resumen de variables de entorno de paquetes
Donde se define la variable |
Formato de definición de variable |
Tipo de variable que se define |
Cuando la variable se evalúa |
Donde se evalúa la variable |
Elementos por los que se puede sustituir la variable |
---|---|---|---|---|---|
Archivo pkginfo |
PARAM=value |
Construcción |
Ignorado en el tiempo de la construcción |
N/D |
Ninguna |
Instalación |
Tiempo de la instalación |
En el archivo pkgmap |
propietario, grupo, ruta o destino de vínculo |
|
|
Archivo prototype |
!PARAM=value |
Construcción |
Tiempo de construcción |
En el archivo prototype y cualquier archivo que se incluya |
modo, propietario, grupo o ruta |
Instalación |
Tiempo de construcción |
En el archivo prototype y cualquier archivo que se incluya |
Comandos !search y !command solamente |
|
|
Línea de comandos de pkgmk |
PARAM=value |
Construcción |
Tiempo de construcción |
En el archivo prototype |
modo, propietario, grupo o ruta |
Instalación |
Tiempo de construcción |
En el archivo prototype |
Comando !search solamente |
|
|
Tiempo de la instalación |
En el archivo pkgmap |
propietario, grupo, ruta o destino de vínculo |
|
|
|