Re: -current Komisch

From: Andreas Klemm <andreas(at)klemm.gtn.com>
Date: Wed, 27 Jan 1999 06:52:21 +0100

On Sun, Jan 24, 1999 at 08:34:37PM +0100, Alexander Langer wrote:
>
> Ich habe mit CVSUP und dem /usr/share/examples/cvsup/cvs-supfile
> haufenweise Sourcen gezogen.

Für Source only (also kein CVS repository) hättest Du den
standard-supfile nehmen sollen.

> Eigetnlich sollte das src-all sein.

Du müßtest nun das rund 600 MB große CVS Repository auf der Platte
haben......

Nun kannst Du für Deinen root account beispielsweise die
CVSROOT variable auf das Verzeichnes setzen, in dem sich das
CVS repository befindet (/home/ncvs) oder je nach Einstellungen
im cvs-supfile

Danach könntest Du mal nach /tmp wechseln (source .cshrc nicht
vergessen)und dann ein

        cvs checkout sh
ausprobieren ...

root{110} /tmp cvs checkout sh
cvs checkout: Updating sh
U sh/Makefile
U sh/TOUR
U sh/alias.c
U sh/alias.h
U sh/arith.h
U sh/arith.y
U sh/arith_lex.l

> So. Hat prima geklappt.

Wenn das, s.o. geklappt hat, dann könntest Du die FreeBSD
Version "auschecken", die Du benötigst:

        RELENG_2_2 (FreeBSD 2.2-STABLE, also 2.2.8 mit Fixes)
        RELENG_3 (FreeBSD 3.x-STABLE - ELF !)

also:
        cd /usr
        mv src src.old
        cvs checkout -r RELENG_2_2 src
        cd src
        time make buildworld >& world.log &
        tail -f world.log (watch 'em go ;-)
        Und wenn Du es wirklich willst
        make installworld
        (neuen Kernel bauen vorher alten sichern !!!!)
        cp /kernel /kernel.ok
        cd /usr/src/sys/i386/conf
        config MYKERNELCONFIGFILE (sonst GENERIC)
        cd ../../compile/MYKERNELCONFIGFILE
        make depend all install
        Und wenn alles prima aussieht
        reboot

> Beim folgenden Installworld hatte er sich einige Verzichnisse in
> /usr/share/examples nicht selbst gemacht, die ich von Hand erstellen
> musste, bevor es weiterging.

Sag mal, welche FreeBSD Version fährst Du ???
Mit mtree habe ich bisher eigentlich keine Probleme gehabt...
Die files in /etc/mtree sind eigentlich immer recht aktuell ...

Ich nehme an, Du hast vielleicht /usr/src nicht wie gedacht/gehofft
geupdatet !

> Danach lief das aber ohne Probleme, bis auf die Tatsache, dass ich da
> jetzt jede Menge ,v Dateien habe, die ich da gar nicht will. Aber
> vielleicht muss das ja sein (?).

Du _HAST_ das CVS repository gezogen und ganz offensichtlich wolltest
Du es nicht, weil Du gar nicht weißt, was es ist ;-)))

FreeBSD sourcen werden von dem concurrent version system, kurz
CVS verwaltet. CVS ist ein Frontend zu RCS (auch source verwaltung).
CVS ist allerdings mächtiger und ermöglicht das Arbeiten im team
(mal ganz platt gesagt).

cvs speichert immer die Änderungen zu einer Datei. Änderungen
werden cingechecked/committed und es gibt immer einen netten
commmittlog, was geändert wurde.

Da Du einmal so tapfer warst, und das source repository gezogen hast
(die Leitungen sind sicherlich am qualmen gewesen ;-)
kannst Du das jetzt beibehalten. Fortan ziehst Du nur noch die
Deltas, das mache ich auch so ...

BTW, mit dem CVS repository und ca. 1 GB freien Plattenplatz kannst
Du nun auch selber FreeBSD releases bauen (cd /usr/src/release,
siehe Makefile), das nur am Rande erwähnt ...

> Mist. Heisst das, ich habe 24 Stunden oder so gezogen, um mein System
> neu zu haben, das ich schon hatte?

Nee, Du hast das CVS repository gezogen. Du mußt nun Dein
/usr/src löschen und die Release, die Du nun benötigst
auschecken. Wenn Du also 2.2.8-STABLE haben möchtest:

Root werden und CVSROOT setzen. Dann
        cd /usr
        mv src src.ok (oder rm -rf src)
        cvs checkout -r RELENG_2_2 src
        cd src
        time make world >& world.log &
        und weiter wie oben ....

Und wenn Du nach 3.0 möchtest, dann mußt Du erstmal
nach 2.2.8-STABLE updaten, weil sonst der Update Prozeß

        make aout-to-elf

Nicht richtig wegen fehlender Infrastruktur fehlschlägt.

Hört sich erstmal schwierig an (oder ?) ist aber im Grunde
genommen einfach.

Probier erstmal, ein Gefühl für das CVS repository zu bekommen.

tkcvs aus der ports collection ist für ausgecheckte / "unter
CVS Kontrolle stehende" sourcen ein toller CVS directory
browser. Wenn Du auf einen file klickst, dann kannst Du
Dir die History, alle committ logs ansehen und in einem
Fenster genau die diffs durchgehen (alles farblich markiert) ...

> Ansosnten habe ich ja nur gemacht, wie es in der Doku steht.

Und wahrscheinlich nicht genau genug gelesen ;-))
Sonst hättest Du nur ein viertel oder fünftel über Internet
ziehen müssen ;-)

Dafür wird Dein tägliches Pensum kleiner, weil die CVS
Deltas kleiner sind .. Nun gut, dafür ziehst Du aber auch
alle Änderungen (3.0-STABLE und 4.0-CURRENT) ;-)

So, nun nochmal Kaffee trinken, nachdem ich mich wachgetippt
habe ;-)

        Andreas ///

-- 
Andreas Klemm                                http://www.FreeBSD.ORG/~andreas
     What gives you 90% more speed, for example, in kernel compilation ?
          http://www.FreeBSD.ORG/~fsmp/SMP/akgraph-a/graph1.html
             "NT = Not Today" (Maggie Biggs)      ``powered by FreeBSD SMP''
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 27 Jan 1999 - 06:54:03 CET

search this site