1 Automatisk kompilering av Store-programmer på alle plattformer
2 ==============================================================
3 Petter Reinholdtsen <pere@td.org.uit.no>, 1999-07-27
5 IT-avdelingen bruker et system kalt 'build-all' hentet fra NTNU for
6 dette. Når det virker går kompilering mye raskere enn før. Når det
7 ikke virker gjøres kompilering som før. Kopi av NTNUs buildinfo filer
8 ligger i store-applikasjon build-all/ntnu-buildinfo/
10 For å autokompilere for flere arkitekturer lager du et /bin/sh script
11 'buildinfo' i applikasjonskatalogen på master, parallelt med fila
12 'registration', for å sette endel variabler. Deretter kjører du
13 'build-all'. Hvis alt gikk bra, har du etter en stund kompilert opp
14 applikasjonen for alle plattformer. Sjekk out.* for å se hvordan det
15 går med bygging av applikasjonen.
17 Når kompileringen er ferdig på alle plattformer (siste linje i out.*
18 er "...done"), så kjøres chkapp og register på vanlig måte.
20 Eksempelfil for GNU configure programmer:
26 Eksempelfil for Perl5 moduler:
28 appname=Net-Netmask.pm
32 Følgende variabler kan settes:
35 Navn på applikasjonen som skal genereres, dvs katalognavnet i
36 Master Store. Må settes, ingen default.
38 Versjon på applikasjonen som skal genereres. Må settes, ingen
41 Hvordan kompilering av applikasjonen skal gjøres. Må settes,
42 ingen default. Følgende er støttet:
45 GNU GNU Autoconf oppsett
46 pm Perl5 module, dvs applikasjon med 'Makefile.PL'
47 make ???. Forutsetter at konfigurering allerede er gjort.
50 Kan være blank. Default er '/store'.
52 Kan være blank. Parameter til configure for buildtype GNU.
53 Default er '--prefix=$prefix'.
55 Kan være blank, da brukes confstring eller standard for buildtype
56 GNU ('./configure $confstring').
58 Kan være blank. Parameter til make. Default er intet
61 Kan være blank. Parameter til make for a installere
62 applikasjonen. Default for X er 'install install.man', for
66 Kan være blank. Liste over applikasjoner som linkes henholdsvis
67 ned og opp fra linktreet før og etter installasjon.
70 Kan være blank. Kommando som kjøres etter postinst på
71 maskinen er installasjonen ble gjennomført.
73 Liste over applikasjoner som skal linkes opp før kompilering.
74 Formatet er 'app versjon store', og flere applikasjoner skilles
75 med skråstrek(/). Eksempel:
76 linkupthis='glib 1.2.2/gtk 1.2.2'
78 Kan være blank. Hvilken kommando som brukes for å kjøre
79 kommandoer på andre maskiner. Default er 'ssh -x'.
81 Kan være blank. Nive-nivå for 'configure'- og
82 'make'-kommendoene. Default er 'nice -15'
84 Kan være blank. Timeout-verdi for postinst. Default er 25.
86 Tilgjengelige shell-variabler i confcmd og postpostinstcmds:
88 SARCH Store-arkitektur
89 PMA Perl5 arkitekturnavn (for pm buildtype)
91 Buildall-systemet består av følgende filer:
94 Oppstart-scriptet som kjøres fra master-dir for applikasjonen
95 /store/etc/internal/buildsubs
96 Skriptet som gjør jobben
97 /store/etc/internal/etc/pm-a-by-a
98 Mapping mellom store-arkitektur og Perl5 arkitekturnavn
100 Liste over hvilke maskiner de forskjellige arkitekturene
102 $HOME/etc/master.conf
103 Informasjon om master-store.
105 Informasjon om applikasjonen som skal kompileres