lh_binary_debian-installer: Only create package pools when necessary

There is no need to create a package pool when creating a netboot Debian
Live image or when the LH_DEBIAN_INSTALLER is set to "businesscard".

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
This commit is contained in:
Chris Lamb 2008-03-22 01:24:32 +00:00
parent 762613f277
commit cf25064250
1 changed files with 174 additions and 154 deletions

View File

@ -229,7 +229,26 @@ then
wget ${WGET_OPTIONS} --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/initrd.gz wget ${WGET_OPTIONS} --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/initrd.gz
fi fi
if [ "${LH_DEBIAN_INSTALLER}" != "netboot" ]; then # Only download additional packages if appropriate
case "${LH_DEBIAN_INSTALLER}" in
enabled|cdrom|netinst)
case "${LH_BINARY_IMAGES}" in
net)
DI_PACKAGE_POOL="no"
;;
*)
DI_PACKAGE_POOL="yes"
;;
esac
;;
*)
DI_PACKAGE_POOL="no"
;;
esac
if [ "${DI_PACKAGE_POOL}" = "yes" ]
then
# Downloading additional packages # Downloading additional packages
mkdir -p chroot/binary.deb/archives/partial mkdir -p chroot/binary.deb/archives/partial
mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp
@ -262,61 +281,60 @@ if [ "${LH_DEBIAN_INSTALLER}" != "netboot" ]; then
Install_file "${FILE}" "binary/pool/main" Install_file "${FILE}" "binary/pool/main"
done done
fi fi
fi
# Including base debian packages # Including base debian packages
if [ -d cache/packages_bootstrap ] if [ -d cache/packages_bootstrap ]
then then
for FILE in cache/packages_bootstrap/*.deb for FILE in cache/packages_bootstrap/*.deb
do do
Install_file "${FILE}" "binary/pool/main" Install_file "${FILE}" "binary/pool/main"
done done
else else
Echo_error "E: Could not find cache/packages_bootstrap" Echo_error "E: Could not find cache/packages_bootstrap"
exit 1 exit 1
fi fi
# Including local debs # Including local debs
if ls ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".udeb > /dev/null 2>&1 if ls ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".udeb > /dev/null 2>&1
then then
for FILE in ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb for FILE in ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb
do do
Install_file "${FILE}" "binary/pool/main" Install_file "${FILE}" "binary/pool/main"
done done
fi fi
if ls ../config/binary_local-debs/*_all.udeb > /dev/null 2>&1 if ls ../config/binary_local-debs/*_all.udeb > /dev/null 2>&1
then then
for FILE in ../config/binary_local-debs/*_all.deb for FILE in ../config/binary_local-debs/*_all.deb
do do
Install_file "${FILE}" "binary/pool/main" Install_file "${FILE}" "binary/pool/main"
done done
fi fi
# Generating deb indices # Generating deb indices
mkdir -p binary/dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE} mkdir -p binary/dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}
cd binary cd binary
apt-ftparchive packages pool/main > dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages apt-ftparchive packages pool/main > dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages
gzip -9 -c dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages > dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages.gz gzip -9 -c dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages > dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages.gz
cd "${OLDPWD}" cd "${OLDPWD}"
# Fetching release # Fetching release
wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/dists/"${LH_DISTRIBUTION}"/main/binary-"${LH_ARCHITECTURE}"/Release -O binary/dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Release wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/dists/"${LH_DISTRIBUTION}"/main/binary-"${LH_ARCHITECTURE}"/Release -O binary/dists/${LH_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Release
mkdir binary.udeb mkdir binary.udeb
cd binary.udeb cd binary.udeb
# Downloading udeb indices # Downloading udeb indices
wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"/Packages.gz wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"/Packages.gz
gunzip -c Packages.gz > Packages gunzip -c Packages.gz > Packages
# Sorting udebs # Sorting udebs
UDEBS="$(awk '/Filename: / { print $2 }' Packages)" UDEBS="$(awk '/Filename: / { print $2 }' Packages)"
# Downloading udebs # Downloading udebs
for UDEB in ${UDEBS} for UDEB in ${UDEBS}
do do
if [ -f ../cache/packages_debian-installer.udeb/"$(basename ${UDEB})" ] if [ -f ../cache/packages_debian-installer.udeb/"$(basename ${UDEB})" ]
then then
# Copying cached udebs # Copying cached udebs
@ -325,16 +343,16 @@ do
# Downloading udebs # Downloading udebs
wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/${UDEB} wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/${UDEB}
fi fi
done done
# Caching udebs # Caching udebs
rm -rf ../cache/packages_debian-installer.udeb rm -rf ../cache/packages_debian-installer.udeb
mkdir -p ../cache/packages_debian-installer.udeb mkdir -p ../cache/packages_debian-installer.udeb
cp *.udeb ../cache/packages_debian-installer.udeb cp *.udeb ../cache/packages_debian-installer.udeb
# Including local udebs # Including local udebs
if ls ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb > /dev/null 2>&1 if ls ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb > /dev/null 2>&1
then then
for FILE in ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb for FILE in ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb
do do
Install_file "${FILE}" "pool/main" Install_file "${FILE}" "pool/main"
@ -342,9 +360,9 @@ then
# Prefer local udebs over downloaded udebs # Prefer local udebs over downloaded udebs
rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb
done done
fi fi
if ls ../config/binary_local-udebs/*_all.udeb > /dev/null 2>&1 if ls ../config/binary_local-udebs/*_all.udeb > /dev/null 2>&1
then then
for FILE in ../config/binary_local-udebs/*_all.udeb for FILE in ../config/binary_local-udebs/*_all.udeb
do do
Install_file "${FILE}" "pool/main" Install_file "${FILE}" "pool/main"
@ -352,57 +370,58 @@ then
# Prefer local udebs over downloaded udebs # Prefer local udebs over downloaded udebs
rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb
done done
fi fi
# Excluding udebs
grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/udeb_exclude > exclude
grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/exclude-udebs >> exclude
grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/exclude-udebs-${LH_ARCHITECTURE} >> exclude
# Local exclude file # Excluding udebs
if [ -e ../config/binary_debian-installer/udeb_exclude ] grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/udeb_exclude > exclude
then grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/exclude-udebs >> exclude
grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DISTRIBUTION}"/exclude-udebs-${LH_ARCHITECTURE} >> exclude
# Local exclude file
if [ -e ../config/binary_debian-installer/udeb_exclude ]
then
cat ../config/binary_debian-installer/udeb_exclude >> exclude cat ../config/binary_debian-installer/udeb_exclude >> exclude
fi fi
for EXCLUDE in $(cat exclude) for EXCLUDE in $(cat exclude)
do do
rm -f "${EXCLUDE}"_*.udeb rm -f "${EXCLUDE}"_*.udeb
done done
# Enable live-installer # Enable live-installer
if [ "${LH_DEBIAN_INSTALLER}" = "live" ] if [ "${LH_DEBIAN_INSTALLER}" = "live" ]
then then
# Remove local udebs # Remove local udebs
rm -f pool/main/b/base-installer/bootstrap-base_*.udeb rm -f pool/main/b/base-installer/bootstrap-base_*.udeb
# Remove d-i udebs # Remove d-i udebs
rm -f bootstrap-base_*.udeb rm -f bootstrap-base_*.udeb
fi fi
# Moving udebs # Moving udebs
for UDEB in ${UDEBS} for UDEB in ${UDEBS}
do do
if [ -f "$(basename ${UDEB})" ] if [ -f "$(basename ${UDEB})" ]
then then
mkdir -p $(dirname ${UDEB}) mkdir -p $(dirname ${UDEB})
mv "$(basename ${UDEB})" "$(dirname ${UDEB})" mv "$(basename ${UDEB})" "$(dirname ${UDEB})"
fi fi
done done
# Creating udeb indices # Creating udeb indices
mkdir -p dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}" mkdir -p dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"
apt-ftparchive packages pool/main > dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"/Packages apt-ftparchive packages pool/main > dists/"${LH_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"/Packages
gzip -9 -c dists/${LH_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages > dists/${LH_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages.gz gzip -9 -c dists/${LH_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages > dists/${LH_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages.gz
rm -f Packages* exclude rm -f Packages* exclude
find . | cpio -dmpu "${OLDPWD}"/binary find . | cpio -dmpu "${OLDPWD}"/binary
cd "${OLDPWD}" cd "${OLDPWD}"
rm -rf binary.udeb rm -rf binary.udeb
rm -rf binary.deb rm -rf binary.deb
# Generating release file # Generating release file
apt-ftparchive \ apt-ftparchive \
-o APT::FTPArchive::Release::Origin="Debian" \ -o APT::FTPArchive::Release::Origin="Debian" \
-o APT::FTPArchive::Release::Label="Debian" \ -o APT::FTPArchive::Release::Label="Debian" \
-o APT::FTPArchive::Release::Suite="${LH_DISTRIBUTION}" \ -o APT::FTPArchive::Release::Suite="${LH_DISTRIBUTION}" \
@ -412,23 +431,24 @@ apt-ftparchive \
-o APT::FTPArchive::Release::Architectures="${LH_ARCHITECTURE}" \ -o APT::FTPArchive::Release::Architectures="${LH_ARCHITECTURE}" \
-o APT::FTPArchive::Release::Components="main" \ -o APT::FTPArchive::Release::Components="main" \
-o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \ -o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \
release binary/dists/${LH_DISTRIBUTION} > binary/dists/${LH_DISTRIBUTION}/Release release binary/dists/${LH_DISTRIBUTION} > binary/dists/${LH_DISTRIBUTION}/Release
# Creating dist symlinks # Creating dist symlinks
for DISTRIBUTION in frozen stable testing unstable for DISTRIBUTION in frozen stable testing unstable
do do
ln -s ${LH_DISTRIBUTION} binary/dists/${DISTRIBUTION} ln -s ${LH_DISTRIBUTION} binary/dists/${DISTRIBUTION}
done done
if [ "${LH_BINARY_IMAGES}" != "usb-hdd" ] if [ "${LH_BINARY_IMAGES}" != "usb-hdd" ]
then then
ln -s . binary/debian ln -s . binary/debian
fi fi
# Including preseeding files # Including preseeding files
if [ -e config/binary_debian-installer/preseed*.cfg ] if [ -e config/binary_debian-installer/preseed*.cfg ]
then then
cp config/binary_debian-installer/preseed*.cfg binary/install cp config/binary_debian-installer/preseed*.cfg binary/install
fi
fi fi
# Creating stage file # Creating stage file