Guía del desarrollador para la creación de paquetes de aplicaciones

Creación de un archivo prototype

prototype es un archivo ASCII utilizado para especificar información sobre los objetos de un paquete. Cada entrada del archivo prototype describe un único objeto, como un archivo de datos, un directorio, un archivo de origen o un objeto ejecutable. Las entradas de un archivo prototype constan de varios campos de información, separados por espacios en blanco. Observe que los campos deben aparecer en un orden concreto. Las líneas de comentarios comienzan por el signo de almohadilla (#) y se ignoran.

Puede crear un archivo prototype con un editor de texto o mediante el comando pkgproto. Cuando cree este archivo por primera vez, es probablemente más fácil hacerlo con el comando pkgproto, porque lo crea basándose en la jerarquía de directorios que haya creado anteriormente. Si no ha organizado los archivos tal como se describe en Organización del contenido de un paquete, tiene la pesada tarea de crear el archivo prototype a partir de cero con el editor de textos que desee.

Formato del archivo prototype

A continuación puede ver el formato de cada línea en el archivo prototype:


partftypeclasspathmajorminormodeownergroup

parte

Es un campo numérico optativo que le permite agrupar objetos de paquetes en partes. El valor predeterminado es parte 1. 

tipoa

Es un campo de un carácter que especifica el tipo de objeto. Consulte El campo tipoa.

clase

Es la clase de instalación a la que pertenece el objeto. Consulte El campo clase.

ruta

Es un nombre de ruta absoluta o relativa que indica dónde se ubicará el objeto del paquete en el sistema de destino. Consulte El campo ruta.

principal

Es el número de dispositivo principal para dispositivos especiales de caracteres o bloques. 

secundario

Es el número de dispositivo secundario para dispositivos especiales de caracteres o bloques. 

modo

Es el modo octal del objeto (por ejemplo, 0644). Consulte El campo modo.

propietario

Es el propietario del objeto (por ejemplo, bin o root). Consulte El campo propietario.

group

Es el grupo al que pertenecen los objetos (por ejemplo, bin o sys). Consulte El campo grupo.

Por lo general, sólo se definen los campos tipoa, clase, ruta, modo, propietario y grupo. Estos campos se describen en las secciones siguientes. Consulte la página de comando man prototype(4) para obtener información adicional sobre estos campos.

El campo tipoa

tipoa, o tipo de archivo, es un campo de un carácter que especifica el tipo de objeto de un paquete. Los tipos de archivos válidos se describen en la tabla siguiente

Tabla 2–3 Tipos de archivos válidos en el archivo prototype

Valor de campo de tipo de archivo 

Descripción del tipo de archivo 

f

Archivo ejecutable estándar o archivo de datos 

e

Archivo que se debe editar tras la instalación o la eliminación (lo pueden compartir varios paquetes) 

v

Archivo volátil (cuyo contenido se espera que cambie, como un archivo de registro) 

d

Directory 

x

Directorio exclusivo accesible sólo por este paquete (puede contener información de la base de datos o registros sin registrar) 

l

Archivo vinculado 

p

Conducción con nombre 

c

Dispositivo especial de caracteres 

b

Dispositivo especial de bloques 

i

Archivo de información o secuencia de comandos de instalación 

s

Vínculo simbólico 

El campo clase

Los nombres del campo clase muestran la clase a la que pertenece un objeto. El uso de clases es una función optativa de diseño de paquetes. Esta función se trata detalladamente en Escritura de secuencias de comandos de acción de clase.

Si no usa clases, un objeto pertenece a la clase none. Si ejecuta el comando pkgmk para construir el paquete, el comando inserta el parámetro CLASSES=none en el archivo pkginfo. Los archivos del tipo i deben tener un campo clase en blanco.

El campo ruta

El campo ruta se utiliza para definir dónde residirá el objeto de paquete en el sistema de destino. Puede indicar la ubicación con un nombre de ruta absoluta (por ejemplo, /usr/bin/mail) o un nombre de ruta relativa (por ejemplo, bin/mail). El uso de un nombre de ruta absoluta significa que la ubicación del objeto en el sistema de destino la define el paquete y no se puede cambiar. Los objetos del paquete con nombres de ruta relativa indican que el objeto es reubicable.

Un objeto reubicable no necesita una ubicación de ruta absoluta en el sistema de destino. Por el contrario, la ubicación del objeto se determina durante el proceso de instalación.

Todos o algunos de los objetos de un paquete se pueden definir como reubicables. Antes de escribir secuencias de comandos de instalación o crear el archivo prototype, decida si los objetos del paquete tendrán una ubicación fija (como secuencias de comandos de inicio en /etc) o si serán reubicables.

Hay dos tipos de objetos reubicables: reubicables colectivamente y reubicables individualmente.

Objetos reubicables colectivamente

Los objetos reubicables colectivamente se sitúan en relación a una base de instalación común llamada directorio base. Un directorio base se define en el archivo pkginfo, mediante el parámetro BASEDIR. Por ejemplo, un objeto reubicable del archivo prototype con el nombre tests/generic necesita que el archivo pkginfo defina el parámetro BASEDIR predeterminado. Por ejemplo:


BASEDIR=/opt

Este ejemplo significa que cuando se instala el objeto, se ubicará en el directorio /opt/tests/generic.


Nota –

El directorio /opt es el único al que se puede entregar software que no sea parte del software base de Solaris.


Use objetos reubicables colectivamente siempre que sea posible. En general, la parte principal de un paquete se puede reubicar con unos cuantos archivos (como los archivos en /etc o /var) especificados como absolutos. Sin embargo, si un paquete contiene muchas reubicaciones diferentes, considere la opción de dividir el paquete en diversos paquetes con diferentes valores BASEDIR en sus archivos pkginfo.

Objetos reubicables individualmente

Los objetos reubicables individualmente no se restringen a la misma ubicación del directorio como objetos reubicables colectivamente. Para definir un objeto reubicable individualmente, debe especificar una variable de instalación en el campo ruta del archivo prototype. Después de especificar la variable de instalación, cree una secuencia de comandos request para solicitar al instalador el directorio base reubicable, o bien una secuencia de comandos checkinstall para determinar el nombre de ruta a partir de los datos del sistema de archivos. Para obtener más información sobre las secuencias de comandos request, consulte Escritura de una secuencia de comandos request; para obtener más información sobre las secuencias de comandos checkinstall, consulte Cómo reunir datos del sistema de archivos.


Precaución – Precaución –

Los objetos reubicables individualmente son difíciles de administrar. El uso de objetos reubicables individualmente puede provocar que haya componentes de paquetes muy dispersos que sean difíciles de aislar al instalar varias versiones o arquitecturas del paquete. Use objetos reubicables colectivamente siempre que sea posible.


Nombres de rutas paramétricos

Un nombre de ruta paramétrico es un nombre de ruta que contiene la especificación de una variable. Por ejemplo, /opt/$PKGINST/nombre_archivo es un nombre de ruta paramétrico debido a la especificación de la variable $PKGINST. Se debe definir un valor predeterminado para especificar la variable en el archivo pkginfo. Posteriormente se puede cambiar el valor mediante una secuencia de comandos request o checkinstall.

La especificación de una variable en una ruta debe comenzar o terminar el nombre de la ruta, o bien estar marcado por barras oblicuas (/). Los nombres paramétricos válidos de rutas adoptan el formato siguiente:


$PARAM/tests
tests/$PARAM/generic
/tests/$PARAM

La especificación de la variable, una vez definida, puede provocar que la ruta se evalúe como absoluta o reubicable. En el ejemplo siguiente, el archivo prototype contiene esta entrada:


f none $DIRLOC/tests/generic

El archivo pkginfo contiene esta entrada:


DIRLOC=/myopt

El nombre de ruta $DIRLOC/tests/generic evalúa al nombre de ruta absoluta /myopt/tests/generic, independientemente de si el parámetro BASEDIR está configurado en el archivo pkginfo.

En este ejemplo, el archivo prototype es idéntico al del ejemplo anterior y el archivo pkginfo contiene las entradas siguientes:


DIRLOC=firstcut
BASEDIR=/opt

El nombre de ruta $DIRLOC/tests/generic evaluará al nombre de ruta reubicable /opt/firstcut/tests/generic.

Para obtener más información sobre nombres de rutas paramétricos, consulte Uso de directorios base paramétricos.

Unas palabras sobre las ubicaciones de origen y de destino del objeto

El campo ruta del archivo prototype define dónde se ubicará el objeto en el sistema de destino. Especifique la ubicación actual de los objetos del paquete en el archivo prototype si su estructura de directorios no refleja la estructura que se desea en el sistema de destino. Consulte Organización del contenido de un paquete para obtener más información sobre la estructuración de objetos en un paquete.

Si el área de desarrollo no está estructurada del mismo modo que desea para el paquete, puede usar el formato path1=path2 en el campo ruta. En este formato, ruta1 es la ubicación que el objeto debe tener en el sistema de destino y ruta2 es la ubicación que el objeto tiene en su sistema.

También puede usar el formato de nombre de ruta ruta1=ruta2 con ruta1 como nombre de objeto reubicable y ruta2 como nombre de ruta completo al objeto del sistema.


Nota –

Es posible que ruta1 no contenga variables de construcción sin definir, sino que contenga variables de instalación sin definir. Es posible que ruta2 no contenga variables sin definir, aunque se pueden usar las variables de construcción y de instalación. Para obtener más información sobre la diferencia entre las variables de instalación y de construcción, consulte Variables de entorno de paquetes.


Los vínculos deben usar el formato ruta1= ruta2 porque los crea el comando pkgadd. Como norma general, la ruta2 de un vínculo no debe ser nunca absoluta, sino que debe ser relativa a la parte del directorio de ruta1.

Una alternativa al uso del formato ruta1=ruta2 es usar el comando !search. Para obtener más información, consulte Cómo proporcionar una ruta de búsqueda para el comando pkgmk.

El campo modo

El campo modo puede contener un número octal, un signo de interrogación (?) o una especificación de variable. Un número octal especifica el modo del objeto cuando se instala en el sistema de destino. Un signo ? significa que no se cambiará el modo cuando se instale el objeto, lo cual implica que el objeto del mismo nombre ya existe en el sistema de destino.

Una especificación de variable con el formato $modo, donde la primera letra de la variable debe estar en minúscula, significa que este campo se configurará cuando se construya el paquete. Tenga en cuenta que esta variable se debe definir en el tiempo de la construcción en el archivo prototype o como opción del comando pkgmk. Para obtener más información sobre la diferencia entre las variables de instalación y de construcción, consulte Variables de entorno de paquetes.

Los archivos de los tipos i (archivo de información), l (vínculo físico) y s (vínculo simbólico) deben dejar este campo en blanco.

El campo propietario

El campo propietario puede contener un nombre de usuario, un signo de interrogación (?) o una especificación de variable. Un nombre de usuario tiene un máximo de 14 caracteres y debe ser un nombre que ya exista en el sistema de destino (como bin o root). Un signo ? significa que no se cambiará el propietario cuando se instale el objeto, lo cual implica que el objeto del mismo nombre ya existe en el sistema de destino.

Una especificación de variable puede tener el formato $Propietario o $propietario, donde la primera letra de la variable está en mayúsculas o minúsculas. Si la variable comienza por minúsculas, se debe definir cuando se ha construido el paquete, en el archivo prototype o como opción para el comando pkgmk. Si la variable comienza por una mayúscula, la especificación de la variable se insertará en el archivo pkginfo como valor predeterminado, y puede volver a definirse en el tiempo de la instalación mediante una secuencia de comandos request. Para obtener más información sobre la diferencia entre las variables de instalación y de construcción, consulte Variables de entorno de paquetes.

Los archivos de los tipos i (archivo de información) y lb (vínculo físico) deben dejar este campo en blanco.

El campo grupo

El campo grupo puede contener un nombre de grupo, un signo de interrogación (?) o una especificación de variable. Un nombre de grupo tiene un máximo de 14 caracteres y debe ser un nombre que ya exista en el sistema de destino (como bin o sys). Un signo ? significa que no se cambiará el grupo cuando se instale el objeto, lo cual implica que el objeto del mismo nombre ya existe en el sistema de destino.

Una especificación de variable puede tener el formato $Grupo o $grupo, donde la primera letra de la variable está en mayúsculas o minúsculas. Si la variable comienza por minúsculas, se debe definir cuando se ha construido el paquete, en el archivo prototype o como opción para el comando pkgmk. Si la variable comienza por una mayúscula, la especificación de la variable se insertará en el archivo pkginfo como valor predeterminado, y puede volver a definirse en el tiempo de la instalación mediante una secuencia de comandos request. Para obtener más información sobre la diferencia entre las variables de instalación y de construcción, consulte Variables de entorno de paquetes.

Los archivos de los tipos i (archivo de información) y l (vínculo físico) deben dejar este campo en blanco.

Creación de un archivo prototype desde cero

Si desea crear un archivo prototype desde cero, puede hacerlo con su editor de textos preferido, y agregarle una entrada por objeto de paquete. Consulte Formato del archivo prototype y la página de comando man prototype(4) para obtener más información sobre el formato de este archivo. Sin embargo, después de haber definido cada objeto de paquete, puede que desee incluir algunas de las funciones que se describen en Adición de funciones a un archivo prototype.

Ejemplo: creación de un archivo prototype con el comando pkgproto

Puede usar el comando pkgproto para construir un archivo prototype básico, siempre que haya organizado la estructura de directorios de paquetes tal como se describe en Organización del contenido de un paquete. Por ejemplo, mediante la estructura de directorios de muestra y el archivo pkginfo que se han descrito en las secciones anteriores, los comandos para crear el archivo prototype son los siguientes:


$ cd /home/jane
$ pkgproto ./SUNWcadap > InfoFiles/prototype

El archivo prototype será, más o menos, así:

d none SUNWcadap 0755 jane staff
d none SUNWcadap/demo 0755 jane staff
f none SUNWcadap/demo/file1 0555 jane staff
d none SUNWcadap/srcfiles 0755 jane staff
f none SUNWcadap/srcfiles/file5 0555 jane staff
f none SUNWcadap/srcfiles/file6 0555 jane staff
d none SUNWcadap/lib 0755 jane staff
f none SUNWcadap/lib/file2 0644 jane staff
d none SUNWcadap/man 0755 jane staff
f none SUNWcadap/man/windex 0644 jane staff
d none SUNWcadap/man/man1 0755 jane staff
f none SUNWcadap/man/man1/file4.1 0444 jane staff
f none SUNWcadap/man/man1/file3.1 0444 jane staff

Nota –

El grupo y el propietario reales de la persona que construye el paquete se registran mediante el comando pkgproto. Una buena técnica es usar los comandos chown -R y chgrp -R, para configurar el propietario y el grupo como se pretendía antes de ejecutar el comando pkgproto.


Este archivo prototype de ejemplo no está completo. Consulte la sección siguiente para obtener información sobre la finalización de este archivo.

Ajuste de un archivo prototype creado con el comando pkgproto

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:

Creación de entradas de objetos con tipos de archivos v, e, x y i

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).


