Guide du développeur pour l'empaquetage d'applications

Fichiers de l'étude de cas

Les scripts i.cron et r.cron décrits ci-après sont exécutés par le superutilisateur. Modifier le fichier crontab d'un autre superutilisateur peut avoir des conséquences imprévisibles. Si nécessaire, remplacez l'entrée suivante de chaque script :

crontab $user < /tmp/$$crontab ||

par celle-ci :

su $user -c "crontab /tmp/$$crontab" ||

Commande pkginfo

PKG=case7
NAME=Case Study #7
CATEGORY=application
BASEDIR=/opt
ARCH=SPARC
VERSION=Version 1.0
CLASSES=cron

Fichier prototype

i pkginfo
i i.cron
i r.cron
e cron /var/spool/cron/crontabs/root ? ? ?
e cron /var/spool/cron/crontabs/sys ? ? ?

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

# PKGINST parameter provided by installation service
while read src dest
do
user=`basename $dest` ||
exit 2
(crontab -l $user |
sed -e "/#$PKGINST$/d" > /tmp/$$crontab) ||
exit 2
sed -e "s/$/#$PKGINST/" $src >> /tmp/$$crontab ||
exit 2
crontab $user < /tmp/$$crontab ||
exit 2
rm -f /tmp/$$crontab
done
exit 0

Script d'action de classe de suppression r.cron

# PKGINST parameter provided by installation service
while read path
do
user=`basename $path` ||
exit 2
(crontab -l $user |
sed -e "/#$PKGINST$/d" > /tmp/$$crontab) ||
exit 2
crontab $user < /tmp/$$crontab ||
exit 2
rm -f /tmp/$$crontab
done
exit 

Premier fichier crontab

41,1,21 * * * * /usr/lib/uucp/uudemon.hour > /dev/null
45 23 * * * ulimit 5000; /usr/bin/su uucp -c
"/usr/lib/uucp/uudemon.cleanup" >
/dev/null 2>&1
11,31,51 * * * * /usr/lib/uucp/uudemon.poll > /dev/null

Deuxième fichier crontab

0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

Remarque –

Si la modification d'un groupe de fichiers augmente la taille globale des fichiers de plus de 10 Ko, fournissez un fichier space pour que la commande pkgadd puisse accommoder cette augmentation. Pour plus d'informations sur le fichier space, reportez-vous à Réservation d'espace supplémentaire sur un système cible.