JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Páginas del comando man de Image Packaging System     Oracle Solaris 11 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

Comandos de usuario

packagemanager(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkglint(1)

pkgmerge(1)

pkgmogrify(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pm-updatemanager(1)

Comandos de administración del sistema

Estándares, entornos y macros

pkglint

- lint de paquete de Image Packaging System

Sinopsis

/usr/bin/pkglint [-c directorio] [-r uri] [-p exp_reg]
    [-f archivo_origen] [-b núm_gen] [-v]
    [-l uri] | manifiesto ...
/usr/bin/pkglint -L [-v]

Descripción

pkglint realiza una serie de comprobaciones en uno o varios manifiestos de paquete y, opcionalmente, hace referencia a otro depósito.

pkglint se debe utilizar durante el proceso de creación de paquetes, antes de la publicación de paquetes. pkglint realiza pruebas exhaustivas en los manifiestos que pueden ser demasiado costosas para realizar durante el funcionamiento normal de pkgsend(1) o pkg.depotd(1M). pkglint realiza pruebas de inclusión para detectar acciones duplicadas, atributos faltantes y permisos de archivo inusuales.

Los manifiestos para hacer lint se pueden pasar como una lista de archivos locales separados por espacios en la línea de comandos, o los manifiestos se pueden recuperar desde un depósito.

Al recuperar manifiestos desde depósitos, en la primera ejecución pkglint crea y rellena las imágenes de usuario de pkg(5) en el directorio de antememoria especificado. Si se suministra la opción -r, se crea una imagen de usuario llamada dir_antem/ref_image para el depósito de referencia. Si se suministra la opción -l se crea una imagen de usuario llamada dir_antem/lint_image para el depósito de lint. No se instala ningún contenido en estas imágenes. Estas imágenes sólo son utilizadas por pkglint para recuperar los manifiestos de los depósitos.

Las invocaciones posteriores de pkglint pueden volver a utilizar el directorio de antememoria y pueden omitir cualquier argumento -r o -l.

pkglint provee asistencia limitada para configurar editores en el directorio de antememoria. Use pkg(1) para realizar una configuración de editor más compleja en estas imágenes.

pkglint permite a los autores de paquetes omitir comprobaciones para una acción o un manifiesto determinado. Un manifiesto o una acción que contiene el atributo pkg.linted establecido en True no produce ninguna salida de lint para dicho manifiesto o dicha acción.

Se pueden realizar más ajustes granulares de pkg.linted mediante subcadenas de comprobación de nombres pkglint. Por ejemplo, pkg.linted. comprobar.id establecido en True omite todas las comprobaciones con el nombre comprobar.id para la acción o el manifiesto determinado.

El comportamiento de pkglint se puede configurar especificando un archivo pkglintrc. De manera predeterminada, pkglint busca opciones de configuración en /usr/share/lib/pkg/pkglintrc y $HOME/.pkglintrc. Utilice la opción -f para especificar un archivo de configuración diferente.

Durante la ejecución de lint, los errores o advertencias detectados se imprimen en stderr.

Opciones

Se admiten las siguientes opciones:

-b núm_gen

Especifica un número de generación utilizado para restringir la lista de paquetes utilizados durante la ejecución de lint desde depósitos de lint y de referencia. Si no se especifica ninguna opción -b, se utilizan las últimas versiones de los paquetes. Consulte también la propiedad de configuración version.pattern.

-c dir_antem

Especifica un directorio local utilizado para almacenar en la antememoria los metadatos del paquete de los depósitos de lint y de referencia.

-l uri_lint

Especifica un URI que representa la ubicación del depósito de lint. Se admite la publicación basada en HTTP y en sistema de archivos. Si especifica -l, también debe especificar -c.

-L

Muestra las comprobaciones lint conocidas y excluidas, y finaliza. Muestra el nombre abreviado y la descripción de cada comprobación. Cuando se combina con el indicador -v, muestra el método que implementa la comprobación en lugar de la descripción.

-f archivo_config

Configura la sesión de pkglint mediante el archivo de configuración archivo_config.

-p exp_reg

Especifica una expresión regular utilizada para restringir la lista de paquetes que se deben comprobar del depósito de lint. Se cargan todos los manifiestos del depósito de referencia (siempre que coincidan con el valor para -b, si se proporciona), ignorando este modelo.

-r uri_dep

Especifica un URI que representa la ubicación del depósito de referencia. Si especifica -r, también debe especificar -c.

-v

Ejecuta pkglint en un modo detallado, lo que sustituye cualquier configuración de log_level en el archivo de configuración.

--help o -?

Muestra un mensaje de uso.

Archivos

El archivo de configuración pkglintrc requiere los siguientes argumentos de clave/valor:

log_level

El nivel mínimo en el que se deben emitir mensajes lint. Los mensajes lint inferiores a este nivel se descartan. El valor predeterminado es INFO.

Los niveles de registro en orden de severidad ascendente son DEBUG, INFO, WARNING, ERROR y CRITICAL.

do_pub_checks

Si es True, realiza comprobaciones que quizás sólo tengan sentido para los paquetes publicados. El valor predeterminado es True.

pkglint.ext.*

El mecanismo de complemento de pkglint permite agregar módulos lint adicionales en tiempo de ejecución. Cualquier clave que empieza con pkglint.ext lleva un valor que debe ser un módulo Python completamente especificado. Para obtener más información, consulte la sección “Desarrolladores”.

pkglint.exclude

Una lista de nombres de función, clases o módulos Python completamente especificados separados por espacios, que se deben omitir del conjunto de comprobaciones que se realizarán.

use_progress_tracker

Si es True, utiliza un indicador de progresos al iterar los manifiestos durante las ejecuciones de lint. El valor predeterminado es True.

version.pattern

Un modelo de versión, utilizado al especificar un número de generación para realizar el lint (-b). Si no se especifica en el archivo de configuración, la opción -b utiliza el modelo *,5.11-0., que coincide con todos los componentes de la versión 5.11, con el prefijo de ramificación 0.

Desarrolladores

Para ampliar el conjunto de comprobaciones realizadas por pkglint, subclase pkg.lint.base.Checker y sus subclases, ManifestChecker, ActionChecker y ContentChecker. Agregue el nombre del módulo Python que contiene esas clases a una nueva clave pkglint.ext en el archivo de configuración.

Las instancias de esas nuevas subclases son creadas por pkglint en el inicio. Durante el transcurso de la sesión lint se invocan métodos dentro de cada subclase con el argumento de palabra clave especial pkglint_id. Esos métodos deben tener la misma firma que el método check() correspondiente en la superclase. A los métodos también se les debe asignar un atributo pkglint_desc , que se utiliza como la descripción impresa por pkglint -L.

Los parámetros están disponibles para las subclases Checker, lo que les permite ajustar su comportamiento. La convención de denominación de parámetro recomendada es pkglint_id.nombre. Los valores de los parámetros se pueden almacenar en el archivo de configuración, o se puede acceder a ellos mediante las acciones o los manifiestos recuperados con el método LintEngine.get_param(). Al acceder a los parámetros desde el manifiesto, se antepone el prefijo pkg.lint al nombre de la clave para asegurarse de que los parámetros pkglint no se superpongan con los valores de las acciones o los manifiestos existentes.

Ejemplos

Ejemplo 1 Primera ejecución en un depósito determinado

Ejecución de una sesión pkglint por primera vez en un depósito determinado.

$ pkglint -c /space/cache -r http://localhost:10000 mymanifest.mf

Ejemplo 2 Ejecución subsiguiente en el mismo depósito

Una ejecución subsiguiente en el mismo depósito utilizado en el Ejemplo 1.

$ pkglint -c /space/cache mymanifest-fixed.mf

Ejemplo 3 Uso de un depósito lint con un conjunto de manifiestos limitado

Ejecución de una sesión pkglint con un depósito lint y especificación de un subconjunto de manifiestos para comprobar.

$ pkglint -c /space/othercache -l http://localhost:10000 \
-p '.*firefox.*'

Ejemplo 4 Especificación de una versión

Ejecución de una sesión pkglint en una versión determinada, en modo detallado.

$ pkglint -c /space/cache -r http://localhost:10000 \
-l http://localhost:12000 -b 147 -v

Ejemplo 5 Modificación de un archivo de configuración

Un archivo de configuración con un módulo lint nuevo, con algunas comprobaciones excluidas.

$ cat ~/.pkglintrc
[pkglint]

log_level = DEBUG
# log_level = INFO

pkglint.ext.mycheck = org.timf.mychecks
pkglint.ext.opensolaris = pkg.lint.opensolaris
pkglint.exclude: pkg.lint.opensolaris.OpenSolarisActionChecker
pkg.lint.pkglint.PkgActionChecker.unusual_perms pkg.lint.pkglint.PkgManifestChecker
pkg.lint.opensolaris.OpenSolarisManifestChecker

Estado de salida

Se devolvieron los siguientes valores de salida:

0

El comando se ejecutó correctamente.

1

Una o varias comprobaciones lint emitieron una salida.

2

Se especificaron opciones de línea de comandos no válidas.

99

Se produjo una excepción no anticipada.

Atributos

Consulte attributes(5) para ver descripciones de los atributos siguientes:

TIPO DE ATRIBUTO
VALOR DEL ATRIBUTO
Disponibilidad
package/pkg
Estabilidad de interfaz
Sin asignar.

Véase también

pkg(1), pkg.depotd(1m), pkgsend(1), pkg(5)

http://hub.opensolaris.org/bin/view/Project+pkg/