2010-02-20 12:18:57 -01:00
#!/bin/sh
set -e
2009-11-22 12:36:42 -01:00
# Static variables
2009-11-16 10:40:43 -01:00
DISTRIBUTIONS = " ${ DISTRIBUTIONS :- lenny squeeze sid } "
2009-11-22 12:36:42 -01:00
FLAVOURS = " ${ FLAVOURS :- standard rescue gnome-desktop kde-desktop lxde-desktop xfce-desktop } "
2009-12-13 19:17:45 -01:00
SOURCE = " ${ SOURCE :- true } "
2009-11-22 12:36:42 -01:00
2010-01-31 15:33:15 -01:00
MIRROR = " ${ MIRROR :- http : //cdn.debian.net/debian/ } "
MIRROR_SECURITY = " ${ MIRROR_SECURITY :- http : //security.debian.org/ } "
2009-11-22 12:36:42 -01:00
# Dynamic variables
ARCHITECTURE = " $( dpkg --print-architecture) "
DATE = " $( date +%Y%m%d) "
2010-02-20 12:18:57 -01:00
Set_defaults ( )
{
# Distribution defaults
APT_RECOMMENDS = "true"
BINARY_INDICES = "true"
DEBIAN_INSTALLER = "live"
DEBIAN_INSTALLER_GUI = "true"
PACKAGES = "--packages live-installer-launcher"
TASKSEL = "tasksel"
# Distribution specific options (ugly!)
case " ${ DISTRIBUTION } " in
lenny)
APT_RECOMMENDS = "false"
BINARY_INDICES = "true"
DEBIAN_INSTALLER = "false"
PACKAGES = ""
TASKSEL = "aptitude"
case " ${ ARCHITECTURE } " in
amd64)
case " ${ FLAVOUR } " in
gnome-desktop)
BINARY_INDICES = "false"
mkdir -p config/chroot_local-hooks
cd config/chroot_local-hooks
echo "apt-get remove --yes --purge openoffice.org-help-en-us" > package-removals
echo "apt-get remove --yes --purge epiphany-browser epiphany-browser-data epiphany-extensions epiphany-gecko" >> package-removals
echo "apt-get remove --yes --purge gnome-user-guide" >> package-removals
cd -
; ;
kde-desktop)
BINARY_INDICES = "false"
; ;
esac
; ;
i386)
case " ${ FLAVOUR } " in
gnome-desktop| kde-desktop)
BINARY_INDICES = "false"
KERNEL = "-k 686"
; ;
esac
; ;
esac
; ;
squeeze)
2010-07-17 15:45:40 +00:00
DEBIAN_INSTALLER_DISTRIBUTION = "daily"
2010-02-20 12:18:57 -01:00
DEBIAN_INSTALLER_GUI = "false"
2010-07-17 15:45:40 +00:00
LIVE_INSTALLER = "20"
LIVE_BOOT = "2.0~a15-1"
LIVE_CONFIG = "2.0~a15-1"
2010-02-20 12:18:57 -01:00
mkdir -p config/binary_local-udebs
cd config/binary_local-udebs
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer_${ LIVE_INSTALLER } .dsc
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer_${ LIVE_INSTALLER } .tar.gz
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer_${ LIVE_INSTALLER } _i386.udeb
cd -
mkdir -p config/chroot_local-packages
cd config/chroot_local-packages
2010-07-17 15:45:40 +00:00
2010-02-20 12:18:57 -01:00
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer_${ LIVE_INSTALLER } .dsc
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer_${ LIVE_INSTALLER } .tar.gz
wget -c http://live.debian.net/archive/packages/live-installer/${ LIVE_INSTALLER } /live-installer-launcher_${ LIVE_INSTALLER } _all.deb
2010-07-17 15:45:40 +00:00
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-boot_${ LIVE_BOOT } .dsc
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-boot_${ LIVE_BOOT } .diff.gz
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-boot_$( echo ${ LIVE_BOOT } | awk -F- '{ print $1 }' ) .orig.tar.gz
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-boot_${ LIVE_BOOT } _all.deb
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-boot-initramfs-tools_${ LIVE_BOOT } _all.deb
wget -c http://live.debian.net/archive/packages/live-boot/${ LIVE_BOOT } /live-initramfs_${ LIVE_BOOT } _all.deb
wget -c http://live.debian.net/archive/packages/live-config/${ LIVE_CONFIG } /live-config_${ LIVE_CONFIG } .dsc
wget -c http://live.debian.net/archive/packages/live-config/${ LIVE_CONFIG } /live-config_${ LIVE_CONFIG } .diff.gz
wget -c http://live.debian.net/archive/packages/live-config/${ LIVE_CONFIG } /live-config_$( echo ${ LIVE_CONFIG } | awk -F- '{ print $1 }' ) .orig.tar.gz
wget -c http://live.debian.net/archive/packages/live-config/${ LIVE_CONFIG } /live-config_${ LIVE_CONFIG } _all.deb
wget -c http://live.debian.net/archive/packages/live-config/${ LIVE_CONFIG } /live-config-sysvinit_${ LIVE_CONFIG } _all.deb
2010-02-20 12:18:57 -01:00
cd -
; ;
esac
}
# Build images
2009-11-22 12:36:42 -01:00
for DISTRIBUTION in ${ DISTRIBUTIONS }
do
rm -rf cache/stages*
for FLAVOUR in ${ FLAVOURS }
do
if [ -e .stage ]
then
lh clean
fi
2010-02-20 12:18:57 -01:00
if [ -e config ]
2009-11-22 12:36:42 -01:00
then
2010-02-20 12:18:57 -01:00
rm -f config/* || true
rmdir --ignore-fail-on-non-empty config/* || true
2009-11-22 12:36:42 -01:00
fi
2010-02-20 12:18:57 -01:00
rm -rf cache/packages*
rm -rf cache/stages_rootfs
2009-11-22 12:36:42 -01:00
2010-02-20 12:18:57 -01:00
Set_defaults
lh config \
--apt-recommends ${ APT_RECOMMENDS } \
--binary-indices ${ BINARY_INDICES } \
--cache-stages "bootstrap rootfs" \
--debian-installer ${ DEBIAN_INSTALLER } \
2010-07-17 15:45:40 +00:00
--debian-installer-distribution ${ DEBIAN_INSTALLER_DISTRIBUTION } \
2010-02-20 12:18:57 -01:00
--debian-installer-gui ${ DEBIAN_INSTALLER_GUI } \
--distribution ${ DISTRIBUTION } \
--mirror-bootstrap ${ MIRROR } \
--mirror-chroot ${ MIRROR } \
--mirror-chroot-security ${ MIRROR_SECURITY } \
${ PACKAGES } \
--packages-lists ${ FLAVOUR } \
--tasksel ${ TASKSEL } ${ KERNEL }
2009-11-22 12:36:42 -01:00
lh build 2>& 1 | tee debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .iso.log
2010-02-20 12:18:57 -01:00
mv binary*.iso debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .iso
2009-11-22 12:36:42 -01:00
mv binary.list debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .iso.list
mv binary.packages debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .iso.packages
2010-07-17 15:45:40 +00:00
if [ " ${ DISTRIBUTION } " = "lenny" ] && [ " ${ ARCHITECTURE } " != "powerpc" ]
2010-02-20 12:18:57 -01:00
then
lh clean --binary
lh config -binary-images usb-hdd
lh binary 2>& 1 | tee debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .img.log
mv binary.img debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .img
mv binary.list debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .img.list
mv binary.packages debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .img.packages
fi
2009-11-22 12:36:42 -01:00
2010-07-17 15:45:40 +00:00
if [ " ${ ARCHITECTURE } " != "powerpc" ]
then
lh clean
rm -rf cache/stages_rootfs
lh config --binary-images net
2009-11-22 12:36:42 -01:00
2010-07-17 15:45:40 +00:00
lh build 2>& 1 | tee debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .tar.gz.log
2009-11-22 12:36:42 -01:00
2010-07-17 15:45:40 +00:00
mv binary-net.tar.gz debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .tar.gz
mv binary.list debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .tar.gz.list
mv binary.packages debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .tar.gz.packages
2009-11-22 12:36:42 -01:00
2010-07-17 15:45:40 +00:00
mv binary/*/filesystem.squashfs debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .squashfs
for memtest in tftpboot/debian-live/${ ARCHITECTURE } /memtest*; do cp -f ${ memtest } debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } .$( basename ${ memtest } ) ; done || true
for kernel in tftpboot/debian-live/${ ARCHITECTURE } /vmlinuz*; do cp -f ${ kernel } debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } .$( basename ${ kernel } ) ; done
for initrd in tftpboot/debian-live/${ ARCHITECTURE } /initrd*; do cp ${ initrd } debian-live-${ DISTRIBUTION } -${ ARCHITECTURE } -${ FLAVOUR } .$( basename ${ initrd } ) ; done
fi
2010-03-12 16:33:22 -01:00
if [ " ${ SOURCE } " = "true" ]
then
lh config --source true
2010-05-09 11:46:21 +00:00
lh source 2>& 1 | tee debian-live-${ DISTRIBUTION } -source-${ FLAVOUR } .log
2010-03-12 16:33:22 -01:00
2010-05-09 11:46:21 +00:00
mv source.debian.tar.gz debian-live-${ DISTRIBUTION } -source-${ FLAVOUR } .debian.tar.gz
mv source.debian.list debian-live-${ DISTRIBUTION } -source-${ FLAVOUR } .debian.tar.gz.list
mv source.debian-live.tar.gz debian-live-${ DISTRIBUTION } -source-${ FLAVOUR } .debian-live.tar.gz
mv source.debian-live.list debian-live-${ DISTRIBUTION } -source-${ FLAVOUR } .debian-live.tar.gz.list
2010-03-12 16:33:22 -01:00
fi
2009-11-22 12:36:42 -01:00
done
done