Anonymous CVS
Inhoud
Anonymous CVS is een methode om uw lokale kopie van de OpenBSD source tree up to
date te houden met de wijzigingen die in de huidige OpenBSD broncode gemaakt
worden.
Naast het volgen van de bleeding edge ontwikkelingen is het ook mogelijk om de
errata-patches van een versie te volgen.
Het grote voordeel van Anonymous CVS over andere technieken om broncode te
updaten is dat het werkt met een centrale broncode repository of mirror. Dit
betekent dat u de volledige set van CVS-commando's tot uw beschikking hebt om
uw wijzigingen samen te voegen en te updaten met andere wijzigingen in de
broncode en om diffs uit te voeren, histories te wijzigen en andere queries
tegen de centrale repository.
Het OpenBSD-project heeft op dit moment vier actieve en twee historische
broncode-repositories:
- src - Bevat alle broncode voor het OpenBSD Besturingssysteem.
- ports - Bevat de
OpenBSD Ports.
- www - Bevat alle OpenBSD webpagina's. (Inclusief deze).
- xenocara - Bevat OpenBSD's actieve X.org v7 source tree.
- X11 en XF4 - Bevatten OpenBSD's aanpassing van het
XFree86-3 en XFree86-4
source trees.
Deze zijn er enkel voor historische doeleinden, de meeste gebruikers
zullen geen reden hebben om hem te gebruiken, hij wordt niet langer
gebruikt.
Samenvattend is de ware kracht van Anonymous CVS dat het een "tolerant"
broncodecontrolesysteem is - het respecteert wijzigingen die
u hebt gemaakt aan uw lokale broncode en doet
zoveel mogelijk zijn best om uw gehele source tree te updaten,
in plaats van u achter te laten met een lijst van geheimzinnige problemen die
opgelost moeten worden voordat u verder kan.
CVS is het broncodecontrolesysteem dat
gebruikt wordt om de OpenBSD source tree te
onderhouden.
Het implementeert een centrale repository voor alle officieel uitgebrachte
broncode en wijzigingen, en stelt ontwikkelaars in staat om lokale kopiéén van
de broncode te onderhouden met hun wijzigingen.
Er zijn twee toegangsniveaus voor de broncode tree:
- Lees-schrijf toegang voor ontwikkelaars:
Ontwikkelaars die wijzigingen moeten doorvoeren in de broncode tree moeten
een account hebben op de OpenBSD-machines.
Deze toegang wordt bemachtigd als gevolg van het werken aan de broncodes met
andere OpenBSD-ontwikkelaars.
Als iemand goed werk levert en aantoont dat ze met het team kunnen werken zullen
ze een account krijgen.
- Enkel-lezen toegang voor iedereen:
Iedereen heeft toegang tot de alleen-lezen CVS repositories.
Deze kopieën van de lees-schrijf CVS-repositories worden vaak gemirrored.
De grote kracht van CVS is dat het de mogelijkheid heeft om wijzigingen in de
centrale repository en wijzigingen die u in uw lokale kopie aanbrengt
intelligent samen te voegen. Dit betekent dat wanneer u een wijziging
aanbrengt in een module en een update uitvoert uw wijzigingen niet
"weggevaagd" worden, CVS doet daarentegen zijn best om de wijzigingen die
aangebracht zijn in de centrale code samen te voegen met de wijzigingen die u
in uw lokale kopie hebt gemaakt.
Wanneer de wijzigingen niet volledig samengevoegd kunnen worden heeft CVS een
"soft fallback", welke u aangetekende wijzigingen aan uw lokale kopie geeft,
een ongewijzigde kopie van uw versie behoudt en vervolgt met het updaten van
andere broncode-modules die u aangevraagd hebt.
BELANGIJKE OPMERKING:
Er zijn enkele kwesties rondom cryptografische software waar iedereen bewust van
moet zijn:
- De OpenBSD broncode komt uit Canada.
Zoals
onderzocht door een Canadees individu
en zoals
beschreven in de Export Control List van Canada
is het legaal om crypto-software te exporteren van Canada naar de wereld.
- Echter wanneer u zich buiten de USA of Canada bevindt moet u de
cryptografische onderdelen van de OpenBSD broncode niet halen van een
anoncvs-server gesitueerd in de USA.
Vanwege het US Dept. of Commerce beleid
mag crypto-software alleen geëxporteerd worden van de USA naar Canada.
Hoewel u de hele broncode tree kan downloaden van een AnonCVS server kun
u vaak veel tijd en bandbreedte besparen door uw broncode tree "vooraf te
laden" met de broncodebestanden van de OpenBSD-CD of een FTP-server.
Dit is helemaal het geval als u
-stable draait, omdat er relatief weinig
bestanden gewijzigd worden tussen -release en -stable.
Om de CVS tree van de CD uit te pakken naar /usr/src (aannemend dat de
CD gemount is op /mnt):
# cd /usr/src
# tar xzf /mnt/src.tar.gz
# cd /usr
# tar xzf /mnt/xenocara.tar.gz
# tar xzf /mnt/ports.tar.gz
De broncodebestanden die van de FTP-servers gedownload kunnen worden zijn
verdeeld in twee bestanden om de downloadtijd zo klein mogelijk te houden voor
degene die enkel met een deel van de tree willen werken. De twee bestanden zijn
sys.tar.gz, welke alleen de bestanden bevat om de kernel mee te maken,
en src.tar.gz welke alle andere "userland" programma's bevat.
Over het algemeen wilt u ze echter beide geïnstalleerd hebben.
Aannemend dat de gedownloade bestanden, src.tar.gz,
sys.tar.gz en xenocara.tar.gz zich in /usr bevinden:
# cd /usr/src
# tar xzf ../sys.tar.gz
# tar xzf ../src.tar.gz
# cd /usr
# tar xzf xenocara.tar.gz
# tar xzf ports.tar.gz
Niet iedereen zal alle bestanden willen uitpakken, maar omdat het systeem
gesynchroniseerd moet worden, moeten gewoonlijk alle trees opgezet worden.
U kan ook gewoon cvs(1) gebruiken om een "checkout" van de broncode
repository te doen. Dit wordt behandeld in de volgende
sectie.
Hierna is /usr/src een mooi checkout-gebied waar alle
cvs(1)-commando's zullen werken.
CVS is ontworpen als een eenvoudige manier om uw broncode op te halen en te
updaten. U moet eerst bepalen of u -current of een
patch branch wilt volgen.
De current branch bevat alle laatste wijzigingen, terwijl de patch branch een
formele uitgave bevat plus de patches van errata
en kleinere kwesties.
Voor meer informatie over deze "flavors" van OpenBSD, zie
hier.
Wanneer u eenmaal hebt besloten welke tree u wilt volgen moet u kiezen
welke Anonymous CVS-server u gaat gebruiken. Een lijst van deze servers
bevindt zich hieronder.
Wanneer u eenmaal hebt besloten welke Anonymous CVS
Server u wilt gebruiken kan u beginnen cvs te gebruiken. Zij die
CD's hebben kunnen beginnen met de CVS checkout die op de CD staat met de
hierboven genoemde methode om de broncode op uw systeem
te krijgen. Als u geen CD bij de hand hebt, gebruik dan de methode hieronder
om een checkout van de broncode te maken.
- Begin eerst met het verkrijgen van een tree:
(Wanneer u current volgt):
# cd /usr
# cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src
(Wanneer u de patch branch voor 5.2 volgt):
# cd /usr
# cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_2 -P src
- Om deze tree hierna ooit te updaten:
(Wanneer u current volgt):
# cd /usr/src
# cvs -q up -Pd
(Wanneer u de patch branch voor 5.2 volgt):
# cd /usr/src
# cvs -q up -rOPENBSD_5_2 -Pd
Elke keer u dit uitvoert zal het uw /usr/src tree synchroniseren. Het zal
geen lokale wijzigingen vernietigen, maar zal proberen de wijzigingen samen te
voegen.
- N.B.:
Als u een source tree update die u aanvankelijk van
een andere server hebt gehaald of van een CD moet
u de -d anoncvs@anoncvs.ca.openbsd.org:/cvs optie aan cvs toevoegen.
# cd /usr/src
# cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs -q up -Pd
Het gebruik van ports
is het gelijkaardig aan src:
-
(Wanneer u current volgt):
# cd /usr
# cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports
(Wanneer u de patch branch voor 5.2 volgt):
# cd /usr
# cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_2 -P ports
- Om deze tree hierna ooit te updaten:
(Wanneer u current volgt):
# cd /usr/ports
# cvs -q up -Pd
(Wanneer u de patch branch voor 5.2 volgt):
# cd /usr/ports
# cvs -q up -rOPENBSD_5_2 -Pd
In bovenstaand voorbeeld is -q optioneel, alleen bedoeld om de uitvoer
van cvs te minimaliseren. Voor degenen die graag schermen vol uitvoer zien kan
het weggelaten worden.
Om een diff te maken van een lokaal gepatchte module (hier cd.c) om
met een bugreport mee te sturen:
# cd /usr
# cvs diff -u src/sys/scsi/cd.c > /tmp/patch
De
cvs(1) man pagina
(inbegrepen bij de CVS-broncode) heeft veel meer
informatie over hoe CVS gebruikt kan worden.
Waarschuwing:
Wanneer u cvs gebruikt moet u er goed op letten dat uw huidige directory de
root van de tree die u aangeeft is of een aparte plek zoals /tmp.
Sommige commando's zoals "get" kunnen een willekeurige sub-tree aanmaken in de
huidige directory en een volgende update zal deze sub-tree recursief uitbreiden.
De anoncvs-dienst geeft beginnende ontwikkelaars een kans om CVS te leren en
grondig geintroduceerd te worden aan het ontwikkelproces voordat ze
"commit"-rechten krijgen -- als een gevolg van het tonen van nuttige
vaardigheden en resultaten van hoge kwaliteit zullen ze natuurlijk later
ontwikkelaarstoegang krijgen.
Ook kunnen mensen die patches aangeven hun "diff"'s tegen de CVS tree
genereren wat de integratie makkelijker maakt.
Een voorbeeld van het gebruik van een anoncvs-server zou zijn:
$ cd /tmp
$ cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs get src/sys/arch/sparc
[kopieert de bestanden van de repository naar uw machine]
$ cd src/sys/arch/sparc
$ cvs log locore.s
[toont het commit-log voor het aangegeven bestand]
$ cvs diff -bc -r1.1 -r1.5 locore.s
[toons de wijzigingen tussen de revisies 1.1 en 1.5]
- CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/cvs
Locatie: Buenos Aires, Argentinië.
Onderhouden door Gonzalo Lionel Rodriguez.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf anoncvs.spacehopper.org.
- CVSROOT=anoncvs@anoncvs2.bom.nom.co:/cvs
Locatie: Perth, Australië.
Onderhouden door Michael W. Bombardieri.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf anoncvs.usa.openbsd.org.
SSH fingerprints:
(RSA) 2048 e8:b9:ba:8a:ec:d1:09:20:f3:8e:36:1c:ce:f2:e4:b7
(DSA) 1024 09:d7:32:a9:bb:31:9f:b7:48:8a:46:70:6a:b5:65:d0
- CVSROOT=anoncvs@anoncvs.au.openbsd.org:/cvs
Locatie: Brisbane, Australië.
Onderhouden door David Gwynne.
Protocollen: ssh.
Elk uur geüpdatet.
SSH fingerprints:
(RSA1) 2048 5b:d9:89:99:3d:60:da:bf:e4:28:00:5a:1c:65:91:9f
(RSA) 2048 19:4c:e2:a8:9e:42:b2:91:f3:d5:04:cf:b5:61:5e:ea
(DSA) 1024 80:ff:d2:46:70:51:7d:09:a5:71:83:bb:89:98:44:b1
(ECDSA) 256 fa:57:1c:55:7c:aa:d0:bc:4c:e2:05:3d:9b:bb:83:2d
- CVSROOT=anoncvs@anoncvs1.ca.openbsd.org:/cvs
Host ook bekend als anoncvs.ca.openbsd.org, openbsd.sunsite.ualberta.ca.
Locatie: Alberta, Canada.
Onderhouden door Bob Beck.
Protocollen: ssh, ssh poort 2022.
Elke 2 uur geüpdatet.
- CVSROOT=anoncvs@anoncvs.comstyle.com:/cvs
Locatie: Toronto, Canada.
Onderhouden door Brad Smith.
Protocollen: ssh, ssh poort 2022.
Ieder uur geüpdatet.
SSH fingerprints:
(RSA1) 2048 80:33:40:b7:94:9e:7b:bd:77:fb:2a:57:85:fc:09:73
(RSA) 2048 43:30:9a:c6:c4:19:80:ad:7d:58:3e:7a:a0:39:57:53
(DSA) 1024 66:a1:f9:47:26:d9:15:3c:62:2b:b5:e8:0d:89:4a:6f
(ECDSA) 256 62:28:13:ea:cd:ba:68:e6:e9:82:94:ac:10:7f:80:d5
- CVSROOT=anoncvs@openbsd.cs.fau.de:/cvs
Host ook bekend als openbsd.informatik.uni-erlangen.de.
Locatie: Universiteit van Erlangen-Nürnberg, Erlangen, Duitsland.
Onderhouden door Simon Kuhnle.
Protocollen: ssh, ssh poort 2022.
Elke 2 uur geüpdatet vanaf anoncvs.spacehopper.org.
SSH fingerprints:
(RSA) 2048 d0:f2:0c:a3:bf:28:ba:18:50:5f:04:dc:13:ed:63:42
(DSA) 1024 9f:a1:78:0b:d4:76:68:bf:3e:83:d0:41:c8:1e:33:8b
(ECDSA) 256 f0:d1:64:e6:6b:2f:9e:1e:85:aa:75:e3:a0:52:d3:5a
- CVSROOT=anoncvs@mirror.osn.de:/cvs
Locatie: Nürnberg, Duitsland.
Onderhouden door Armin Wolfermann.
Protocollen: ssh.
Elke 3 uur geüpdatet.
SSH fingerprints:
(RSA) 1024 f2:73:d2:f6:e3:01:ef:ca:3b:e7:6c:80:b6:bd:bb:84
(DSA) 1024 fb:33:05:62:96:20:cf:88:7e:10:cb:8d:91:72:57:32
- CVSROOT=anoncvs@anoncvs.estpak.ee:/OpenBSD
Locatie: Elion, Tallinn, Estland.
Onderhouden door Rivo Nurges.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf cvsync.de.openbsd.org.
SSH fingerprints:
(RSA) 1024 e1:12:fb:6b:e5:c0:6a:b3:f8:ca:b1:4c:20:fb:5e:07
(DSA) 1024 bb:5c:44:f4:d9:12:3b:22:08:a9:12:c5:0c:e7:db:49
- CVSROOT=anoncvs@anoncvs.fr.openbsd.org:/cvs
Locatie: Parijs, Frankrijk.
Onderhouden door Landry Breuil.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf anoncvs1.ca.openbsd.org.
SSH fingerprints:
(RSA1) 2048 28:ce:6b:61:76:d9:0e:6d:65:a1:5c:dd:e8:d7:57:42
(RSA) 2048 89:2e:84:9e:0c:f9:8d:21:41:0e:c5:80:41:27:14:c1
(DSA) 1024 7f:fb:68:2f:0f:c8:63:6c:0f:32:2c:03:d4:cd:0c:47
(ECDSA) 256 6f:a8:a5:93:d7:68:55:91:15:42:b0:5d:38:62:b9:c3
- CVSROOT=anoncvs@anoncvs.jp.openbsd.org:/cvs
Host ook bekend als kankoromochi.econ.nagasaki-u.ac.jp.
Locatie: Nagasaki University, Faculty of Economics, Nagasaki, Japan.
Onderhouden door Suzuki Itoshi.
Protocollen: ssh, pserver.
Elke 3 uur geüpdatet.
- CVSROOT=anoncvs@ftp5.eu.openbsd.org:/cvs
Host ook bekend als anga.funkfeuer.at.
Locatie: Wenen, Oostenrijk.
Onderhouden door Martin Reindl.
Protocollen: ssh, ssh poort 2022.
Elke 2 uur geüpdatet vanaf anoncvs1.usa.openbsd.org.
SSH fingerprints:
(RSA) 2048 e4:a7:3a:ab:e1:a7:c8:eb:5c:f4:ff:38:95:6f:81:f2
(DSA) 2048 66:03:a3:bc:46:85:f3:6c:4b:6b:e3:d4:f5:5f:a6:c4
- CVSROOT=anoncvs@anoncvs.obsd.si:/cvs
Host ook bekend als nina.kerberos.si.
Locatie: Ljubljana, Slovenië.
Onderhouden door Mitja Muzenic.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf anoncvs.eu.openbsd.org.
- CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs
Host ook bekend als anoncvs.usa.openbsd.org, anoncvs4.usa.openbsd.org.
Locatie: Internet Systems Consortium, Redwood City, CA, USA.
Onderhouden door Todd C. Miller.
Protocollen: rsh, ssh, ssh poort 2022, pserver.
Elke 2 uur geüpdatet.
SSH fingerprints:
(RSA1) 1024 64:de:26:16:c2:ff:1b:c7:24:ed:a4:4a:d7:2f:69:3e
(RSA) 1024 49:67:9a:46:62:8a:3f:4e:b3:63:ca:d6:41:29:2a:2f
(DSA) 1024 a7:75:49:77:f3:47:d1:3c:5e:65:84:84:3b:03:f1:33
(ECDSA) 256 d3:b2:b5:68:87:3b:f6:93:21:fd:28:ea:cc:b6:e1:13
- CVSROOT=anoncvs@anoncvs3.usa.openbsd.org:/cvs
Locatie: National Center for Atmospheric Research, Boulder, CO, USA.
Onderhouden door Todd C. Miller.
Protocollen: rsh, ssh, ssh poort 2022, pserver.
Elke 2 uur geüpdatet.
SSH fingerprints:
(RSA1) 2048 80:cd:f6:fc:4f:0e:cb:80:6a:d0:6a:5e:dd:9e:5d:0a
(RSA) 2048 49:6f:4a:be:02:63:0d:c0:54:b0:57:f0:48:7f:ce:16
(DSA) 1024 f9:ab:fc:60:a3:15:8f:9c:47:24:9e:92:15:78:0d:f3
(ECDSA) 256 99:4f:c8:23:6a:bf:75:1c:de:c9:11:bf:a4:fe:0a:51
- CVSROOT=anoncvs@mirror.planetunix.net:/cvs
Locatie: Chicago, IL, USA.
Onderhouden door Brian Brombacher.
Protocollen: ssh, ssh poort 2022, pserver.
Elke 3 uur geüpdatet vanaf anoncvs3.usa.openbsd.org.
SSH fingerprints:
(RSA1) 2048 e4:22:93:81:84:e0:68:8c:0b:d5:1f:78:cd:6f:fa:c3
(RSA) 2048 8f:42:bd:b0:a2:94:df:6b:af:1e:96:03:ea:68:03:d9
(DSA) 1024 26:51:e8:b3:38:88:dc:a8:2a:98:59:86:ab:40:bb:a4
- CVSROOT=anoncvs@anoncvs.obsd.esc7.net:/cvs
Locatie: Dallas, TX, USA.
Onderhouden door James Shupe.
Protocollen: ssh.
Elke 2 uur geüpdatet vanaf anoncvs1.usa.openbsd.org.
SSH fingerprints:
(RSA1) 256 68:f1:e8:11:94:5c:5e:15:d0:ee:54:1f:ee:57:33:4a
(RSA) 2048 2a:c8:01:6f:5c:fe:78:75:84:29:c3:11:0f:65:05:07
(DSA) 1024 0e:ce:de:c4:7d:a0:d1:71:0a:af:cf:ee:34:43:bc:23
- CVSROOT=anoncvs@anoncvs.spacehopper.org:/cvs
Locatie: Londen, Verenigd Konkrijk.
Onderhouden door Stuart Henderson.
Protocollen: ssh, ssh poort 2022, ssh poort 443.
Ieder uur geüpdatet vanaf anoncvs.ca.openbsd.org.
SSH fingerprints:
(RSA1) 2048 31:fc:3d:e0:f7:6c:47:7e:48:f0:52:17:e6:19:74:f5
(RSA) 2048 e2:19:16:3f:a3:2e:eb:94:14:cd:5c:92:9a:6c:9a:8f
(DSA) 1024 ff:47:13:22:83:d1:6e:df:a0:f0:4f:18:31:cb:f2:28
(ECDSA) 256 a5:b0:2a:65:ff:9a:0b:ef:7d:6f:d2:95:2e:a7:c9:2c
- CVSROOT=anoncvs@anoncvs.eu.openbsd.org:/cvs
Locatie: Stockholm University, Stockholm, Zweden.
Onderhouden door Janne Johansson.
Protocollen: ssh.
Elke 2 uur geüpdatet.
SSH fingerprints:
(RSA1) 2048 4c:d2:0a:90:b8:95:5d:37:3b:32:7b:77:5a:c5:ef:26
(RSA) 2048 98:e6:80:5d:95:bb:e2:15:5e:19:4d:a3:e4:d0:bc:2c
(DSA) 1024 55:cd:a7:a9:e3:bc:a5:5c:81:5e:98:c0:60:a2:67:52
N.b.: Als uw server niet op de lijst voorkomt of met onjuiste of
onvolledige informatie neem alstublieft contact op met
beck@openbsd.org
U kan
traceroute(8)
gebruiken om uit te zoeken welke server het dichtsbij is.
Problemen met een server moeten gemeld worden aan de onderhouder van de
server in kwestie.
Als het lokaal beleid belemmert om uitgaande verbindingen te maken naar ssh's
standaardpoort van 22 kan daarvoor in de plaats poort 2022 gebruikt worden die
door sommige sommige servers worden toegestaan.
Dit is opgenomen in bovenstaande lijst.
Om een andere poort te gebruiken kunt u een "Host"-sectie opnemen in
$HOME/.ssh/config, bijvoorbeeld:
Host anoncvs.ca.openbsd.org
Port 2022
Als u een nieuwe anoncvs mirror site wilt opzetten en openstellen voor het
publiek, neem dan alsjeblieft contact op met de
anoncvs-onderhouder.
Anoncvs mirrors vereisen momenteel ongeveer 5 GB schijfruimte (en dit zal
toenemen!) en gebruiken tot 32 MB
swap per anoncvs-gebruiker (aannemend dat de gebruiker een grote operatie
uitvoert; alhoewel kleinere operaties minder bronnen gebruikt heeft anoncvs nog
steeds meer impact dan ftp). Zulke anoncvs-machines zouden een zeer
goede netwerkverbinding moeten hebben voor het gebied dat ze zullen dienen. Een
document
die de opzet van anoncvs-servers beschrijft is beschikbaar.
Na het upgraden van uw source tree zou u de opmerkingen bovenaan
/usr/src/Makefile moeten lezen voordat u een build probeert. Ook
zou u indien mogelijk een nieuwe kernel moeten bouwen voordat
u een make build doet. In sommige gevallen kan het noodzakelijk
zijn om het config programma te herbouwen en te installeren voordat
u de kernel kan bouwen. Als config GENERIC faalt is dit
waarschijnlijk het geval.
Het is belangrijk om op te merken dat het upgraden van een release naar de
current tree door de broncode te herbouwen vrij lastig kan zijn door
afhankelijkheden die vaak niet voor de hand liggen. Daarom wordt aanbevolen dat
u eerst de laatste snapshot installeert voordat u een tree bouwt uit broncode.
www@openbsd.org
$OpenBSD: anoncvs.html,v 1.127 2013/03/14 08:23:20 ajacoutot Exp $