Was ist der Unterschied zwischen libcurl3 und libcurl4?

11

Ich habe eine Ubuntu 14.04-Entwicklungsumgebung eingerichtet und libcurl installiert, aber festgestellt, dass meine Aptitude-Caches zwei verschiedene Versionen enthalten. Was sind die Hauptunterschiede zwischen den Versionen und welche empfehlen die Leute für Django-Projekte?

Ich gehe davon aus, dass libcurl4 neuer und möglicherweise besser ist, aber ich mache mir Sorgen, dass es die Kompatibilität mit anderen Produkten beeinträchtigen, sich mit Schlangenöl-Zertifikaten seltsam verhalten oder mir in Zukunft Kopfschmerzen bereiten könnte.

Gibt es große Fallstricke, die ich bei libcurl4 beachten sollte? Vielen Dank.

macguru2000
quelle

Antworten:

9

Wenn Sie genau hinsehen , werden Sie sehen, dass eigentlich nur die -dbg, -devund -docPakete eine Version 4 in ihrem Paketnamen enthalten, während die Pakete, die die tatsächliche zusammengestellt libcurl Bibliothek versendet 3 - Version noch sind.

Eine Diskussion zu Debian finden Sie unter folgendem Link: https://lists.debian.org/debian-release/2007/04/msg00257.html

Wenn ich es richtig verstehe, gab es eine Änderung in der API, aber nicht in der ABI, so dass die Binärpakete bei Version 3 belassen wurden, während die Entwicklungsdateien eine Versionserhöhung benötigten.

Dies bedeutet auch, dass zum Beispiel libcurl4-openssl-devdas entsprechende Entwicklungspaket für libcurl3trotz der unterschiedlichen Version im Paketnamen ist. Sie können das sehen, wenn Sie sich das ansehen libcurl3-dev(das ist ein virtuelles Paket und verweist auf libcurl4-openssl-dev:

No current or candidate version found for libcurl3-dev
Package: libcurl3-dev
State: not a real package
Provided by: libcurl4-openssl-dev (7.47.0-1ubuntu2), 
    libcurl4-openssl-dev (7.47.0-1ubuntu2.2)

Das obige Snippet wurde unter Ubuntu 16.04 aufgenommen, aber dies wird wahrscheinlich am 14.04 ähnlich aussehen.

Lanoxx
quelle
4

Sie können das Änderungsprotokoll der zugehörigen Pakete selbst lesen über:

for i in $(dpkg -l libcurl\* | grep libcurl  | awk '{print $2}'); do
  apt-get changelog $i >$i.changelog
done

Dann lesen Sie die *.changelogDateien.

Walzer
quelle