web-dev-qa-db-fra.com

Comment tromper les dépendances?

Duplicate possible:
Comment créer un méta-paquet qui installe automatiquement d'autres paquets?

Je veux utiliser Frescobaldi (un éditeur pour Lilypond), mais la version packagée de lilypond (2.12.3; lilypond est comme TeX pour les feuilles de match) dans le dépôt officiel est un peu ancienne, car je veux utiliser de nouvelles fonctionnalités. Je viens donc de cloner leur repo git et de l’installer à partir de là.

Maintenant, ma question est, comment puis-je dire à apt que j'ai satisfait à la dépendance de lilypond manuellement, de sorte qu'il ne tente pas d'installer une autre copie?

7
FUZxxl

Pour l’endroit où vous fournissez réellement la dépendance, j’utiliserais checkinstall pour effectuer l’installation. checkinstall remplace fondamentalement make install et génère un package .deb approprié, puis l'installe. Cela vous permet non seulement de supprimer ou de mettre à niveau le package de manière plus efficace (le moment venu), mais également de répondre aux dépendances d'autres applications.

L'alternative est d'écrire un petit paquet factice qui ne fournit aucun fichier mais prétend fournir tout ce que vous voulez. Le moyen le plus simple que je puisse voir consiste à utiliser une application appelée equivs:

Sudo apt-get install equivs
equivs-control lilypond

# edit your fake package so it has the right versions, names, description, etc
nano lilypond

equivs-build lilypond
Sudo dpkg -i lilypond-dummy*.deb

Il existe un troisième itinéraire facile mais potentiellement dangereux: il suffit de l’installer à partir du dépôt standard, puis de remplacer ses fichiers par ceux que vous générez. Verrouillez la version du paquet pour qu'il ne soit pas mis à niveau. Cela risque de mal tourner, donc ne le faites que si vous ne pouvez pas checkinstall ou simuler le paquet d’abord.

11
Oli

Vous auriez dû utiliser dhmake ou Sudo check install au lieu de Sudo make install. De cette façon, vous créez un deb (check install installe également le deb) de la version ultérieure de Lilypond ^^.

Si vous avez toujours la source (et les fichiers objet/make fichier, etc. après votre compilation), vous pouvez toujours le faire sans avoir à télécharger à nouveau.

0
RolandiXor