2010-01-28 7 views
6

Comment puis-je inclure une interaction d'accord de licence dans un fichier .deb? La question Linux support for click-thru licenses demande seulement si c'est possible, mais pas comment. En outre, je ne sais pas si license info of a deb package est réellement quelque chose que l'on pourrait utiliser ...Y compris le contrat de licence dans le fichier .deb

Je sais qu'il est possible d'inclure le texte dans la description du paquet, mais je préfère l'avoir comme un Windows MSI installateur

Notez que je ne souhaite pas que la licence apparaisse la première fois que l'application s'exécute.

J'utilise dpkg-deb pour générer le fichier .deb sur Ubuntu 8.10.

+0

Solution similaire je cherche RPM http://stackoverflow.com/questions/2132828/adding-license-agreement-in-rpm-package – Adil

Répondre

7

Mettez la question dans le script preinst pour votre paquet, et s'ils répondent incorrectement (ou ne répondent pas), quittez le script avec un code d'erreur et le paquet ne sera pas installé.

La façon habituelle de poser des questions à l'utilisateur pendant l'installation du package est avec debconf. Il existe des alternatives à debconf, y compris en utilisant simplement le bash read intégré. Debconf vous facilite la tâche. Il ya un tutoriel au http://www.fifi.org/doc/debconf-doc/tutorial.html

+0

Je suppose qu'il n'y a aucun moyen de faire cette interface graphique sage? (J'accepterai volontiers votre réponse comme réponse, peu importe.) Préinst script c'est ... –

+2

debconf peut être configuré pour utiliser une variété d'interfaces utilisateur, y compris une interface graphique. Mais cette configuration est effectuée par l'administrateur système indépendamment de tout paquet, donc vous ne pouvez pas contrôler cela si vous utilisez debconf. Mais je pense que debconf fournit une meilleure expérience utilisateur car elle permet à l'utilisateur de contrôler la manière dont il voit les questions. –

+0

Cela peut fonctionner, mais il y a quelques choses à connaître. L'entrée de l'utilisateur exigeant est une violation de la politique Debian, vous devriez donc considérer debconf. Debconf ne demandera pas d'entrée, il peut être exécuté en mode sans tête afin de ne pas demander d'entrée. Si vous échouez à installer, vous devez tester que le paquet peut facilement être retiré sans avoir à terminer l'installation, sinon vous pouvez complètement confondre dpkg et rien ne va installer/supprimer – AntonPiatek

Questions connexes