anchor.diff:  function apt_install() {
     # Download and install the puppetlabs apt public
     apt-key adv --recv-key --keyserver pool.sks-keyservers.net 4BD6EC30
  -  
  +
     # We need to grab the distro and release in order to populate
     # the apt repo details. We are assuming that the lsb_release command
     # will be available as even puppet evens has it (lsb_base) package as
     # dependancy.
  -  
  +
     # Since puppet requires lsb-release I believe this is ok to use for
     # the purpose of distro and release discovery.
     apt-get update
     apt-get -y install lsb-release
     distro=$(lsb_release -i | cut -f 2 | tr "[:upper:]" "[:lower:]")
     release=$(lsb_release -c | cut -f 2)
  -  
  +
     # Setup the apt Puppet repository
     cat > /etc/apt/sources.list.d/puppetlabs.list <<EOFAPTREPO
   deb http://apt.puppetlabs.com/${distro}/ ${release} main
  
positive.code: set -u
  set -e
  
  function rpm_install(){
    # Setup the yum Puppet repository
    cat >/etc/yum.repos.d/puppet.repo <<'EOFYUMREPO'
  [puppetlabs]
  name = Puppetlbas
  baseurl = http://yum.puppetlabs.com/el/$releasever/products/$basearch/ 
  gpgcheck = 1
  enabled = 1
  gpgkey = http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  EOFYUMREPO
  
    # Install Puppet from yum.puppetlabs.com
    yum install -y puppet
  
negative.code: }
  
  function install_puppet() {
    case ${breed} in
      "redhat")
        rpm_install ;;
      "debian")
  