Wie kann ich checkinstall verwenden, um mehrere Pakete zu ersetzen?

Wie kann ich checkinstall verwenden, um mehrere Pakete zu ersetzen?

Ich erstelle mein eigenes ffmpegPaket mit checkinstall, einschließlich aller verschiedenen ffmpegBibliotheken. In den Ubuntu-Paket-Repos sind diese ffmpeg-Bibliotheken in viele separate Pakete aufgeteilt. Gibt es eine Möglichkeit, apt/dpkg mitzuteilen, dass alle diese Anforderungen von meinem ffmpeg-Paket erfüllt werden? Auf diese Weise würde beispielsweise die Installation von Handbrake aus den Repos nicht das Repo-Paket installieren libavfilter7, was meinen Build beschädigen würde ffmpeg?

Bisher habe ich erfolglos versucht, die Optionen --providesoder zu verwenden --replaces checkinstall. Beispiel:

sudo checkinstall -y --deldoc=yes --requires=libc6,libsdl2-2.0-0 --pkgversion=10:$ffmpeg_version  --provides=ffmpeg,libavcodec58,libavdevice58,libavfilter7,libavformat58,libavresample4,libavutil56,libpostproc55,libswresample3,libswresample3,ffmpeg-doc

Antwort1

Sie sind auf dem richtigen Weg. Das Problem ist, dass Sie, wenn eines der von Ihnen installierten Pakete Abhängigkeiten mit Versionsnummern angibt, im Parameter entsprechende Versionen angeben müssen --provides. Beispiel:

checkinstall --provides="libavcodec58 \(= x.y.z\),libavdevice58 \(= x.y.z\)"

Sie müssen sicherstellen, apt-cache show handbrakedass die von Ihnen angegebenen Versionsnummern die Anforderungen für dieses Paket erfüllen.

Quelle

verwandte Informationen