Automatisk kompilering av Store-programmer p alle plattformer
==============================================================
Petter Reinholdtsen <pere@td.org.uit.no>, 1999-07-27

IT-avdelingen bruker et system kalt 'build-all' hentet fra NTNU for
dette.  Nr det virker gr kompilering mye raskere enn fr.  Nr det
ikke virker gjres kompilering som fr.  Kopi av NTNUs buildinfo filer
ligger i store-applikasjon build-all/ntnu-buildinfo/

For  autokompilere for flere arkitekturer lager du et /bin/sh script
'buildinfo' i applikasjonskatalogen p master, parallelt med fila
'registration', for  sette endel variabler.  Deretter kjrer du
'build-all'.  Hvis alt gikk bra, har du etter en stund kompilert opp
applikasjonen for alle plattformer.  Sjekk out.* for  se hvordan det
gr med bygging av applikasjonen.

Nr kompileringen er ferdig p alle plattformer (siste linje i out.*
er "...done"), s kjres chkapp og register p vanlig mte.

Eksempelfil for GNU configure programmer:

  appname=zsh
  version=3.1.5
  buildtype=GNU

Eksempelfil for Perl5 moduler:

  appname=Net-Netmask.pm
  version=1.6
  buildtype=pm

Flgende variabler kan settes:

  appname
	Navn p applikasjonen som skal genereres, dvs katalognavnet i
	Master Store.  M settes, ingen	default. 
  version
	Versjon p applikasjonen som skal genereres.  M settes, ingen
	default. 
  buildtype
	Hvordan kompilering av applikasjonen skal gjres.  M settes,
	ingen default.  Flgende er stttet:

		X	xmkmf og make
		GNU	GNU Autoconf oppsett
		pm	Perl5 module, dvs applikasjon med 'Makefile.PL'
		make	???.  Forutsetter at konfigurering allerede er gjort.

  prefix
	Kan vre blank.  Default er '/store'.
  confstring
	Kan vre blank.  Parameter til configure for buildtype GNU.
	Default er '--prefix=$prefix'.
  confcmd
	Kan vre blank, da brukes confstring eller standard for buildtype 
	GNU ('./configure $confstring').
  maketargets
	Kan vre blank.  Parameter til make.  Default er intet
	parameter.
  installtargets
	Kan vre blank.  Parameter til make for a installere
	applikasjonen.  Default for X er 'install install.man', for
	alle andre 'install'
  linkdownfirst
  linkupafter
	Kan vre blank.  Liste over applikasjoner som linkes henholdsvis
	ned og opp fra linktreet fr og etter installasjon.
	Space-separert liste.
  postpostinstcmds
	Kan vre blank.  Kommando som kjres etter postinst p
	maskinen er installasjonen ble gjennomfrt.
  linkupthis
	Liste over applikasjoner som skal linkes opp fr kompilering.
	Formatet er 'app versjon store', og flere applikasjoner skilles
	med skrstrek(/).  Eksempel:
		linkupthis='glib 1.2.2/gtk 1.2.2'
  rsh
	Kan vre blank.  Hvilken kommando som brukes for  kjre
	kommandoer p andre maskiner.  Default er 'ssh -x'.
  nice
	Kan vre blank.  Nive-niv for 'configure'- og
	'make'-kommendoene.  Default er 'nice -15'
  timeout
	Kan vre blank.  Timeout-verdi for postinst.  Default er 25.

Tilgjengelige shell-variabler i confcmd og postpostinstcmds:

  SARCH	Store-arkitektur
  PMA	Perl5 arkitekturnavn (for pm buildtype)

Buildall-systemet bestr av flgende filer:

  /store/bin/build-all
	Oppstart-scriptet som kjres fra master-dir for applikasjonen
  /store/etc/internal/buildsubs
	Skriptet som gjr jobben
  /store/etc/internal/etc/pm-a-by-a
	Mapping mellom store-arkitektur og Perl5 arkitekturnavn
  $HOME/etc/buildhosts
	Liste over hvilke maskiner de forskjellige arkitekturene
	kompileres p.
  $HOME/etc/master.conf
	Informasjon om master-store.
  $appdir/buildinfo
	Informasjon om applikasjonen som skal kompileres