Nota –

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.


Uso de varias definiciones de clases

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.

Ejemplo: ajuste de un archivo prototype creado mediante el comando pkgproto

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.

Adición de funciones a un archivo prototype

Además de definir cada objeto de paquete en el archivo prototype, también puede hacer lo siguiente:

Consulte las secciones siguientes para obtener información sobre cómo efectuar estos cambios.

Definición de objetos adicionales que se deben crear en el tiempo de la instalación

Puede usar el archivo prototype para definir objetos que no se ofrezcan en el medio de instalación. Durante la instalación, mediante el comando pkgadd, estos objetos se crean con los tipos de archivos necesarios, si no existen ya en el tiempo de la instalación.

Para especificar la creación de un objeto en el sistema de destino, agréguele una entrada en el archivo prototype con el tipo de archivo adecuado.

Por ejemplo, si desea que se cree un directorio en el sistema de destino, pero no desea ofrecerlo en el medio de instalación, agregue la entrada siguiente para el directorio en el archivo prototype:


d none /directory 0644 root other

Si desea crear un archivo vacío en el sistema de destino, una entrada para el archivo en el archivo prototype podría tener el aspecto siguiente:


f none filename=/dev/null 0644 bin bin

Los únicos objetos que deben entregarse en el medio de instalación son archivos regulares y secuencias de comandos de edición (tipos de archivos e, v, f) y los directorios necesarios para incluirlos. Los objetos adicionales se crean sin hacer referencia a los vínculos simbólicos, vínculos físicos, dispositivos, conducciones con nombre, directorios y objetos entregados.

