Adding backwards compatible handling for squeeze and the ubuntus for old-style Conten...
authorDaniel Baumann <daniel@debian.org>
Thu, 22 Nov 2012 16:07:35 +0000 (17:07 +0100)
committerDaniel Baumann <daniel@debian.org>
Thu, 22 Nov 2012 16:07:49 +0000 (17:07 +0100)
scripts/build/binary_debian-installer
scripts/build/chroot_linux-image

index e18c32d..2a180dc 100755 (executable)
@@ -418,29 +418,47 @@ then
 
                FIRMWARE_PACKAGES=""
 
-               for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}
-               do
-                       wget ${WGET_OPTIONS} ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.binary/contents.${LB_PARENT_DISTRIBUTION}.${_PARENT_ARCHIVE_AREA}.${LB_ARCHITECTURES}
+               if [ "${_PARENT_DISTRIBUTION}" = "squeeze" ] || [ "${LB_MODE}" = "ubuntu" ] || [ "${LB_MODE}" = "kubuntu" ]
+               then
+                       _CONTENTS="${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
+               else
+                       _CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
+               fi
 
-                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_PARENT_DISTRIBUTION}.${_PARENT_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)"
+               rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
 
-                       if [ "${_PARENT_ARCHIVE_AREA}" = "non-free" ]
-                       then
-                               # FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
-                               # Manually add firmware-linux/non-free meta package
-                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
-                       fi
+               for _CONTENT in ${_CONTENTS}
+               do
+                       wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
+
+                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
                done
 
+               if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
+               then
+                       # FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
+                       # Manually add firmware-linux/non-free meta package
+                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
+               fi
+
                if [ "${LB_DERIVATIVE}" = "true" ]
                then
                        # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
 
-                       for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}
+                       if [ "${_PARENT_DISTRIBUTION}" = "squeeze" ] || [ "${LB_MODE}" = "ubuntu" ] || [ "${LB_MODE}" = "kubuntu" ]
+                       then
+                               _CONTENTS="${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
+                       else
+                               _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
+                       fi
+
+                       rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
+
+                       for _CONTENT in ${_CONTENTS}
                        do
-                               wget ${WGET_OPTIONS} ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.binary/contents.${LB_DISTRIBUTION}.${_ARCHIVE_AREA}.${LB_ARCHITECTURES}
+                               wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
 
-                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_DISTRIBUTION}.${_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)"
+                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
                        done
                fi
 
index 6e46b85..ced4549 100755 (executable)
@@ -63,29 +63,47 @@ then
 
                FIRMWARE_PACKAGES=""
 
-               for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}
-               do
-                       wget ${WGET_OPTIONS} ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${_PARENT_ARCHIVE_AREA}.${LB_ARCHITECTURES}
+               if [ "${_PARENT_DISTRIBUTION}" = "squeeze" ] || [ "${LB_MODE}" = "ubuntu" ] || [ "${LB_MODE}" = "kubuntu" ]
+               then
+                       _CONTENTS="${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
+               else
+                       _CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
+               fi
 
-                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${_PARENT_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)"
+               rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
 
-                       if [ "${_PARENT_ARCHIVE_AREA}" = "non-free" ]
-                       then
-                               # FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
-                               # Manually add firmware-linux/non-free meta package
-                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
-                       fi
+               for _CONTENT in ${_CONTENTS}
+               do
+                       wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
+
+                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
                done
 
+               if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
+               then
+                       # FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
+                       # Manually add firmware-linux/non-free meta package
+                       FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
+               fi
+
                if [ "${LB_DERIVATIVE}" = "true" ]
                then
                        # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
 
-                       for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}
+                       if [ "${_PARENT_DISTRIBUTION}" = "squeeze" ] || [ "${LB_MODE}" = "ubuntu" ] || [ "${LB_MODE}" = "kubuntu" ]
+                       then
+                               _CONTENTS="${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
+                       else
+                               _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
+                       fi
+
+                       rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
+
+                       for _CONTENT in ${_CONTENTS}
                        do
-                               wget ${WGET_OPTIONS} ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.chroot/contents.${LB_DISTRIBUTION}.${_ARCHIVE_AREA}.${LB_ARCHITECTURES}
+                               wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
 
-                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)"
+                               FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
                        done
                fi