make update in /usr/ports

pete

Well-Known Member
Hi!
ich hab hier im forum gelesen, dass ich bevor ich portsupgrade benutze in meinem /usr/ports - verzeichnis ein "make update" machen muss. als ich das versucht habe bekam ich folgende Meldung:

su-2.05b# make update
Error: Please define either SUP_UPDATE or CVS_UPDATE first.

weis jemand an was das liegen kann? hab hier im forum nichts gefunden...

MFG pete
 
Diese Variablen kann man beispielsweise in die /etc/make.conf schreiben. Bei mir siehts z.B. so aus:
Code:
# cat /etc/make.conf | grep SUP
SUP_UPDATE=     yes
SUP=            /usr/local/bin/cvsup
SUPFLAGS=       -g -L 2
#SUPHOST=        cvsup.uk.FreeBSD.org
#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
SUPFILE=        /etc/cvsSrcUp
PORTSSUPFILE=   /etc/cvsPortsUp
 
(1) Musst Du nicht zwingend machen, wäre aber sicher nicht schlecht um danach die portsupgrade INDEX vollständig und up-to date aufzubauen (mit portsdb -Uu, das solltest Du machen)

(2) Wo hast Du das denn mit "make update" gelesen? Das ist eine kleine feine Methode um die sourcen, ports und docs auf den neusten Stand zu bringen.
 
Warum updatet "make -C /usr/src update" eigentlich Sourcen _und_ Ports? Letzteres macht für mich nciht sonderlich Sinn.
 
Benutzt du ein Konfigfile wo ports und src drinstehen? In meinem Beispiel ist zu sehen, das ich für die Quellen und die Ports jeweils ein anderes CVSup-File benutze.
 
Öhm. Und was hat das mit den Sourcen / dem System zu tun? Stimmt, eigentlich nichts. :)

Ein make update in /usr/src sollte src updaten, nichts anderes. So wie es jetzt ist, finde ich es komisch.
 
Das make update ist nichts anderes als ein wrapper für ein Update per cvsup. Wenn du nur ein File hast, in dem sowohl ports-all als auch src-all steht, dann ist doch klar, warum er beides updatet, oder???

cvsup nimmt die von dir (in der make.conf) angegebene Konfigdatei. Steht in dieser Konfig drin, dass die Ports upgedatet werden sollen (ports-all) dann macht cvsup es, denn es weiss nur, welche Konfig abgearbeitet werden muss, nicht was darin steht (bzw. stehen müsste)!

Da du das nicht willst, musst du ein alternatives Konfig-File anlegen. In der make.conf musst du dann (wie ich es oben gepostet habe) dieses für die Ports eintragen. Es hat sogar eine andere Umgebungsvariable. Dann kann man getrost mit einem make update in /usr/src nur die Quelltexte des Systems und mit einem make update in /usr/ports nur die Ports updaten.
 
Dem ist leider nicht so.

"make -C /usr/src update" mit
SUPFILE= /usr/local/etc/cvsup/stable-supfile
PORTSSUPFILE= /usr/local/etc/cvsup/ports-supfile
in /etc/make.conf updatet die Sourcen _UND_ Ports.

"cvsup -L 2 /usr/local/etc/cvsup/stable-supfile" updatet genau das, was es soll, nämlich nur die Sourcen. Nicht mehr.

# Dann kann man getrost mit einem make update in /usr/src nur die Quelltexte
# des Systems und mit einem make update in /usr/ports nur die Ports updaten.

Hier definitiv nicht. Nur Ports sind möglich, nur Sourcen ist lediglich über cvsup machbar. Das ist jetzt nichts, was mich tierisch nervt, aber ich fand es nur auffällig.
 
Zurück
Oben