Creación de vínculos en el tiempo de la instalación

Parar crear vínculos durante la instalación de los paquetes, defina lo siguiente en la entrada del archivo prototype para el objeto vinculado:

Los vínculos relativos se especificarían de este modo si el paquete está instalado como reubicable o absoluto.

Distribución de paquetes en varios volúmenes

Cuando construye el paquete con el comando pkgmk, éste lleva a cabo los cálculos y las acciones necesarias para organizar un paquete de varios volúmenes. Un paquete de varios volúmenes recibe el nombre de paquete segmentado.

Sin embargo, puede usar el campo parte optativo en el archivo prototype para definir en qué parte desea ubicar un objeto. Un número de este campo anula el comando pkgmk y fuerza la colocación del componente en la parte concreta del campo. Observe que hay una correspondencia de igual a igual entre las partes y los volúmenes para los medios extraíbles formateados como sistemas de archivos. Si el desarrollador asigna previamente los volúmenes, el comando pkgmk emite un error si no hay suficiente espacio en un volumen.

Anidado de archivos prototype

Puede crear varios archivos prototype y después incluirlos mediante el comando !include en el archivo prototype. Anidar archivos puede ser una opción para facilitar el mantenimiento.

En el ejemplo siguiente hay tres archivos prototype. Se está modificando el archivo principal (prototype). Los otros dos archivos (proto2 y proto3) se están incluyendo.


