Frage zu RELEASE, STABLE, CURRENT und ports

TheGrudge

Member
Ich habe schon das wiki durchforstet, aber ich glaube ich verstehe immer noch nicht ganz den Sinn von Ports und den Releases...

Ich weiss ein RELEASE ist ein eingefrorenes STABLE, in das nur noch Bugfixes fliessen.
CURRENT ist der Entwicklerzweig, den sollte man wenn möglich nicht nutzen...
OK

Aber was genau sind denn nun Ports? Die haben denke ich mit STABLE usw nix zu tun, oder?
RELEASE, STABLE, CURRENT bezieht sich nur auf den Kern von FreeBSD, oder?

Meine Frage kommt daher:
Ich habe vorhin ein bisserl was aus den Ports installiert, also:
1. portsnap fetch update
2. cd /usr/ports/graphics/kphotoalbum
3. make install clean

Dann wollte ich mal portupgrade ausprobieren, nur das will mir auf einmal ein paar KDE-Sachen installieren, von denen es keine Pakete gibt, sprich es wird kompiliert. Ich habe aber keine Lust nun 12h auf mein System zu warten... also dachte ich mir ich stelle alles wieder auf RELEASE.

Nur wie geht das? Die Portliste scheint ja immer die aktuellste Version zu sein, da kann ich gar nicht wählen ob ich RELEASE oder STABLE möchte.

Und jetzt nochmal auf Deutsch (hihi):
Sind ports Release-unabhängig und bezieht sich RELEASE, STABLE, CURRENT nur auf den Kern, oder wie soll man das verstehen?
Wenn ich sagen wir von Gimp die Version installieren will, die auf der CD war (also beim Release), kann ich das über Ports tun oder muss ich dafür die CD einlegen?
Kann ich alle installierten Programme irgendwie wieder auf RELEASE bringen?
 
Portupgrade versucht die neusten Ports zu installieren/bauen, du kannst aber immer noch Pakete installieren.

Es gibt übrigens nur einen Portstree. Der wird für Releases eingefrohren, damit man möglichst gut funktionierende Ports beim Release mitliefert, aber mit CURRENT, STABLE und RELEASE hat es sonst nichts zu tun.
 
hmm was bedeutet denn dann "auf STABLE oder RELEASE" bleiben wenn ich das gar nicht über den portstree beeinflussen kann?
 
äääääääääähhh also wenn ich mir quasi die CD sauge oder wie?
Denn beim ersten Mal portupgrade ist es dann ja vorbei mit RELEASE... oder nicht?
 
Ja, Release, Stable und Current bezieht sich auf das Base System.
Die Ports haben immer den tag "tag=.". Da diese immer in Bewegung sind gibt es hier keine Trennung zwischen den drei genannten Modellen wie im BaseSystem.
 
ok dann ist alles was ich aus ports installiere quasi CURRENT.
Das ist ja dann auch nicht gerade die beste Lösung... bleibt doch dann eher nur der Weg über Pakete, nur frage ich mich dann wo der Unterschied / Vorteil zu sagen wir Ubuntu (mein Hauptsystem) ist...
 
vielleicht verstehe ich das ja auch alles falsch, aber ist es dann nicht eher schlecht, portupgrade usw zu benutzen?
 
Pakete sind meist etwas älter. Wenn Du aus den sourcen baust dann bekommst Du immer die aktuelle Version (bei den Paketen kann es auch mal etwas älter sein).
 
ok dann fasse ich meine wirren Gedanken nochmal zusammen:
damit ich auf RELEASE, STABLE bleibe, trage ich folgende Variablen ein:

PACKAGESITE=ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/Latest
PKG_SITES=ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/

dann installiere ich mit
pkg_add -r xxx
immer ein Paket aus der STABLE-Reihe...

wenn ich aber aus den ports installiere, installiere ich CURRENT.

