JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Pages de manuel d'Image Packaging System     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

Commandes utilisateur

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)

Commandes d'administration système

Normes, environnements et macros

pkglint

- Lint de package Image Packaging System

Synopsis

/usr/bin/pkglint [-c dir] [-r uri] [-p regexp]
    [-f rcfile] [-b build_no] [-v]
    [-l uri] | manifest ...
/usr/bin/pkglint -L [-v]

Description

pkglint exécute une série de vérifications sur un ou plusieurs manifestes de package, éventuellement référençant un autre référentiel.

pkglint doit être utilisé au cours du processus de création du package, avant sa publication. pkglint effectue des tests exhaustifs sur les manifestes qui peuvent être trop coûteux à effectuer pendant les opérations normales de pkgsend(1) ou pkg.depotd(1M). Les vérifications pkglint comprennent des tests pour les actions en double, les attributs manquants et autorisations de fichier inhabituelles.

Les fichiers manifestes pour Lint peuvent être transmis en tant que liste séparée par des espaces de fichiers locaux sur la ligne de commande, ou des manifestes peuvent être récupérés à partir d'un référentiel.

Au cours de la récupération des manifestes à partir de référentiels, lors de sa première exécution, pkglint crée et remplit les images d'utilisateur de pkg(5) dans le répertoire de cache indiqué. Si l'option -r est fournie, une image d'utilisateur nommée cache_dir/ref_image est créée pour le référentiel de référence. Si l'option -l est fournie, une image d'utilisateur nommée cache_dir/lint_image est créée pour le référentiel Lint. Aucun contenu n'est installé dans ces images. Ces images sont utilisées uniquement par pkglint pour récupérer des manifestes dans les référentiels.

Les appels suivants de pkglint peuvent réutiliser le répertoire de cache et peuvent omettre tous les arguments -r ou -l.

pkglint fournit une prise en charge limitée pour la configuration des éditeurs dans le répertoire de cache. Utilisez pkg(1) pour effectuer une configuration d'éditeur plus complexe sur ces images.

pkglint permet aux créateurs de package de contourner les vérifications pour un manifeste ou une action donné. Un manifeste ou une action qui contient l'attribut pkg.limited défini sur True ne génère pas de sortie Lint pour ce manifeste ou cette action.

Des paramètres pkg.linted granulaires supplémentaires peuvent être créés à l'aide de sous-chaînes de noms de vérification pkglint. Par exemple, pkg.linted. check.id défini sur True contourne toutes les vérifications avec le nom check.id pour le manifeste ou l'action donné.

Le comportement de pkglint peut être configuré en spécifiant un fichier pkglintrc. Par défaut, pkglint recherche dans /usr/share/lib/pkg/pkglintrc et $HOME/.pkglintrc pour les options de configuration. Utilisez l'option -f pour spécifier un autre fichier de configuration.

Au cours de l'exécution de Lint, les erreurs ou les avertissements sont imprimés dans stderr.

Options

Les options suivantes sont prises en charge :

-b build_no

Indique un numéro de version utilisé pour limiter la liste des packages utilisés au cours de l'opération de Lint à partir des référentiels Lint et de référence. Si aucune option -b n'est spécifiée, les dernières versions des packages sont utilisées. Reportez-vous à la propriété de configuration version.pattern.

-c cache_dir

Spécifie un répertoire local utilisé pour la mise en cache des métadonnées de package à partir des référentiels Lint et de référence.

-l lint_uri

Indique un URI représentant l'emplacement du référentiel Lint. Les publications basées sur HTTP et le système de fichiers sont prises en charge. Si vous spécifiez -l, vous devez également spécifier -c.

-L

Répertorie les vérifications Lint connues et exclues, puis quitte. Affiche le nom abrégé et la description de chaque vérification. Associée à l'indicateur -v, affiche la méthode qui implémente la vérification au lieu de la description.

-f config_file

Configure les sessions pkglint à l'aide du fichier de configuration config_file.

-p regexp

