Le script checkinstall est exécuté peu de temps après le script request facultatif. Le script checkinstall s'exécute en tant qu'utilisateur install, si celui-ci existe, ou en tant qu'utilisateur nobody. Le script checkinstall ne dispose pas des droits nécessaires pour modifier les données du système de fichiers. Il peut cependant, en fonction des informations qu'il recueille, créer ou modifier des variables d'environnement afin de contrôler la procédure d'installation résultante. Le script est également capable de procéder à un arrêt net de la procédure d'installation.
Le script checkinstall a pour rôle d'effectuer des contrôles de base sur un système de fichiers, contrôles inhabituels pour la commande pkgadd. Ce script peut par exemple être utilisé pour déterminer à l'avance si certains fichiers du package actuel vont écraser des fichiers existants, ou pour gérer les dépendances globales des logiciels. Le fichier depend ne gère que les dépendances au niveau du package.
À l'inverse du script request, le script checkinstall est exécuté qu'un fichier réponse soit fourni ou non. La présence du script ne qualifie pas le package d'interactif. Le script checkinstall peut être des situations où un script request est interdit ou que l'interaction avec l'administrateur n'est pas pratique.
Le script checkinstall est disponible depuis la version 2.5 de Solaris et versions compatibles.
Le script checkinstall ne peut modifier aucun fichier. Ce script analyse simplement l'état du système et crée une liste d'attribution de variables d'environnement basée sur cette interaction. Afin d'appliquer cette restriction, le script request est exécuté en tant qu'utilisateur non privilégié checkinstall, si celui-ci existe. Sinon, le script est exécuté en tant qu'utilisateur non privilégié nobody. Le script checkinstall ne dispose pas des droits de superutilisateur.
La commande pkgadd appelle le script checkinstall avec un argument nommant le fichier réponse du script. Le fichier réponse du script est le fichier dans lequel les réponses de l'administrateur sont stockées.
Le script checkinstall n'est pas exécuté pendant la suppression du package. Toutefois, les variables d'environnement attribuées par le script sont enregistrées et disponibles au cours de la suppression du package.
Un seul script checkinstall est autorisé par package. Le script doit être nommé checkinstall.
Les attributions de variables d'environnement doivent être ajoutées à l'environnement d'installation pour que la commande pkgadd et d'autres scripts d'empaquetage puissent les utiliser en les enregistrant dans le fichier réponse (connu du script sous le nom $1).
Les variables d'environnement système et les variables d'environnement d'installation standard, à l'exception des paramètres CLASSES et BASEDIR, ne peuvent pas être modifiées par un script checkinstall. Toute variable d'environnement créée par vous peut être modifiée.
Une valeur par défaut doit être attribuée dans le fichier pkginfo à toute variable d'environnement susceptible d'être manipulée par le script checkinstall.
Le format de la liste de résultats est PARAM=valeur. Exemple :
CLASSES=none class1 |
L'interaction avec l'administrateur n'est pas autorisée pendant l'exécution d'un script checkinstall. L'interaction avec l'administrateur se limite au script request.