# vim: ft=zsh if [[ $1 == info ]]; then if ! (($+STAGE_ALPINE_VIRTUALENV_NAME)); then die "STAGE_ALPINE_VIRTUALENV_NAME needs to be defined" fi if ! (($+STAGE_ALPINE_VIRTUALENV_PACKAGES)); then die "STAGE_ALPINE_VIRTUALENV_PACKAGES needs to be defined" fi FSB_INFO_DEPEND=alpine_packages FSB_INFO_BASE=%s FSB_INFO_DIR=%s-virtualenv return elif [[ $1 != build ]]; then die "unimplemented action: $*" fi local virtualenv_dir=/usr/local/virtualenv/$STAGE_ALPINE_VIRTUALENV_NAME $build_dir/chroot.sh /usr/bin/virtualenv --system-site-packages $virtualenv_dir || \ die "Could not initialize virtualenv" local -a packages local pkg for pkg in $STAGE_ALPINE_VIRTUALENV_PACKAGES; do case $pkg in (/*) cp $pkg $build_dir/tmp/ || die packages+=( /tmp/$pkg:t ) ;; (*) packages+=( $pkg );; esac done $build_dir/chroot.sh $virtualenv_dir/bin/pip install $packages || \ die "Could not install python packages: ${(j: :)${(q@)STAGE_ALPINE_VIRTUALENV_PACKAGES}}"