debian-cd-clone/tools/generate_di+k_list

212 lines
5.8 KiB
Bash
Executable File

#!/bin/sh
# Generate a list of packages required for debian-installer
# This script makes use of the following variables that need to be preset:
# MIRROR, CODENAME, DI_CODENAME
DATE=`date`
cat > debian-installer+kernel-$DI_CODENAME << EOF
/* These files + the ones needed by debootstrap are the ones needed for
* debian-installer to be able to complete the installation of the base
* system.
*
* This list can be generated with the command:
* ../tools/generate_di+k_list
*
* DO NOT EDIT THIS FILE, edit the above script
*
* Last update: $DATE
*/
#include <debian-installer-$DI_CODENAME>
eject
locales
lvm10
libdevmapper1.01
lvm-common
lvm2
mdadm
aptitude
jfbterm
unifont
hotplug
usbutils
iso-codes
console-cyrillic
console-terminus
pcmcia-cs
wireless-tools
xfsprogs
jfsutils
reiserfsprogs
libfribidi0
localization-config
#ifdef ARCH_i386
discover
discover1
grub
lilo
EOF
/bin/sed -n 's/Package: \(kernel-image-2.4.*-386\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-i386/Packages|/usr/bin/tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-pcmcia-modules-2.4.*-386\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-i386/Packages|/usr/bin/tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-image-2.6.*-386\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-i386/Packages|/usr/bin/tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_amd64
discover
discover1
grub
lilo
EOF
if [ ! -e $MIRROR/dists/$CODENAME/main/binary-amd64/Packages ]; then
echo "Cannot find amd64 packages file, inserting static entry as workaround" >&2
echo kernel-image-2.6.8-11-amd64-generic >> debian-installer+kernel-$DI_CODENAME
else
/bin/sed -n 's/Package: \(kernel-image-2.6.*-generic\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-amd64/Packages|/usr/bin/tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-pcmcia-modules-2.6.*-generic\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-amd64/Packages|/usr/bin/tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
fi
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_alpha
aboot
aboot-base
discover1
EOF
/bin/sed -n 's/Package: \(kernel-image-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-alpha/Packages|grep -v 2.4.21 \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_hppa
discover1
EOF
/bin/sed -n 's/Package: \(kernel-image-2.6.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-hppa/Packages|tail -n4 \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_ia64
discover1
initrd-tools
EOF
/bin/sed -n 's/Package: \(kernel-image-2\.4\..*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-ia64/Packages | tail -n 4 \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-image-2\.4-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-ia64/Packages \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-image-2\.6\..*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-ia64/Packages | tail -n 4 \
>> debian-installer+kernel-$DI_CODENAME
/bin/sed -n 's/Package: \(kernel-image-2\.6-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-ia64/Packages \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_mips
arcboot
EOF
# Only include mips kernels that d-i base-installer installs.
for subarch in r4k-ip22 r5k-ip22; do
sed -n 's/Package: \(kernel-image-.*-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-mips/Packages \
| grep -- "-$subarch$" | sort -n | tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
done
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_mipsel
delo
EOF
# Only include mipsel kernels that d-i base-installer installs.
for subarch in r3k-kn02 r4k-kn04; do
sed -n 's/Package: \(kernel-image-.*-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-mipsel/Packages \
| grep -- "-$subarch$" | sort -n | tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
done
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_powerpc
discover1
quik
yaboot
mkvmlinuz
module-init-tools
initrd-tools
EOF
# Only include powerpc kernels that d-i base-installer installs.
for subarch in powerpc power3 power4 power3-pmac power3-chrp-rs6k \
power4-pmac power4-chrp-rs6k powerpc-pmac \
powerpc-prep powerpc-chrp powerpc-chrp-rs6k apus; do
sed -n 's/Package: \(kernel-image-.*-.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-powerpc/Packages \
| grep -- "-$subarch$" | sort -n | tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
done
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_sparc
discover1
initrd-tools
EOF
/bin/sed -n 's/Package: \(kernel-image-.*-sparc.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-sparc/Packages \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_m68k
fileutils
EOF
# Get all the latest 2.2 for mac kernel
/bin/sed -n 's/Package: \(kernel-image-2.2.*-mac\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-m68k/Packages | tail -n 1 \
>> debian-installer+kernel-$DI_CODENAME
# Get the latest 2.4 kernels, except mac
/bin/sed -n 's/Package: \(kernel-image-2.4.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-m68k/Packages | tail -n 7 | \
grep -v mac >> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
#ifdef ARCH_arm
discover1
EOF
/bin/sed -n 's/Package: \(kernel-image-2.4.*\)$/\1/p' \
$MIRROR/dists/$CODENAME/main/binary-arm/Packages|tail -n5 \
>> debian-installer+kernel-$DI_CODENAME
cat >> debian-installer+kernel-$DI_CODENAME << EOF
#endif
EOF