Programm der Woche: portsnap

[LoN]Kamikaze schrieb:
Warum? Der Index wird doch bei make update auch aktualisiert.
War bzw. ist mir nicht bewusst.
Auschnitt aus /usr/ports/Makefile:
Code:
SUP?= cvsup
.if defined(SUPHOST)
SUPFLAGS+=      -h ${SUPHOST}
.endif
update:
.if defined(SUP_UPDATE) && defined(PORTSSUPFILE)
        @echo "--------------------------------------------------------------"
        @echo ">>> Running ${SUP}"
        @echo "--------------------------------------------------------------"
        @${SUP} ${SUPFLAGS} ${PORTSSUPFILE}
make update ruft also nur cvsup auf, das Label fetchindex wird dabei nicht
angesprungen/aufgerufen und somit auch kein aktueller Index erstellt oder heruntergeladen.
weiterer Auschnitt aus /usr/ports/Makefile:
Code:
fetchindex:
        @cd ${.CURDIR} && ${FETCHINDEX} ${MASTER_SITE_INDEX}/${INDEXFILE}.bz2 && bunzip2 -f ${INDEXFILE}.bz2 && chmod a+r ${INDEXFILE}
MASTER_SITE_INDEX?=     http://www.FreeBSD.org/ports/
FETCHINDEX?=    fetch -am
INDEX_JOBS?=    2
fetchindex lädt die aktuelle INDEX Datei von FreeBSD.org
 
Noch ein Hinweis:

portindex besteht aus 3 Skripten: cache-init, cache-update, portindex.

Portindex erstellt INDEX etc und das sehr flott. Greift hierfür aber auf eine eigene Datenbank zurück.
cache-init erstellt diese Datenbank und dauert daurchaus lange.
cache-update arbeitet schnell und inkrementell Änderungen in die Datenbank ein - benötigt hierfür allerdings ein Log von cvsup.

Wer seinen Ports-Tree mit portsnap aktualisiert sollte also fetchindex verwenden - oder er kommt jedesmal um ein zeitintensives cache-init nicht herum.
 
Elessar schrieb:
Wer seinen Ports-Tree mit portsnap aktualisiert sollte also fetchindex verwenden - oder er kommt jedesmal um ein zeitintensives cache-init nicht herum.
sorry, aber da komm ich jetzt nicht mehr so ganz mit.
Bei mir aktualisiert portsnap die INDEX Dateien bei jedem update und dass in kaum
merkbarer Zeit, nach jedem portsnap update habe ich alle drei (INDEX, INDEX-5, INDEX-6) auf neustem Stand.
Hab ich da was übersehen?
 
# cd /usr/ports
# rm -rd *
# cd /usr/src
# make update

Der index ist da, obwohl ich jeden vorherigen index auf jeden Fall mitgelöscht habe. Ich denke der Index kommt einfach mit aus dem cvs.
 
Es ist mal wieder faszinierend, wie viele Wege es gibt um ein und die selbe Sache zu
erledigen. make update in /usr/src kannte ich bisher noch nicht, dachte Du
beziehst Dich auf den entsprechenden Aufruf in /usr/ports.
Naja, schön zu wissen, dass das auch geht :)
 
Ja aber wenn man das gemacht hat, dann updated es (zumindest wenn man es unter /usr/src ausführt) die ports, docs und src. Wenn portsnap auch die docs und srcs für mich updaten kann werde ich darauf umsteigen.
 
Wobei portsnap deutlich schneller ist als cvsup.
Aber stimmt schon, da ich src, ports und docs so oder so update, kann ich auch auf portsnap verzichten.
 
Das problem ist, wie richte ich es in der make.conf ein, das portsnap für ports, docsnap für docs und cvsup für src verwendet wird?
 
Nachtrag: http://docsnap.sk.freebsd.org/

Also docsnap ist vielleicht für den Normalbürger nicht so wichtig, weil sich an der Doku nun nicht so dramatisch viel tut. Ich würde eher sagen der Normalbürger richtet sich einen cronjob ein und benutzt den einmal die Woche oder Monat. Man kann das Ganze imho auch etwas übertreiben... portsnap ist da eine imho ganz andere Sache, vor allem für Updateritis-geplagte Zeitgenossen. :D
 
dagnu schrieb:
sorry, aber da komm ich jetzt nicht mehr so ganz mit.
Bei mir aktualisiert portsnap die INDEX Dateien bei jedem update und dass in kaum
merkbarer Zeit, nach jedem portsnap update habe ich alle drei (INDEX, INDEX-5, INDEX-6) auf neustem Stand.
Hab ich da was übersehen?
Kann gut sein, ich verwende kein portsnap. Axel hat nur portindex mit angesprochen, und ich wollte den Anker werfen, dass es viele Tools für die Ports gibt, aber nicht alle problemlos miteinander zu kombinieren sind.
 
Man kann portsnap mit cvsup+make fetchindex nutzen. Hatte bisher keine Probleme.
Aber wie gesagt, ein cvsup der src, doc rennt so oder so, da kann ich auch gleich die ports mit akutalisieren lassen und ein "make fetchindex" geht auch schnell.
 
Hmm, docsnap hört sich für mich ziemlich blödsinnig an, da es anscheinend nur ein skript zum aufrufen von rsync ist. Und cvsup ist bekannterweise effektiver als rsync, ansonsten aber gleich aufwendig...
 
@Malebob: Und wo genau liegt jetzt der Blödsinn? Es ist ein simples script, mit dem ein user sein /usr/share/doc/ mit einem öffentlichen und ständig aktualisierten Repository binnen Sekunden/Minuten extremst easy updaten kann. KISS und fertich. Brauchen wir denn wirklich mehr?
 
Zurück
Oben