]> pere.pagekite.me Git - homepage.git/blob - linux/store/buildall.txt
Generated.
[homepage.git] / linux / store / buildall.txt
1 Automatisk kompilering av Store-programmer på alle plattformer
2 ==============================================================
3 Petter Reinholdtsen <pere@td.org.uit.no>, 1999-07-27
4
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/
9
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.
16
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.
19
20 Eksempelfil for GNU configure programmer:
21
22 appname=zsh
23 version=3.1.5
24 buildtype=GNU
25
26 Eksempelfil for Perl5 moduler:
27
28 appname=Net-Netmask.pm
29 version=1.6
30 buildtype=pm
31
32 Følgende variabler kan settes:
33
34 appname
35 Navn på applikasjonen som skal genereres, dvs katalognavnet i
36 Master Store. Må settes, ingen default.
37 version
38 Versjon på applikasjonen som skal genereres. Må settes, ingen
39 default.
40 buildtype
41 Hvordan kompilering av applikasjonen skal gjøres. Må settes,
42 ingen default. Følgende er støttet:
43
44 X xmkmf og make
45 GNU GNU Autoconf oppsett
46 pm Perl5 module, dvs applikasjon med 'Makefile.PL'
47 make ???. Forutsetter at konfigurering allerede er gjort.
48
49 prefix
50 Kan være blank. Default er '/store'.
51 confstring
52 Kan være blank. Parameter til configure for buildtype GNU.
53 Default er '--prefix=$prefix'.
54 confcmd
55 Kan være blank, da brukes confstring eller standard for buildtype
56 GNU ('./configure $confstring').
57 maketargets
58 Kan være blank. Parameter til make. Default er intet
59 parameter.
60 installtargets
61 Kan være blank. Parameter til make for a installere
62 applikasjonen. Default for X er 'install install.man', for
63 alle andre 'install'
64 linkdownfirst
65 linkupafter
66 Kan være blank. Liste over applikasjoner som linkes henholdsvis
67 ned og opp fra linktreet før og etter installasjon.
68 Space-separert liste.
69 postpostinstcmds
70 Kan være blank. Kommando som kjøres etter postinst på
71 maskinen er installasjonen ble gjennomført.
72 linkupthis
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'
77 rsh
78 Kan være blank. Hvilken kommando som brukes for å kjøre
79 kommandoer på andre maskiner. Default er 'ssh -x'.
80 nice
81 Kan være blank. Nive-nivå for 'configure'- og
82 'make'-kommendoene. Default er 'nice -15'
83 timeout
84 Kan være blank. Timeout-verdi for postinst. Default er 25.
85
86 Tilgjengelige shell-variabler i confcmd og postpostinstcmds:
87
88 SARCH Store-arkitektur
89 PMA Perl5 arkitekturnavn (for pm buildtype)
90
91 Buildall-systemet består av følgende filer:
92
93 /store/bin/build-all
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
99 $HOME/etc/buildhosts
100 Liste over hvilke maskiner de forskjellige arkitekturene
101 kompileres på.
102 $HOME/etc/master.conf
103 Informasjon om master-store.
104 $appdir/buildinfo
105 Informasjon om applikasjonen som skal kompileres
106