#!/bin/bash # CONTEXT: GUEST during PRE-CONSTRUCTION as ROOT # PURPOSE: Setup apt-repo list so that we can connect to Percona's repo set -e set -o xtrace [ -n "${GUEST_USERNAME}" ] || die "GUEST_USERNAME needs to be set to the user for the guest image" [ -n "${RELEASE}" ] || die "RELEASE must be set to either Trusty or Precise" # Add Percona GPG key mkdir -p /home/${GUEST_USERNAME}/.gnupg # sometimes the primary key server is unavailable and we should try an # alternate. see # https://bugs.launchpad.net/percona-server/+bug/907789. Disable # shell errexit so we can interrogate the exit code and take action # based on the exit code. We will reenable it later. function get_key_robust() { KEY=$1 set +e apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys ${KEY} if [ "$?" -ne "0" ]; then echo "Trying alternate keyserver hkp://keyserver.ubuntu.com" set -e apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys ${KEY} fi set -e } get_key_robust 1C4CBDCDCD2EFD2A get_key_robust 9334A25F8507EFA5 # Add Percona repo # Creates the Percona sources list cat < /etc/apt/sources.list.d/percona.list deb http://repo.percona.com/apt $RELEASE main deb-src http://repo.percona.com/apt $RELEASE main EOL # Force an update apt-get -y update