configure
med korrekte argumenter, vil binærfiler,
bibliotek, manualer, etc. bli installert under
/store/bin
, /store/lib
,
/store/man
, osv.
postinst
gjør dette for deg.
shadow
-kommandoen, blir du også her konfrontert
med en del spørsmål. Og som ved shadow
-kommandoen, vil
default-verdiene som regel være korrekte.
Hva postinst
-kommandoen egentlig gjør, er at den
søker gjennom hele linktreet og finner de filene som ikke er
sumbolske linker, og som er yngre en 10 minutter gammel. Når den
finner en slik fil,
/store/<filsti>
,
vil den flytte denne til sin respektive plass i versjonstreet,
/store/store/tklab1/<applikasjon>/ver-<versjon>/<filsti>
.
En symbolsk lenke blir så opprettet fra linktreet til denne filen.
Postinst
sjekker også (ved å benytte kommandoen
file
), hvilken type fil den holder på å flytte. Dersom
filen er arkitekturavhengig, vil en arkitetkursuffiks bli lagt til
ved installeringen. Dersom filen ikke er arkitekturavhengig, vil
ingen slik suffiks bli lagt til. Ved installeringen av
sharutils
vil f.eks. følgende to symbolske lenker bli
opprettet.
-t <minutter>
'' til
postinst
. Du spesifiserer da en maksimalalder på
filene du ønsker å installere, gitt i minutter. Dette er særlig
nyttig for programpakker som benytter tar
for å
installere filene sine i linktreet (f.eks. emacs).
Modifikasjonsdatoen til de installerte filene blir da uendret, og
filene kan bli flere år gamle.
register
:
Short description blir forresten brukt til bl.a. generering av rapporter. Description blir benyttet til bl.a. generering av news-meldinger. Et eksempel på en slik description kan være:
Shar makes so-called shell archives out of many files, preparing them for transmission by electronic mail services. Unshar helps unpacking shell archives after reception.
Newer: override alpha beta gamma release stable
dated old obsolete prealpha
Normal: override stable release gamma dated beta
old alpha obsolete prealpha
For tklabben benyttes newer, og for resten av installasjonen benyttes normal. Prioriteten av release levels ovenfor bestemmer hvilken versjon som skal installeres av en gitt applikasjon.
Eks: Vi har versjon 1.4 av en applikasjon installert i store, og denne versjonen er satt til relase level, ``release''. Vi installerer nå versjon 2.001 av samme applikasjon, og setter release level til ``beta''. Dette vil føre til at versjon 2.001 vil bli installert på tklaben, mens versjon 1.4 blir installert andre steder.
Perl-internal
har
f.eks. importance 9 fordi hele store baserer seg
på dette filsettet.
Foreløpig blir ikke dette feltet meget benyttet. Et unntak er
noen lokale patcher til perl-internal
som gjør at
dersom det skjer en konflikt i navnerommet (eks. to filer som
heter /store/etc/config
), så vil kun det viktigeste
filsettet få filen installert.
På grunn av at dette feltet skal benyttes internt av store, må feltet ha en gitt syntaks. Adresser kan enten spesifiseres på URL-form som vist ovenfor (ved å benytte en av protokollene HTTP eller FTP), eller de kan spesifiseres på følgende måte:
prep.ai.mit.edu:/pub/gnu/sharutils-${version}.tar.gz
som også spesifiserer at FTP skal benyttes. Der det er mulig bør
en FTP-adresse benyttes fremfor HTTP -- dette fordi FTP i
motsetning til HTTP alltid kan gi en liste over innholder i en
katalog. Det stedet i adressen som inneholder versjonsnummeret
til pakken, må også spesifiseres som vist i eksempelet.
cclient
), og hver gang en linkup
blir
gjort på applikasjonen. Dette er nyttig for programmer som
f.eks. ønsker å generere konfig-filer, indekser, etc. på grunnlag
av hva som ellers er installert i linktreet.
Envirnoment-variabelen $TOPDIR
blir også satt slik
at man kan benytte den i eventuelle skripter som blir startet.
Denne variabelen forteller hva filstien til rota i linktreet er
(typisk /store
). For å starte et perlskript i
linktreet hver natt, kan man derfor spesifisere f.eks.:
perl $TOPDIR/etc/make-emacs-dir.pl
Flere kommandoer kan dessuten spesifiseres ved å skille dem med
;
(semikolon).
perl-internal
genererer
f.eks. news-meldinger under /store/news
, og har
derfor følgende notlinks regexp:
news/.*
Dette forhindrer at filene under /store/news
blir
slettet av cclient
, eller kopiert opp i et eller
annet versjonstre av postinst
. Flere notlinks
regexp kan gis ved å separere dem med mellomrom (space).
Exmh
er
f.eks. avhengig av MH, Tcl og Tk. Dette fordi exmh
består av kode skrevet i Tcl/Tk, og det benytter seg av
funksjonalitet som MH tilbyr. Dersom en eller flere av disse
applikasjonene mangler, vil ikke exmh
bli installert.
Det er selvfølgelig bare mulig å spesifisere applikasjoner som faktisk ligger i store i dependency-listen. Det vil ellers være vanskelig for store-programmene å vite om den aktuelle applikasjonen faktisk eksisterer på systemet.
Det er ikke mulig å spesifisere versjonsnummer for
appliksjonene, og applikasjonsnavnene må samsvare nøyaktig med
navnet som applikasjonen har i store. Navnene er også
case-sensitive, slik at ``Tcl'' ikke er det samme som ``tcl''.
Exmh
har f.eks. følgende dependency-liste:
mh tcl tk
register
er kjørt, må chkapp
kjøres for å oppdatere listen over hvilke versjoner av applikasjonen
som eksisterer, samt hvilke arkitekturen hver versjon har støtte for.
Chkapp
må dessuten kjøres når der gjøres manuelle
forandringer i versjonstreet (f.eks. når filer blir lagt til eller
forandret). Kommandoen oppdaterer nemlig en fil
summary.<versjon> som forteller om størrelse,
modifikasjonstid, etc. til hver fil i filsettet. Denne filen brukes
som en slags cache for de skriptene som kjøres hver natt, og som
skal bestemme om evt. nye filer må kopieres rundt om på systemet.