copiler un programme via cocoa
wisky
Membre
Bonjour à tous,
Je viens vers vous pour m'aider à trouve une solution à un problème assez pousser.
Contrainte :
1) doit être executé avec les droits root
J'ai une application qui a besoin de programme en ligne de commande spécifique. Par une contrainte que je ne maitrise pas il est impossible de compiler les librairies et programmes en UB. Il faut donc le compiler sur chaque Mac.
Pour simplifier la tâche je souhaite faire une UI Cocoa dans mon application pour exécuter la compilation et l'installation.
Comme indiqué dans les contrainte, je doit faire tout cela an mode Root. Les source sont inclus dans le package de mon programme.
J'utilise la méthode "Calling a Privileged Installer" d'écrite par Apple ici pour lancer les commandes. Sauf que, contrairement à NSTask je ne peux pas définir le dossier de travail. Pour le changer, je lance donc un script auquel j'envoie le chemin de travail en argument. Il le change et lance la commande. Malheureusement la commande n'est pas lancé en tant que Root.
Donc, j'attends vous idée, pour soit lancer une NSTask en tant que root soit trouver une solution au problème du script.
Script pour make :
Je viens vers vous pour m'aider à trouve une solution à un problème assez pousser.
Contrainte :
1) doit être executé avec les droits root
J'ai une application qui a besoin de programme en ligne de commande spécifique. Par une contrainte que je ne maitrise pas il est impossible de compiler les librairies et programmes en UB. Il faut donc le compiler sur chaque Mac.
Pour simplifier la tâche je souhaite faire une UI Cocoa dans mon application pour exécuter la compilation et l'installation.
Comme indiqué dans les contrainte, je doit faire tout cela an mode Root. Les source sont inclus dans le package de mon programme.
J'utilise la méthode "Calling a Privileged Installer" d'écrite par Apple ici pour lancer les commandes. Sauf que, contrairement à NSTask je ne peux pas définir le dossier de travail. Pour le changer, je lance donc un script auquel j'envoie le chemin de travail en argument. Il le change et lance la commande. Malheureusement la commande n'est pas lancé en tant que Root.
Donc, j'attends vous idée, pour soit lancer une NSTask en tant que root soit trouver une solution au problème du script.
Script pour make :
#!/bin/sh<br /><br />echo $1<br /><br />SELFPATH=`echo $1 | cut -d\" -f2`<br />echo $SELFPATH<br />cd "$SELFPATH"<br /><br />make<br />
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Edit: Si ce que tu cherches à fournir c'est GPUtils (dont tu parles sur ton blog), alors il est enfantin de le compiler en UB:
Pour plus d'infos : http://developer.apple.com/technotes/tn2005/tn2137.html
J'ai chercher un bon moment en vain avant de tenter d'intégré la compilation dans mon application. Maintenant c'est réglé. Je me suis permis de reprendre ta solution (en te sitant) sur mon blog.
Qui est d'ailleurs plus un aide mémoire qu'un vrais blog.
Un grand merci à toi. Cela m'enlève une épine du pied.
ça mérite une tournée !