För att hantera källkod och en del annat används
versionshanteringsverktyget CVS.
Det finns gott om bra dokumentation till CVS (som heller inte är ett
speciellt svårt verktyg), så någon allmän användarhandbok till CVS
tillhandahåller vi inte. Några bra siter med dokumentation:
Repositoryt
Variabeln $CVSROOT sätts som standard till platsen för
repositoryt, som är /usr/local/cvs på
seymour. Om du loggar på någon
annan dator än seymour kommer att anpassas för det. Vill du jobba mot
repositoryt från någon helt annan dator kan du sätta $CVSROOT
till :ext:user@seymour.dsek.lth.se:/usr/local/cvs (där
user byts ut mot ditt användarnamn) samt $CVS_RSH
till ssh för att komma åt repositoryt via SSH.
Katalogstrukturen för repositoryt ser ut enligt nedan, och om man
inte vill checka ut allt kan man ange någon av dessa.
dsek
dsek/arkiv
dsek/arkiv/reglemente
dsek/arkiv/stadgar
dsek/cgi-bin
dsek/datorer
dsek/datorer/README
dsek/program
dsek/program/bin
dsek/program/etc
dsek/program/etc/funkis
dsek/program/man
dsek/program/man/man1
dsek/program/man/man5
dsek/program/sbin
dsek/program/src
dsek/program/src/expnd
dsek/program/src/minihttpd
dsek/program/src/mojtd
dsek/program/src/php
dsek/program/src/roxen
dsek/program/src/roxen/filters
dsek/program/src/roxen/misc
dsek/program/src/roxen/tags
dsek/program/src/site_perl
dsek/program/src/site_perl/DWWW
dsek/program/src/site_perl/DWWW/lib
dsek/program/src/site_perl/DWWW/lib/DWWW
dsek/program/src/site_perl/Image
dsek/program/src/site_perl/Image/lib
dsek/program/src/site_perl/Image/lib/Image
dsek/program/src/slpr
dsek/program/src/xmms_hugo
dsek/texmf
etc
etc/bind
etc/mail
etc/named
etc/openldap
etc/openldap/schema
etc/postfix
etc/postfix-relay
etc/postfix-www
Filinstallationer
De filer som ligger i repositoryt måste ju installeras på ett
lämpligt sätt i det gemensamma filsystemet (t.ex. under
/usr/local/dsek/program/bin), och för detta finns det ett
antal hjälpmedel.
Gränssnittet mot verktygen är makefiler som dels används för att
anropa installationskommandona men som naturligtvis även kan användas
för att bygga filerna som ska installeras, om det inte är de som
ligger i repositoryt.
De flesta behöver inte gräva ner sig i detaljer utan behöver bara
veta om de tre centrala targets som alltid ska finnas; install,
install-local och install-remote, där det
förstnämnda resulterar i att de två andra körs. install-local
installerar alla filer som ska installeras lokalt medan
install-remote installerar alla filer på alla andra
datorer.
Du som struntar i hur det hela egentligen fungerar kan sluta läsa
här.
Makefilerna använder ett program som heter dsek-install
som kan arbeta i två lägen; lokal installation och installation på en
annan dator. Den lokala installationen gör egentligen ingenting annat
än att kopiera källfilen, medan installationen på en annan dator går
till så att SSH används för att logga in på datorn, varpå make
install-local körs i rätt katalog. För att dsek-install
ska ha lite flexibilitet finns det några optioner att ge. Skriv
dsek-install utan några argument för att få upp
hjälptexten.
Om man lägger till en katalog och vill ha en makefil som beter sig
enligt ovan är det enklast att använda mkmake som skapar en
makefilsmall. Programmet tar ett argument i form av
installationskatalogen. Det är klokt att inte köra mkmake det
första man gör eftersom den kontrollerar vilka filer som finns i
repositoryt (egentligen filen CVS/Entries, så en ny fil
behöver inte vara incheckad utan bara tillagd i arbetsytan). Lägger
man till filer efter att makefilen skapats med mkmake så får
man manuellt ändra makefilen (detta borde egentligen ändras).
|