Aunque el comando pkgproto es útil para crear un archivo prototype inicial, no crea entradas para cada objeto de paquete que se deba definir. Este comando no hace entradas completas. El comando pkgproto no hace ninguna de las acciones siguientes:
Crear entradas completas para objetos con tipos de archivos v (archivos volátiles), e (archivos modificables), x (directorios exclusivos) o i (archivos de información o secuencias de comandos de instalación)
Admitir varias clases con una única invocación
Como mínimo, es necesario modificar el archivo prototype para agregar objetos con el tipo de archivo i. Si ha guardado los archivos de información y las secuencias de comandos de instalación en el primer nivel del directorio de paquetes (por ejemplo /home/jane/SUNWcadap/pkginfo), una entrada del archivo prototype tendría el aspecto siguiente:
i pkginfo |
Si no almacenó los archivos de información ni las secuencias de comandos de instalación en el primer nivel del directorio de paquetes, debe especificar la ubicación de origen. Por ejemplo:
i pkginfo=/home/jane/InfoFiles/pkginfo |
O bien, puede usar el comando !search para especificar la ubicación del comando pkgmk que se debe comprobar al construir el paquete. Consulte Cómo proporcionar una ruta de búsqueda para el comando pkgmk para obtener más información.
Para agregar entradas a objetos con los tipos de archivos v, e y x, siga el formato que se describe en Formato del archivo prototype, o bien consulte la página de comando man prototype(4).
Recuerde asignar siempre una clase a los archivos con un tipo de archivo e (modificable) y tenga una secuencia de comandos de acción de clase asociada a esa clase. De lo contrario, los archivos se suprimirán durante la eliminación de los paquetes, aunque el nombre de la ruta se guarde con otros paquetes.
Si usa el comando pkgproto para crear el archivo prototype básico, puede asignar todos los objetos de paquetes a la clase none o a una clase específica. Tal como se muestra en Ejemplo: creación de un archivo prototype con el comando pkgproto, el comando pkgproto básico asigna todos los objetos a la clase none. Para asignar todos los objetos a una clase específica, puede usar la opción -c. Por ejemplo:
$ pkgproto -c classname /home/jane/SUNWcadap > /home/jane/InfoFiles/prototype |
Si usa varias clases, puede que necesite modificar manualmente el archivo prototype y modificar el campo clase para cada objeto. Si usa clases, también debe definir el parámetro CLASSES en el archivo pkginfo y escribir las secuencias de comandos de acción de clase. El uso de clases es una característica optativa que se trata en detalle en Escritura de secuencias de comandos de acción de clase.
Dado el archivo prototype creado por el comando pkgproto en Ejemplo: creación de un archivo prototype con el comando pkgproto, es necesario llevar a cabo varias modificaciones.
Debe haber una entrada para el archivo pkginfo.
Es necesario cambiar los campos ruta al formato ruta1=ruta2 porque el origen del paquete se encuentra en /home/jane. Debido a que el origen del paquete es un directorio jerárquico y el comando !search no busca de forma recursiva, puede que sea más sencillo usar el formato ruta1=ruta2.
Los campos propietario y grupo deben contener los nombres de usuarios y grupos del sistema de destino. Es decir, la propietaria jane provocará un error porque esta propietaria no forma parte del sistema operativo SunOSTM.
El archivo prototype modificado tiene el aspecto siguiente:
i pkginfo=/home/jane/InfoFiles/pkginfo d none SUNWcadap=/home/jane/SUNWcadap 0755 root sys d none SUNWcadap/demo=/home/jane/SUNWcadap/demo 0755 root bin f none SUNWcadap/demo/file1=/home/jane/SUNWcadap/demo/file1 0555 root bin d none SUNWcadap/srcfiles=/home/jane/SUNWcadap/srcfiles 0755 root bin f none SUNWcadap/srcfiles/file5=/home/jane/SUNWcadap/srcfiles/file5 0555 root bin f none SUNWcadap/srcfiles/file6=/home/jane/SUNWcadap/srcfiles/file6 0555 root bin d none SUNWcadap/lib=/home/jane/SUNWcadap/lib 0755 root bin f none SUNWcadap/lib/file2=/home/jane/SUNWcadap/lib/file2 0644 root bin d none SUNWcadap/man=/home/jane/SUNWcadap/man 0755 bin bin f none SUNWcadap/man/windex=/home/jane/SUNWcadap/man/windex 0644 root other d none SUNWcadap/man/man1=/home/jane/SUNWcadap/man/man1 0755 bin bin f none SUNWcadap/man/man1/file4.1=/home/jane/SUNWcadap/man/man1/file4.1 0444 bin bin f none SUNWcadap/man/man1/file3.1=/home/jane/SUNWcadap/man/man1/file3.1 0444 bin bin |