diff options
Diffstat (limited to 'scripts/build/binary_debian-installer')
-rwxr-xr-x | scripts/build/binary_debian-installer | 48 |
1 files changed, 17 insertions, 31 deletions
diff --git a/scripts/build/binary_debian-installer b/scripts/build/binary_debian-installer index c7d764476..e18c32d2d 100755 --- a/scripts/build/binary_debian-installer +++ b/scripts/build/binary_debian-installer @@ -408,7 +408,6 @@ then DI_PACKAGES="${DI_PACKAGES} console-setup keyboard-configuration kbd" ;; esac - # Include firmware packages if [ "${LB_FIRMWARE_BINARY}" = "true" ] then @@ -416,46 +415,33 @@ then # Get all firmware packages names mkdir -p cache/contents.binary - wget ${WGET_OPTIONS} ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.binary/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} FIRMWARE_PACKAGES="" - FIRMWARE_PACKAGES="$(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" - - if [ "${LB_DERIVATIVE}" = "true" ] - then - wget {WGET_OPTIONS} ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz -O - | gunzip -c > cache/contents.binary/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} - - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" - fi - # Filter out contrib packages if contrib is not enabled - if ! echo ${LB_ARCHIVE_AREAS} | grep -qs contrib - 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} - for _PACKAGE in ${FIRMWARE_PACKAGES} - do - _FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES} $(echo ${_PACKAGE} | sed -e 's|^contrib/.*$||')" - done + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_PARENT_DISTRIBUTION}.${_PARENT_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)" - FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES}" - fi + 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 + done - # Filter out non-free packages if non-free is not enabled - if ! echo ${LB_ARCHIVE_AREAS} | grep -qs non-free + if [ "${LB_DERIVATIVE}" = "true" ] then - _FIRMWARE_PACKAGES="" + # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). - for _PACKAGE in ${FIRMWARE_PACKAGES} + for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS} do - _FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES} $(echo ${_PACKAGE} | sed -e 's|^non-free/.*$||')" - done - - FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES}" + 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} - else - # Manually add firmware-linux/non-free meta package - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.binary/contents.${LB_DISTRIBUTION}.${_ARCHIVE_AREA}.${LB_ARCHITECTURES} | sort -u)" + done fi # Drop section and keep package names only |