it-swarm.com.de

Wie kann man passende Abhängigkeiten austricksen?

Mögliches Duplikat:
Wie erstelle ich ein Metapaket, das andere Pakete automatisch installiert?

Ich möchte Frescobaldi (einen Editor für Lilypond) verwenden, aber die Paketversion von lilypond (2.12.3; lilypond ist wie TeX für Scoresheets) in den offiziellen Repos ist ein bisschen alt, da ich einige brandneue Funktionen verwenden möchte. Also habe ich einfach ihr Git-Repo geklont und es von dort installiert.

Nun ist meine Frage, wie kann ich apt mitteilen, dass ich die Abhängigkeit von lilypond manuell erfüllt habe, damit es nicht versucht, eine weitere Kopie zu installieren?

7
FUZxxl

Für den Fall, dass Sie tatsächlich die Abhängigkeit bereitstellen, würde ich checkinstall verwenden, um die Installation durchzuführen. checkinstall ersetzt make install und generiert ein korrektes .deb-Paket und installiert dieses dann. Auf diese Weise können Sie das Paket nicht nur (zu gegebener Zeit) besser entfernen oder aktualisieren, sondern auch Abhängigkeiten von anderen Anwendungen erfüllen.

Die Alternative besteht darin, ein kleines Dummy-Paket zu schreiben, das keine Dateien bereitstellt, sondern behauptet, alles zu liefern, was Sie wollen. Der einfachste Weg, den ich sehen kann, ist die Verwendung einer Anwendung namens 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

Es gibt einen dritten Weg, der einfach ist, aber potenziell schädlich: Installieren Sie ihn einfach von den Standard-Repos und ersetzen Sie seine Dateien durch die, die Sie generieren. Sperren Sie die Version des Pakets, damit es nicht aktualisiert wird. Dies kann zu Problemen führen. Tun Sie dies nur, wenn Sie das Paket nicht checkinstall oder auf andere Weise als Erstes fälschen können.

11
Oli

Sie sollten dhmake oder Sudo check install anstelle von Sudo make install verwendet haben. Auf diese Weise erstellen Sie ein Deb (check install installiert auch das Deb) der späteren Lilypond-Version ^^.

Wenn Sie die Quelle (und die Objektdateien/make-Datei usw. nach der Kompilierung) immer noch haben, können Sie dies immer noch tun, ohne sie erneut herunterladen zu müssen.

0
RolandiXor