/[d-i]/trunk/scripts/buildscript
ViewVC logotype

Contents of /trunk/scripts/buildscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10936 - (show annotations) (download)
Wed Mar 17 19:54:33 2004 UTC (9 years, 2 months ago) by ths-guest
File size: 4080 byte(s)
Update for arch-dependent kernel splitter packages.
1 #! /bin/sh
2 #
3 # Build debian-installer packages.
4
5 # First, some shell functions.
6
7 # build debs and udebs
8 build ()
9 {
10 local _dir=$1
11 local _pkg=$(grep -sh "^Package: " ${_dir}/debian/control |sed -e 's/^Package: //' |xargs echo -n)
12 [ -n "$ROOTCMD" ] && local _rootcmd="-r$ROOTCMD"
13
14 pushd $_dir >/dev/null
15 for i in ${_pkg}; do
16 rm -f ../${i}*.*
17 done
18 dpkg-buildpackage -b -us -uc $_rootcmd #-nc
19 popd >/dev/null
20 return 0
21 }
22
23 # install debs
24 install_deb ()
25 {
26 local _dir=$1
27
28 shift
29 pushd $_dir >/dev/null
30 while [ ${#} -ne 0 ]; do
31 [ -f ${1}_*_${ARCH}.deb ] && $REALROOTCMD dpkg -i ${1}_*_${ARCH}.deb
32 [ -f ${1}_*_all.deb ] && $REALROOTCMD dpkg -i ${1}_*_all.deb
33 shift
34 done
35 popd >/dev/null
36 return 0
37 }
38
39 # copy sucessfully built udebs into build/localudebs
40 supply_udeb ()
41 {
42 local _dir=$1
43 local _pkg=$(grep -sh "^Package: " ${_dir}/debian/control |sed -e 's/^Package: //' |xargs echo -n)
44 for i in ${_pkg}; do
45 [ -f ${_dir}/../${i}_*_${ARCH}.udeb ] && {
46 rm -f build/localudebs/${i}_*_${ARCH}.udeb
47 cp -f ${_dir}/../${i}_*_${ARCH}.udeb build/localudebs/
48 }
49 [ -f ${_dir}/../${i}_*_all.udeb ] && {
50 rm -f build/localudebs/${i}_*_all.udeb
51 cp -f ${_dir}/../${i}_*_all.udeb build/localudebs/
52 }
53 done
54 return 0
55 }
56
57 # Iterate over subdirs.
58 do_subdir ()
59 {
60 while [ $# -ge 1 ]; do
61 [ -d $1 ] && {
62 build $1
63 supply_udeb $1
64 }
65 shift
66 done
67 return 0
68 }
69
70 # Guess what.
71 usage ()
72 {
73 echo "Usage: $0 [-r root_command] [-rr real_root_command]"
74 exit 1
75 }
76
77 # Here we go.
78 #set -x
79 set -e
80
81 MAKETARGET=all_images
82
83 while [ ${#} -ge 1 ]; do
84 case "$1" in
85 -r)
86 ROOTCMD=$2
87 shift
88 ;;
89 -rr)
90 REALROOTCMD=$2
91 shift
92 ;;
93 esac
94 shift
95 done
96
97 # directory sanity check
98 [ -d build/pkg-lists ] || { echo "Not in source dir"; exit 1; }
99
100 [ -z "$REALROOTCMD" ] && REALROOTCMD=$ROOTCMD
101
102 ARCH="$(dpkg-architecture -qDEB_BUILD_ARCH)"
103
104 # Build and install packages with debs first, others build-depend on it.
105 #
106 build packages-build
107 install_deb . di-packages-build
108
109 # build d-i library
110 build libdebian-installer
111 install_deb . libdebian-installer4 libdebian-installer-extra4 libdebian-installer4-dev
112
113 # build cdebconf
114 build tools/cdebconf
115 install_deb tools libdebconfclient0 libdebconfclient0-dev
116 supply_udeb tools/cdebconf
117
118 # build kernel-wedge
119 build kernel/kernel-wedge
120 install_deb kernel kernel-wedge
121
122 # Build all other udebs.
123 do_subdir anna
124 do_subdir kernel/linux-kernel-di-$ARCH
125 do_subdir main-menu
126
127 do_subdir partman/partman partman/partman-auto \
128 partman/partman-basicfilesystems partman/partman-basicmethods \
129 partman/partman-ext3 partman/partman-lvm partman/partman-reiserfs \
130 partman/partman-xfs partman/partman-partitioning \
131 partman/partman-target
132
133 [ "$ARCH" = "hppa" ] && do_subdir partman/partman-palo
134
135 do_subdir retriever/choose-mirror retriever/cdrom retriever/floppy retriever/net
136
137 do_subdir rootskel
138
139 do_subdir tools/autopartkit tools/base-installer tools/baseconfig-udeb \
140 tools/bterm-unifont tools/bugreporter tools/cdrom-checker \
141 tools/cdrom-detect tools/countrychooser tools/ddetect tools/iso-scan \
142 tools/kbd-chooser tools/languagechooser tools/lowmem tools/lvmcfg \
143 tools/netcfg tools/nobootloader tools/partconf tools/partitioner \
144 tools/prebaseconfig tools/udpkg tools/usb-discover tools/userdevfs
145
146 do_subdir utils
147
148 # Arch dependent udebs, which may not build cleanly elsewhere.
149 [ "$ARCH" = "alpha" ] && do_subdir tools/aboot-installer \
150 tools/alpha/srm-reader
151 [ "$ARCH" = "powerpc" ] && do_subdir tools/yaboot-installer
152 [ "$ARCH" = "hppa" ] && do_subdir tools/hppa/palo-installer
153 [ "$ARCH" = "hurd-i386" ] && do_subdir tools/grub-installer
154 [ "$ARCH" = "i386" ] && do_subdir tools/grub-installer tools/lilo-installer
155 [ "$ARCH" = "ia64" ] && do_subdir tools/ia64/efi-reader \
156 tools/ia64/elilo-installer
157 [ "$ARCH" = "mips" ] && do_subdir tools/mips/arcboot-installer
158 [ "$ARCH" = "mipsel" ] && do_subdir tools/mipsel/delo-installer
159 [ "$ARCH" = "s390" ] && do_subdir tools/s390/dasd tools/s390/netdevice \
160 tools/s390/zipl-installer
161 [ "$ARCH" = "sparc" ] && do_subdir tools/sparc/silo-installer
162
163 # Build the installer boot image.
164 build build
165
166 exit 0

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.5