| 1 |
ths-guest |
10387 |
#! /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 |
ths-guest |
11687 |
# copy sucessfully built udebs into installer/build/localudebs |
| 40 |
ths-guest |
10387 |
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 |
ths-guest |
11687 |
rm -f installer/build/localudebs/${i}_*_${ARCH}.udeb |
| 47 |
|
|
cp -f ${_dir}/../${i}_*_${ARCH}.udeb installer/build/localudebs/ |
| 48 |
ths-guest |
10387 |
} |
| 49 |
|
|
[ -f ${_dir}/../${i}_*_all.udeb ] && { |
| 50 |
ths-guest |
11687 |
rm -f installer/build/localudebs/${i}_*_all.udeb |
| 51 |
|
|
cp -f ${_dir}/../${i}_*_all.udeb installer/build/localudebs/ |
| 52 |
ths-guest |
10387 |
} |
| 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 |
ths-guest |
11687 |
[ -d installer/build/pkg-lists ] || { echo "Not in source dir"; exit 1; } |
| 99 |
ths-guest |
10387 |
|
| 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 |
ths-guest |
11772 |
build packages/packages-build |
| 107 |
|
|
install_deb packages di-packages-build |
| 108 |
ths-guest |
10387 |
|
| 109 |
|
|
# build d-i library |
| 110 |
ths-guest |
11772 |
build packages/libdebian-installer |
| 111 |
|
|
install_deb packages libdebian-installer4 libdebian-installer-extra4 libdebian-installer4-dev |
| 112 |
ths-guest |
11774 |
supply_udeb packages/libdebian-installer |
| 113 |
ths-guest |
10387 |
|
| 114 |
|
|
# build cdebconf |
| 115 |
ths-guest |
11772 |
build packages/cdebconf |
| 116 |
|
|
install_deb packages libdebconfclient0 libdebconfclient0-dev |
| 117 |
|
|
supply_udeb packages/cdebconf |
| 118 |
ths-guest |
10387 |
|
| 119 |
ths-guest |
10936 |
# build kernel-wedge |
| 120 |
ths-guest |
11772 |
build packages/kernel/kernel-wedge |
| 121 |
|
|
install_deb packages/kernel kernel-wedge |
| 122 |
ths-guest |
10936 |
|
| 123 |
ths-guest |
10387 |
# Build all other udebs. |
| 124 |
ths-guest |
11772 |
do_subdir packages/kernel/linux-kernel-di-$ARCH |
| 125 |
ths-guest |
10387 |
|
| 126 |
ths-guest |
11772 |
do_subdir packages/partman/partman packages/partman/partman-auto \ |
| 127 |
|
|
packages/partman/partman-basicfilesystems \ |
| 128 |
|
|
packages/partman/partman-basicmethods \ |
| 129 |
|
|
packages/partman/partman-ext3 packages/partman/partman-lvm \ |
| 130 |
|
|
packages/partman/partman-reiserfs packages/partman/partman-xfs \ |
| 131 |
|
|
packages/partman/partman-partitioning \ |
| 132 |
|
|
packages/partman/partman-target |
| 133 |
ths-guest |
10387 |
|
| 134 |
ths-guest |
11772 |
[ "$ARCH" = "hppa" ] && do_subdir packages/partman/partman-palo |
| 135 |
ths-guest |
10387 |
|
| 136 |
ths-guest |
12374 |
do_subdir packages/retriever/cdrom \ |
| 137 |
ths-guest |
11772 |
packages/retriever/floppy packages/retriever/net |
| 138 |
ths-guest |
10387 |
|
| 139 |
ths-guest |
11772 |
do_subdir packages/anna packages/autopartkit packages/base-installer \ |
| 140 |
|
|
packages/baseconfig-udeb packages/bterm-unifont \ |
| 141 |
|
|
packages/bugreporter-udeb packages/cdrom-checker \ |
| 142 |
ths-guest |
12374 |
packages/cdrom-detect packages/choose-mirror \ |
| 143 |
|
|
packages/countrychooser \ |
| 144 |
ths-guest |
11772 |
packages/ddetect packages/debian-installer-utils \ |
| 145 |
|
|
packages/iso-scan packages/kbd-chooser \ |
| 146 |
|
|
packages/languagechooser packages/lowmem \ |
| 147 |
|
|
packages/lvmcfg packages/main-menu packages/netcfg packages/nobootloader \ |
| 148 |
|
|
packages/partconf packages/partitioner \ |
| 149 |
|
|
packages/prebaseconfig packages/rootskel packages/udpkg \ |
| 150 |
|
|
packages/usb-discover packages/userdevfs |
| 151 |
ths-guest |
10387 |
|
| 152 |
|
|
# Arch dependent udebs, which may not build cleanly elsewhere. |
| 153 |
ths-guest |
11772 |
[ "$ARCH" = "alpha" ] && do_subdir packages/arch/alpha/aboot-installer \ |
| 154 |
|
|
packages/arch/alpha/srm-reader |
| 155 |
|
|
[ "$ARCH" = "powerpc" ] && do_subdir packages/arch/powerpc/yaboot-installer |
| 156 |
|
|
[ "$ARCH" = "hppa" ] && do_subdir packages/arch/hppa/palo-installer |
| 157 |
|
|
[ "$ARCH" = "i386" ] && do_subdir packages/arch/i386/grub-installer \ |
| 158 |
|
|
packages/arch/i386/lilo-installer |
| 159 |
|
|
[ "$ARCH" = "ia64" ] && do_subdir packages/arch/ia64/efi-reader \ |
| 160 |
|
|
packages/arch/ia64/elilo-installer |
| 161 |
|
|
[ "$ARCH" = "mips" ] && do_subdir packages/arch/mips/arcboot-installer |
| 162 |
|
|
[ "$ARCH" = "mipsel" ] && do_subdir packages/arch/mipsel/delo-installer |
| 163 |
|
|
[ "$ARCH" = "s390" ] && do_subdir packages/arch/s390/dasd \ |
| 164 |
|
|
packages/arch/s390/netdevice packages/arch/s390/zipl-installer |
| 165 |
|
|
[ "$ARCH" = "sparc" ] && do_subdir packages/arch/sparc/silo-installer |
| 166 |
ths-guest |
10387 |
|
| 167 |
|
|
# Build the installer boot image. |
| 168 |
ths-guest |
11687 |
build installer |
| 169 |
ths-guest |
10387 |
|
| 170 |
|
|
exit 0 |