|
|
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}.")
}
}
}
|