Report abuse


			
class apt_defaults {
  case $operatingsystem {

    debian: {

      $debian_mirror="http://ftp.cae.tntech.edu/debian/"
      $ubuntu_mirror="http://ftp.cae.tntech.edu/ubuntu/"

      $etc_dir="/root/etc"
      $apt_dir="${etc_dir}/apt"
      $sources_dir="${apt_dir}/sources.list.d"

      #file { "${apt_dir}/sources.list":
      #  ensure => absent;
      #}

      file {
        "etcdir":
          path   => "${etc_dir}",
          ensure => directory,
          owner  => root,
          group  => root,
          mode   => 0755;
        "aptdir":
          path   => "${apt_dir}",
          ensure => directory,
          owner  => root,
          group  => root,
          mode   => 0755;
        "sources.list.d":
          path     => "${sources_dir}",
          ensure   => directory,
          checksum => md5,
          owner    => root,
          group    => root,
          mode     => 0755,
          require  => File["aptdir"];
      }

      exec { "apt-update":
        command     => "/usr/bin/apt-get update",
        refreshonly => true;
      }

      cron { "apt-update":
        command => "/usr/bin/apt-get update",
        user    => root,
        hour    => 22,
        minute  => 0;
      }

    }

    default: {
      err("apt_defaults class is for Debian. ${fqdn} runs ${operatingsystem}.")
    }
  }
}

class apt_main {
  include apt_defaults

  case $operatingsystem {
    debian: {
      file { "main.list":
        path    => "${sources_dir}/main.list",
        #content => $lsbdistid ? {
        #  debian => "deb ${debian_mirror} ${lsbdistcodename} main\n",
        #  ubuntu => "deb ${ubuntu_mirror} ${lsbdistcodename} main\n"
        #},
        content => "deb <%= debian_mirror %> <%= lsbdistcodename %> main\n",
        owner   => root,
        group   => root,
        mode    => 0644,
        ensure  => present,
        require => File["sources.list.d"],
        notify  => Exec["apt-update"];
      }
    }
    default: {
      err("apt_main class is for Debian-derived systems.")
      err("${fqdn} runs ${operatingsystem}.")
    }
  }
}