!include /source-dir/proto2
!include /source-dir/proto3

Configuración de valores predeterminados para los campos modo, propietario y grupo

Con el fin de configurar valores predeterminados para los campos modo, propietario y grupo para objetos de paquetes específicos, puede insertar el comando !default en el archivo prototype. Por ejemplo:


!default 0644 root other

Nota –

El intervalo del comando !default comienza donde se insertó y se extiende hasta el fin del archivo. El intervalo del comando no abarca los archivos incluidos.


Sin embargo, en el caso de directorios (tipo de archivo d) y archivos modificables (tipo de archivo e) que sabe que existe en los sistemas de destino (como /usr o /etc/vfstab), compruebe que los campos modo, propietario y grupo del archivo prototype se establecen como signos de interrogación (?). De este modo no destruirá los valores que un administrador del sitio puede haber modificado.

Cómo proporcionar una ruta de búsqueda para el comando pkgmk

Si la ubicación de origen de los objetos del paquete es diferente de su ubicación de destino y no desea usar el formato ruta1=ruta2 tal como se describe en Unas palabras sobre las ubicaciones de origen y de destino del objeto, entonces puede usar el comando !search en el archivo prototype.

Por ejemplo, si ha creado un directorio, pkgfiles, en el directorio de inicio, y contiene todos los archivos de información y las secuencias de comandos de instalación, puede determinar que se busque en este directorio cuando el paquete se construya con el comando pkgmk.

