Report abuse

classes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class apt {
   file{"/etc/apt/sources.list":
       content => "# managed by puppet aptrepo define\n"
   }

   file{"/etc/apt/sources.list.d":
       owner => root,
       group => root,
       purge => true,
       recurse => true,
       force => true
   }
}

define aptrepo($type = "deb", $uri, $distribution, $components) {
    file{"/etc/apt/sources.list.d/${name}.list":
        owner => root,
        group => root,
        content => template("aptrepo.erb")
    }
}

usage

1
2
3
4
5
6
7
include apt

aptrepo{"stable_contrib":
   uri => "ftp://ftp.debian.org/debian",
   distribution => "stable",
   components => "contrib"
}

aptrepo.erb

1
<%= type %> <%= uri %> <%= distribution %> <%= components.join(" ") %>