@@ -214,14 +214,15 @@ function check_git_ref() {
214214#
215215function stage() {
216216 typeset hook=$1
217+ shift 1
217218
218219 check_env PACKAGE
219220 local stage_start=$SECONDS
220221
221222 echo " "
222223 if type -t " $hook " > /dev/null; then
223224 echo_bold " PACKAGE $PACKAGE : STAGE $hook STARTED"
224- logmust " $hook "
225+ logmust " $hook " " $@ "
225226 echo_bold " PACKAGE $PACKAGE : STAGE $hook COMPLETED in" \
226227 " $(( SECONDS - stage_start)) seconds"
227228 else
@@ -574,8 +575,16 @@ function list_linux_kernel_packages() {
574575
575576function install_shfmt() {
576577 if [[ ! -f /usr/local/bin/shfmt ]]; then
578+ local arch
579+ arch=$( dpkg-architecture -q DEB_HOST_ARCH)
580+
581+ # The release names for shfmt don't use the actual
582+ # architecture strings, unfortunately.
583+ if [[ " $arch " == " arm64" ]]; then
584+ arch=" arm"
585+ fi
577586 logmust sudo wget -nv -O /usr/local/bin/shfmt \
578- https://github.com/mvdan/sh/releases/download/v2.4.0/shfmt_v2.4.0_linux_amd64
587+ https://github.com/mvdan/sh/releases/download/v2.4.0/shfmt_v2.4.0_linux_ $arch
579588 logmust sudo chmod +x /usr/local/bin/shfmt
580589 fi
581590 echo " shfmt version $( shfmt -version) is installed."
@@ -699,6 +708,7 @@ function get_package_dependency_s3_url() {
699708# is defined in the package's config.
700709#
701710function fetch_dependencies() {
711+ local source=" $1 "
702712 export DEPDIR=" $WORKDIR /dependencies"
703713 logmust mkdir " $DEPDIR "
704714 logmust cd " $DEPDIR "
@@ -712,22 +722,31 @@ function fetch_dependencies() {
712722 for dep in $PACKAGE_DEPENDENCIES ; do
713723 echo " Fetching artifacts for dependency '$dep ' ..."
714724 get_package_prefix " $dep "
715- s3urlvar=" ${_RET} _S3_URL"
716- if [[ -n " ${! s3urlvar} " ]]; then
717- s3url=" ${! s3urlvar} "
718- echo " S3 URL of package dependency '$dep ' provided" \
719- " externally"
720- echo " $s3urlvar =$s3url "
721- else
722- logmust get_package_dependency_s3_url " $dep "
723- s3url=" $_RET "
724- fi
725- [[ " $s3url " != * / ]] && s3url=" $s3url /"
726- logmust mkdir " $dep "
727- logmust aws s3 ls " $s3url "
728- logmust aws s3 cp --only-show-errors --recursive " $s3url " " $dep /"
729- echo_bold " Fetched artifacts for '$dep ' from $s3url "
730- PACKAGE_DEPENDENCIES_METADATA=" ${PACKAGE_DEPENDENCIES_METADATA} $dep : $s3url \\ n"
725+ case " $source " in
726+ " local" )
727+ logmust cp -r " $WORKDIR /../../$dep /tmp/artifacts/ $dep /"
728+ ;;
729+ " s3" )
730+ s3urlvar=" ${_RET} _S3_URL"
731+ if [[ -n " ${! s3urlvar} " ]]; then
732+ s3url=" ${! s3urlvar} "
733+ echo " S3 URL of package dependency '$dep ' provided externally"
734+ echo " $s3urlvar =$s3url "
735+ else
736+ logmust get_package_dependency_s3_url " $dep "
737+ s3url=" $_RET "
738+ fi
739+ [[ " $s3url " != * / ]] && s3url=" $s3url /"
740+ logmust mkdir " $dep "
741+ logmust aws s3 ls " $s3url "
742+ logmust aws s3 cp --only-show-errors --recursive " $s3url " " $dep /"
743+ echo_bold " Fetched artifacts for '$dep ' from $s3url "
744+ PACKAGE_DEPENDENCIES_METADATA=" ${PACKAGE_DEPENDENCIES_METADATA} $dep : $s3url \\ n"
745+ ;;
746+ * )
747+ die " invalid source parameter specified: '$source '"
748+ ;;
749+ esac
731750 done
732751}
733752
0 commit comments