SnabbsökningX

Avancerad sökning

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/cvsseymour. 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).

Utskriftsvariant Ändrad 2015-10-09 kl 19.55 ©Datatekniksektionen TLTH adm[kanelbulle]dsek.se Lägg till i snabblänkar