From 716d31d5877dc5d7f4f0182d7a9aaabca825231e Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Tue, 15 Jan 2008 02:41:10 +0000 Subject: Don't put more than one glob on a 'for' line, unless they are guaranteed to succeed, otherwise the second one is not expanded and "*.deb" (for example) is used literally. This patch expands (haha) each "for" loop into it's own. --- helpers/lh_binary_debian-installer | 64 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 3 deletions(-) diff --git a/helpers/lh_binary_debian-installer b/helpers/lh_binary_debian-installer index 056d89d..0bf778c 100755 --- a/helpers/lh_binary_debian-installer +++ b/helpers/lh_binary_debian-installer @@ -227,10 +227,39 @@ if [ "${LH_DEBIAN_INSTALLER}" != "netboot" ]; then mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status fi +if ls binary.deb/archives/*.deb > /dev/null 2>&1 +then + for FILE in binary.deb/archives/*.deb + do + SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" + + if [ -z "${SOURCE}" ] + then + SOURCE="$(basename ${FILE} | awk -F_ '{ print $1 }')" + fi + + case "${SOURCE}" in + lib?*) + LETTER="$(echo ${SOURCE} | sed 's/\(....\).*/\1/')" + ;; + + *) + LETTER="$(echo ${SOURCE} | sed 's/\(.\).*/\1/')" + ;; + esac + + # Install directory + mkdir -p binary/pool/main/"${LETTER}"/"${SOURCE}" + + # Move files + cp "${FILE}" binary/pool/main/"${LETTER}"/"${SOURCE}" + done +fi + # Including base debian packages if [ -d cache/packages_bootstrap ] then - for FILE in cache/packages_bootstrap/*.deb binary.deb/archives/*.deb + for FILE in cache/packages_bootstrap/*.deb do SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" @@ -261,9 +290,38 @@ else fi # Including local debs -if ls ../config/binary_local-debs/*.deb > /dev/null 2>&1 +if ls ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb > /dev/null 2>&1 +then + for FILE in ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb + do + SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" + + if [ -z "${SOURCE}" ] + then + SOURCE="$(basename ${FILE} | awk -F_ '{ print $1 }')" + fi + + case "${SOURCE}" in + lib?*) + LETTER="$(echo ${SOURCE} | sed 's/\(....\).*/\1/')" + ;; + + *) + LETTER="$(echo ${SOURCE} | sed 's/\(.\).*/\1/')" + ;; + esac + + # Install directory + mkdir -p binary/pool/main/"${LETTER}"/"${SOURCE}" + + # Move files + cp "${FILE}" binary/pool/main/"${LETTER}"/"${SOURCE}" + done +fi + +if ls ../config/binary_local-debs/*_all.deb > /dev/null 2>&1 then - for FILE in ../config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb ../config/binary_local-debs/*_all.deb + for FILE in ../config/binary_local-debs/*_all.deb do SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" -- cgit v1.0