El comando del archivo prototype tendría este aspecto:


!search /home-dir/pkgfiles

Nota –

Las solicitudes de búsqueda no abarcan los archivos incluidos. Además, la búsqueda se limita a los directorios específicos enumerados y no se lleva a cabo de forma recursiva.


Configuración de las variables de entorno

También puede agregar comandos al archivo prototype con el formato !PARAM=valor. Los comandos con este formato definen variables en el entorno actual. Si tiene varios archivos prototype, el ámbito de este comando es local para el archivo prototype donde se ha definido.

La variable PARAM puede comenzar por una letra en minúscula o en mayúscula. Si el valor de la variable PARAM no se conoce en el tiempo de la construcción, el comando pkgmk se cancela de forma incorrecta. Para obtener más información sobre la diferencia entre las variables de instalación y de construcción, consulte Variables de entorno de paquetes.

ProcedureCómo crear un archivo prototype mediante el comando pkgproto


Nota –

Es más sencillo crear archivos de información y secuencias de comandos de instalación antes de crear un archivo prototype. Sin embargo, este orden no es obligatorio. Siempre puede editar el archivo prototype después de cambiar el contenido del paquete. Para obtener más detalles sobre los archivos de información y las secuencias de comandos de instalación, consulte Capítulo 3Mejora de las funciones de un paquete (tareas).


  1. Determine qué objetos del paquete serán absolutos y cuáles serán reubicables, si no lo ha hecho ya.

    Para obtener información que le ayude a completar este paso, consulte El campo ruta.

  2. Organice los objetos del paquete para que reflejen su ubicación en el sistema de destino.

    Si ya ha organizado los paquetes tal como se describe en Organización del contenido de un paquete, tenga en cuenta que posiblemente necesite hacer algunos cambios basados en sus decisiones en el Paso 1. Si no ha organizado aún el paquete, debería hacerlo ahora. Si no organiza el paquete, no puede usar el comando pkgproto para crear un archivo prototype básico.

  3. Si el paquete tiene objetos reubicables colectivamente, modifique el archivo pkginfo para configurar el parámetro BASEDIR con el valor adecuado.

    Por ejemplo:


    BASEDIR=/opt

    Para obtener información sobre objetos reubicables colectivamente, consulte Objetos reubicables colectivamente.

  4. Si el paquete tiene objetos reubicables individualmente, cree una secuencia de comandos request para solicitar al instalador el nombre de ruta adecuado. Si lo desea, también puede crear una secuencia de comandos checkinstall para determinar la ruta adecuada desde los datos del sistema de archivos.

    La lista siguiente ofrece números de páginas para su referencia respecto a tareas comunes:

  5. Cambie el propietario y el grupo de todos los componentes del paquete destinados a ser el propietario y el grupo en los sistemas de destino.

    Use los comandos chown -R y chgrp -R en el directorio de paquetes y el directorio de archivos de información.

  6. Ejecute el comando pkgproto para crear un archivo prototype básico.

    El comando pkgproto escanea los directorios para crear un archivo básico. Por ejemplo:


    $ cd package-directory
    $ pkgproto ./package-directory > prototype
    

    El archivo prototype se puede ubicar en cualquier lugar del sistema. El mantenimiento de los archivos de información y las secuencias de comandos de instalación en un lugar simplifica el acceso y el mantenimiento. Para obtener información adicional sobre el comando pkgproto, consulte la página de comando man pkgproto(1).

  7. Modifique el archivo prototype con su editor de textos preferido y agregue entradas para los tipos de archivo v, e, x y i.

    Para obtener información sobre los cambios específicos que deba llevar a cabo, consulte Ajuste de un archivo prototype creado con el comando pkgproto.

  8. (Optativo) Si usa varias clases, modifique los archivos prototype y pkginfo. Use su editor de textos preferido para hacer los cambios necesarios y cree las secuencias de comandos de clase correspondientes.

    Para obtener información sobre los cambios específicos que puede necesitar, consulte Ajuste de un archivo prototype creado con el comando pkgproto y Escritura de secuencias de comandos de acción de clase.

  9. Modifique el archivo prototype mediante el editor de textos preferido para redefinir los nombres de ruta y cambiar otros valores del campo.

    Para obtener más información, consulte Ajuste de un archivo prototype creado con el comando pkgproto.

  10. (Optativo) Modifique el archivo prototype mediante el editor de textos preferido para agregar funciones al archivo prototype.

    Para obtener más información, consulte Adición de funciones a un archivo prototype.

  11. Guarde los cambios y salga del editor.

Véase también

Si está listo para la tarea siguiente, consulte Cómo construir un paquete.