Warum meldet pkg immer wieder Konflikte um jpeg-8_6?

SolarCatcher

Well-Known Member
Seit Wochen kommt es immer wieder vor, dass ein "pkg upgrade" vorschlägt, über 100 meiner installierten Pakete zu deinstallieren. Das lehne ich natürlich ab, warte ein, zwei Tage und dann ist das Problem wieder weg.

Anlass ist jedes Mal die jpeg-Library, die mit dem installierten jpeg-turbo kollidiert. Pkg meldet jedes Mal (ungefähr) dies:
Code:
jpeg-8_6 [FreeBSD] conflicts with jpeg-turbo-1.4.2 [installed] on /usr/local/bin/cjpeg

Weiß jemand, warum das immer wieder vorkommt? Und dann jedes Mal wieder "von selbst" verschwindet?

Hinweis: Ich nutze FreeBSD 11 mit den Packages aus dem offiziellen Repo mit den neuesten Paketen (also nicht das Quarterly-Repo).
 
Es passiert, wenn ein Port Maintainer unbeabsichtigt Mist baut: Port A hat eine Abhängigkeit auf jpeg, Port B eine Abhängigkeit auf jpeg-turbo. Poudriere registriert beim Bauen der Pakete diese Abhängigkeiten in ihnen. Willst du sie beide installieren, versucht pkg jpeg und jpeg-turbo zu installieren. Das geht aber nicht, da sie im Konflikt stehen. Also bricht die Installation ab. Irgendwann wird dann der Port korrigiert und damit verschwindet auch der Konflikt.

Bisher ist die Lösung, dass Port wenn irgendwie möglich die USES Flags nutzen sollen. Damit entscheidet das Port-Framework welche Bibliothek jpeg-Unterstützung bereitstellt und entsprechend nutzen alle generierten Pakete die gleiche Implementierung. Damit sind solche Konflikte ausgeschlossen. Aber besser wäre es, wenn pkg wie z.B. dpkg oder rpm einen "provides"-Mechanismus bekommen würde. Dann könnte pkg so vorgehen:
  • Installiert ist 'jpeg', es stellt die Funktion "JPEG Bibliothek" bereit.
  • Paket B will "JPEG Funktionalität" und schlägt jpeg-turbo vor.
  • Der Paketmanager überstimmt Paket B und registriert es auf "jpeg".
 
Danke @Yamagi. So hatte ich mir das auch vorgestellt. Was mich allerdings wundert: Diese konkrete Problem tritt erst neuerdings und seitdem immer wieder auf. Weißt Du, ob es da eine Umstellung in der Empfehlung gab, wie Maintainer mit JPEG umgehen sollen? Oder Änderungen in pkg oder Poudriere, die das erklären könnten?
 
Vor knapp 2 Wochen wurde das USES Flag jpeg auf jpeg-turbo umgeschaltet. Damit nutzen alle korrekten Ports jpeg-tubro, inkorrekte Port werden aber noch jpeg hart gesetzt haben. Und das knallt dann.
 
Seit es die Quartals-Ports gibt, toben sich die Entwickler mehr aus, finde ich. Aber das ist meiner Meinung auch OK.
 
Zurück
Oben