2010-10-25 2 views
0

Je crée un programme d'installation via la commande packagemaker dans le cadre d'un script. Je crée la hiérarchie de dossiers dans stagedRootPath, puis utilisez le paramètre --root pour générer le programme d'installation. Le problème est que je veux installer des choses dans le répertoire personnel de l'utilisateur installateur, que je ne connais pas lorsque je construis le programme d'installation. Je doute que vous puissiez avoir une sorte de substitution de variables dans le chemin d'installation si vous utilisez l'option --root.Comment inclure un script de préinstallation dans un programme d'installation créé via la commande shell de packagemaker?

Mon idée de solution de contournement consiste à avoir un script de contrôle en amont crée un lien symbolique vers le répertoire de base de l'utilisateur actuel et installe les fichiers (par exemple, ln -s ~ /tmp/home). Je sais comment inclure un script via l'application GUI PackageMaker, mais je ne peux pas l'utiliser car cela fait partie d'un script.

Y a-t-il un moyen de l'inclure via la commande? Dois-je utiliser un .pmdoc ou puis-je l'éviter? Si je dois utiliser un pmdoc, puis-je le créer par programme?

D'autres solutions à installer dans le répertoire d'installation sont les bienvenues.

# my install command 
packagemaker --root stagedRootPath -id com.myinstaller --title myInstallerTitle 

Répondre

2

s'avère que vous pouvez le faire en plaçant des scripts dans un dossier avec les noms corrects et en utilisant l'option --scripts.

preflight 
preinstall or preupgrade 
postinstall or postupgrade 
postflight 

(Plus de détails dans la man page.)

Questions connexes