Spécifie une expression régulière utilisée pour restreindre la liste des packages à consulter à partir du référentiel Lint. Tous les manifestes du référentiel de référence sont chargés (à condition qu'ils correspondent à la valeur de -b, si fourni), en ignorant ce motif.

-r repo_uri

Indique un URI représentant l'emplacement du référentiel de référence. Si vous spécifiez -r, vous devez également spécifier -c.

-v

Exécute pkglint en mode détaillé, remplaçant les paramètres log_level dans le fichier de configuration.

--help ou -?

Affiche un message d'utilisation.

Fichiers

Le fichier de configuration pkglintrc prend les arguments clés et de valeurs suivants :

log_level

Niveau minimum auquel transmettre les messages Lint. Les messages Lint inférieurs à ce niveau sont ignorés. La valeur par défaut est INFO.

Les niveaux de journal dans l'ordre du moins grave au plus grave sont DEBUG, INFO, WARNING, ERROR et CRITICAL.

do_pub_checks

Si True, effectue des vérifications qui pourraient n'avoir de sens que pour les packages publiés. La valeur par défaut est True.

pkglint.ext.*

Le mécanisme de plug-in de pkglint permet l'ajout d'autres modules Lint au moment de l'exécution. Toute clé démarrant avec pkglint.ext. prend une valeur qui doit être un module Python entièrement spécifié. Reportez-vous à la section Développeurs pour de plus amples informations.

pkglint.exclude

Liste séparée par des espaces de modules Python entièrement spécifiés, de classes ou des noms de fonctions à omettre dans l'ensemble des vérifications effectuées.

use_progress_tracker

Si True, utilise un outil de suivi de progression lors de l'itération sur des manifestes pendant les exécutions Lint. La valeur par défaut est True.

version.pattern

Motif de version utilisé lors de la spécification d'un numéro de version par rapport à laquelle effectuer une opération Lint (-b). S'il n'est pas spécifié dans le fichier de configuration, l'option -b utilise le motif *,5.11-0., correspondant à tous les composants de la version 5.11, avec un préfixe de branche de 0.

Développeurs

Pour étendre l'ensemble des vérifications effectuées par pkglint, la sous-classe pkg.lint.base.Checker et ses sous-classes, ManifestChecker, ActionChecker et ContentChecker. Ajoutez le nom de module Python qui contient ces classes pour une nouvelle clé pkglint.ext. dans le fichier de configuration.

Des instances de ces nouvelles sous-classes sont créées par pkglint au démarrage. Des méthodes à l'intérieur de chaque sous-classe avec l'argument de mot-clé spécial pkglint_id sont appelées au cours de la session Lint. Ces méthodes doivent avoir la même signature que la méthode check() correspondante dans la super-classe. Les méthodes doivent également se voir affecter un attribut pkglint_desc, qui est utilisé comme la description imprimée par pkglint -L.

Les paramètres sont disponibles aux sous-classes Checker, ce qui leur permet de régler leur comportement. La convention de nommage de paramètre recommandée est pkglint_id.name. Les valeurs de paramètre peuvent être stockées dans le fichier de configuration, ou peuvent être accédées depuis les manifestes ou actions récupérés à l'aide de la méthode LintEngine.get_param(). Lors de l'accès aux paramètres à partir du manifeste, le préfixe pkg.lint est ajouté au début du nom de la clé pour garantir que les paramètres pkglint ne se superposent pas à n'importe quelle valeur d'action ou de manifeste existante.

Exemples

Exemple 1 Première exécution sur un référentiel particulier

Exécution d'une pkglint pour la première fois sur un référentiel donné.

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

Exemple 2 Exécution suivante sur le même référentiel

Une exécution suivante avec le même référentiel utilisé dans l'exemple 1.

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

Exemple 3 Utilisation d'un référentiel Lint avec un ensemble de manifestes limité

Exécution d'une session pkglint avec un référentiel Lint et spécification d'un sous-ensemble de manifestes à vérifier.

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

Exemple 4 Spécification d'une version

Exécution d'une session pkglint par rapport à une version donnée en mode détaillé.

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

Exemple 5 Modification d'un fichier de configuration

Un fichier de configuration avec un nouveau module Lint, excluant certaines vérifications.

$ 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

État de sortie

Les valeurs de sortie renvoyées sont les suivantes :

0

La commande a réussi.

1

Une ou plusieurs sorties émises par des vérifications Lint.

2

Des options de ligne de commande incorrectes ont été spécifiées.

99

Une exception imprévue est survenue.

Attributs

Reportez-vous à attributes(5) pour obtenir la description des attributs suivants :

TYPE D'ATTRIBUT
VALEUR DE L'ATTRIBUT
Disponibilité
package/pkg
Stabilité de l'interface
Non validé

Voir aussi

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

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