Re: FreeBSD 9 steht vor der Tür...

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 26 Dec 2011 17:42:21 +0100 (CET)

Heino Tiedemann wrote:
> Muss ich beim baldigen Umstieg von FreeBSD 8.2-STABLE auf FreeBSD 9
> (also von RELENG_8 auf RELENG_9) eigenlich wieder ALLE installiertn
> Ports neu bauen?

Muss man, eigentlich.

> Mir war, als hätte ich mal sowas gelesen, das das bei einem Umstieg
> meist "not tut", weil es ja auch oft einer neue gcc version gibt.

Da gab es schon lange keine neue mehr (GPL-Problematik),
und es ist abzusehen, dass FreeBSD irgendwann überhaupt
nicht mehr mit gcc ausgeliefert wird (als Port wird es ihn
natürlich weiterhin geben). Auf diesen Tag freue ich mich
schon; ich habe gcc schon immer gehasst wie die Pest.

Die Neuinstallation der Ports bei einer neuen Major-Release
hat einen anderen Grund, nämlich den, dass einige Libraries
im Base-System ebenfalls neue Versionen haben. Sobald Du
nun irgendeinen Port neubaust, wird er gegen die neuere
Version der betreffenden Library gelinkt, während andere
Ports noch gegen die ältere gelinkt sind. Gibt es zwischen
diesen Ports nun Dependencies, dann kann es passieren, dass
ein Binary versucht, sich beide Versionen der betreffenden
Library gleichzeitig reinzuziehen, und das führt zu Bruch.

Solange Du _keinen_ Port neu baust, kannst Du problemlos
alle Deine alten Ports auch unter FreeBSD 9 weiterverwenden
(vorausgesetzt Du hast die compat-8-Geschichten, die schon
andere in diesem Thread erwähnt hatten). Aus dem gleichen
Grund kann man auch meistens eine chroot- oder jail-Umgebung
ohne Änderungen von FreeBSD 8 auf FreeBSD 9 migrieren.
Du kannst auch einzelne Ports aktualisieren, die keine
Dependencies haben, da es dabei nicht zu Library-Konflikten
kommen kann. Bei allen anderen Ports musst Du aber _alle_
Dependencies neu bauen. Im Zweifelsfall bedeutet dass,
dass man einfach alle Ports neu baut, denn das Dependency-
Geflecht ist häufig ziemlich undurchsichtig.

Übrigens, es gibt ein paar Ports, die auf jeden Fall neu
gebaut werden müssen, weil sie systemnahe Funktionen ent-
halten. Ich denke da z.B. an Dinge wie lsof und strace,
aber zumindest die beiden genannten haben zum Glück keine
Dependencies (strace hat zwar eine auf perl, wird aber
nicht dagegen gelinkt).

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"The most important decision in [programming] language design
concerns what is to be left out."  --  Niklaus Wirth
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 26 Dec 2011 - 17:42:42 CET

search this site