will ich mein system nur STABLE haben, versuche ich ein
portupgrade -aPP
damit nur Pakete runtergeladen werden.

Ansonsten
portpgrade -aP
damit der Rest, der nicht als Paket vorliegt, kompiliert wird.


Also ist im Grunde pkg_add einem port vorzuziehen, wenn man in STABLE bleiben will.
 
Pakete sind nicht Ports, sie werden nur daraus gebaut. Die Maintainer geben sich alle Mühe Ports immer auf der aktuellen, stabilen Version zu haben. Die Unterscheidung der Zweige bei Paketen ist zu welcher Version die Binaries gelinkt wurden.

Bei den Binärpaketen, die mit dem Release kommen ist aus Sicherheitsgründen wohl ziemlich unklug.
 
Das hier:
TheGrudge schrieb:
PACKAGESITE=ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/Latest
ist nichts anderes als das Ergebnis eines make package des jeweils aktuellsten Portstrees. Unter ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6.1-release findet du das Ergebnis eines make package des zum Zeitpunkt von FreeBSD 6.1-RELEASE aktuell gewesenen Portstrees. Ein Teil dieser Packages landet dann auch auf den 6.1-RELEASE-CDs.

TheGrudge schrieb:
dann installiere ich mit
pkg_add -r xxx
immer ein Paket aus der STABLE-Reihe...
Nicht aus, sondern für die 6-STABLE-Reihe. Das "6-STABLE" bezieht sich also nicht auf die Version des Ports, sondern auf das System, für das der Port kompiliert wurde.

Wie jetzt schon mehrmals geschrieben wurde (vielleicht einfach noch mal durchlesen): Der Portstree an sich hat mit STABLE und CURRENT und RELEASE nichts, aber auch gar nichts zu tun. "6-STABLE" sagt nur, daß das Package mittels make package auf einem 6-STABLE-System erzeugt wurde und daher bevorzugt zur Installation auf ebensolchen Systemen gedacht ist.

TheGrudge schrieb:
Also ist im Grunde pkg_add einem port vorzuziehen, wenn man in STABLE bleiben will.
Nein, da Pakete nichts anderes als kompilierte Ports sind. Die kannst du dir mit dem bereits erwähnten make package auch selbst aus dem Portstree bauen. Entscheidend ist dann nur das Datum des Portstrees. Wenn du ein Package von einer RELEASE-CD neu kompilieren willst, weil du zum Beispiel eine bestimmte Option zuschalten möchtest, nimmst du die ports.tar.gz von der RELEASE-CD und kompilierst den betreffenden Port neu.

Willst du dagegen die heute aktuelle Version einer Software, ziehst du dir den aktuellen Portstree und kompilierst das Ding selbst. Oder du holst dir eben ein fertig kompiliertes Paket von ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/Latest.

Du kannst dir aber auch den Portstree mit Stand vom 11.11.2005 (oder was auch immer) auschecken und dann deine ganz persönliche Package-Sammlung vom 11.11.2005 erstellen.

Fertig kompilierte Pakete setzen natürlich voraus, daß du mit den vom FreeBSD-Team beim Kompilieren verwendeten Optionen zufrieden bist. Außerdem darf aus rechtlichen Gründen von diversen Ports kein Paket zum Download bereitgestellt werden.

asg schrieb:
Pakete sind meist etwas älter.
Ja, die werden AFAIK nur einmal pro Woche gebaut.
 
Ist das dann falsch?
PACKAGESITE=ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/Latest
denn ich habe ja ein RELEASE installiert... oh man irgendwie ist das schwer zu verstehen...
oder eher so:
PACKAGESITE=ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-release/Latest

ich installiere mitlerweile so:
portinstall -P oder portupgrade -P, dann kann er versuchen von
ftp://ftp.freebsd.ch/pub/FreeBSD/ports/i386/packages-6-stable/Latest
ein Paket zu ziehen und wenn das nix wird, kompiliere ich es.
 
Zurück
Oben