JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide du développeur de l'empaquetage d'applications     Oracle Solaris 10 1/13 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Conception d'un package

2.  Création d'un package

3.  Amélioration de la fonctionnalité d'un package (opérations)

4.  Vérification et transfert d'un package

5.  Création d'un package : Etudes de cas

Demande de participation de l'administrateur

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script request

Création d'un fichier lors de l'installation et enregistrement du fichier lors de la suppression

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Fichier space

Script d'action de classe i.admin

Script de suppression r.cfgdata

Définition des compatibilités et des dépendances d'un package

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier copyright

Fichier compver

Fichier depend

Modification d'un fichier à l'aide de classes standard et de scripts d'action de classe

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe d'installation i.inittab

Script d'action de classe de suppression r.inittab

Fichier inittab

Modification d'un fichier à l'aide de la classe sed et d'un script postinstall

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe sed (/etc/inittab)

Script postinstall

Modification d'un fichier à l'aide de la classe build

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Fichier de version

Modification de fichiers crontab au cours de l'installation

Techniques

Démarche

Fichiers de l'étude de cas

Commande pkginfo

Fichier prototype

Script d'action de classe d'installation i.cron

Script d'action de classe de suppression r.cron

Premier fichier crontab

Deuxième fichier crontab

Installation et suppression d'un pilote à l'aide de scripts de procédure

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script request

Script postinstall

Script preremove

Installation d'un pilote à l'aide de la classe sed et de scripts de procédure

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe sed (/etc/devlink.tab)

Script d'installation postinstall

Script de suppression preremove

Fichier copyright

6.  Techniques avancées de création de packages

Glossaire

Index

Demande de participation de l'administrateur

Le package décrit dans cette étude de cas contient trois types d'objets. L'administrateur peut sélectionner le type d'objets qu'il souhaite installer et l'emplacement des objets sur la machine d'installation.

Techniques

Cette étude de cas illustre les techniques suivantes :

Démarche

Pour définir l'installation sélective de cette étude de cas, vous devez effectuer les opérations suivantes :

Fichiers de l'étude de cas

Fichier pkginfo

PKG=ncmp
NAME=NCMP Utilities
CATEGORY=application, tools
BASEDIR=/
ARCH=SPARC
VERSION=RELEASE 1.0, Issue 1.0
CLASSES=""
NCMPBIN=/bin
NCMPMAN=/usr/man
EMACS=/usr/emacs

Fichier prototype

i pkginfo
i request
x bin $NCMPBIN 0755 root other
f bin $NCMPBIN/dired=/usr/ncmp/bin/dired 0755 root other
f bin $NCMPBIN/less=/usr/ncmp/bin/less 0755 root other
f bin $NCMPBIN/ttype=/usr/ncmp/bin/ttype 0755 root other
f emacs $NCMPBIN/emacs=/usr/ncmp/bin/emacs 0755 root other
x emacs $EMACS 0755 root other
f emacs $EMACS/ansii=/usr/ncmp/lib/emacs/macros/ansii 0644 root other
f emacs $EMACS/box=/usr/ncmp/lib/emacs/macros/box 0644 root other
f emacs $EMACS/crypt=/usr/ncmp/lib/emacs/macros/crypt 0644 root other
f emacs $EMACS/draw=/usr/ncmp/lib/emacs/macros/draw 0644 root other
f emacs $EMACS/mail=/usr/ncmp/lib/emacs/macros/mail 0644 root other
f emacs $NCMPMAN/man1/emacs.1=/usr/ncmp/man/man1/emacs.1 0644 root other
d man $NCMPMAN 0755 root other
d man $NCMPMAN/man1 0755 root other
f man $NCMPMAN/man1/dired.1=/usr/ncmp/man/man1/dired.1 0644 root other
f man $NCMPMAN/man1/ttype.1=/usr/ncmp/man/man1/ttype.1 0644 root other
f man $NCMPMAN/man1/less.1=/usr/ncmp/man/man1/less.1 0644 inixmr other

Script request

trap 'exit 3' 15
# determine if and where general executables should be placed
ans=`ckyorn -d y \
-p "Should executables included in this package be installed"
` || exit $?
if [ "$ans" = y ]
then
   CLASSES="$CLASSES bin"
   NCMPBIN=`ckpath -d /usr/ncmp/bin -aoy \
   -p "Where should executables be installed"
   ` || exit $?
fi
# determine if emacs editor should be installed, and if it should
# where should the associated macros be placed
ans=`ckyorn -d y \
-p "Should emacs editor included in this package be installed"
` || exit $?
if [ "$ans" = y ]
then
   CLASSES="$CLASSES emacs"
   EMACS=`ckpath -d /usr/ncmp/lib/emacs -aoy \
   -p "Where should emacs macros be installed"
   ` || exit $?
fi

Remarquez qu'un script request peut s'arrêter sans ne laisser aucun fichier dans le système de fichiers. Dans le cadre des installations sur les versions antérieures à 2.5 d'Oracle Solaris et versions compatibles (où aucun script checkinstall ne peut être utilisé), le script request est l'endroit où effectuer tous les tests nécessaires vis à vis du système de fichiers afin de garantir le succès de l'installation. Lorsque le script request contient le code 1, l'installation s'arrête nette.

Ces exemples de fichiers illustrent l'emploi des chemins paramétriques pour définir plusieurs répertoires de base. Toutefois, la méthode recommandée implique l'utilisation du paramètre BASEDIR qui est géré et validé par la commande pkgadd. Chaque fois que plusieurs répertoires de base sont utilisés, prenez les mesures nécessaires en prévision de l'installation de plusieurs versions et architectures sur la même plate-forme.