]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/debian-org/manifests/init.pp
collect slightly fewer packages
[dsa-puppet.git] / modules / debian-org / manifests / init.pp
index 5258dfbe6b54aa6e365806d432a77886d6405a77..1c42d5f59cea63ca311f16501b66ed7b19ce94bc 100644 (file)
@@ -20,11 +20,9 @@ class debian-org {
                        'dsa-munin-plugins',
                ]:
                ensure => installed,
-               require => [
-                       File['/etc/apt/sources.list.d/db.debian.org.list'],
-                       Exec['apt-get update']
-               ]
+               tag    => extra_repo,
        }
+
        package { [
                        'apt-utils',
                        'bash-completion',
@@ -39,6 +37,12 @@ class debian-org {
                ensure => installed,
        }
 
+       if $::lsbmajdistrelease >= 7 {
+               package { 'libfilesystem-ruby1.9':
+                       ensure => installed,
+               }
+       }
+
        munin::check { [
                        'cpu',
                        'entropy',
@@ -62,10 +66,7 @@ class debian-org {
        if getfromhash($site::nodeinfo, 'broken-rtc') {
                package { 'fake-hwclock':
                        ensure => installed,
-                       require => [
-                               File['/etc/apt/sources.list.d/db.debian.org.list'],
-                               Exec['apt-get update']
-                       ]
+                       tag    => extra_repo,
                }
        }
 
@@ -83,25 +84,31 @@ class debian-org {
                require => Package['molly-guard'],
        }
 
-       # This really means 'not wheezy'
-
-       if $::debarchitecture != 'armhf' {
-               site::aptrepo { 'security':
-                       url        => 'http://security.debian.org/',
-                       suite      => "${::lsbdistcodename}/updates",
-                       components => ['main','contrib','non-free']
-               }
+       site::aptrepo { 'security':
+               url        => 'http://security.debian.org/',
+               suite      => "${::lsbdistcodename}/updates",
+               components => ['main','contrib','non-free']
+       }
 
+       if $::lsbdistcodename != 'wheezy' {
                site::aptrepo { 'backports.debian.org':
                        url        => 'http://backports.debian.org/debian-backports/',
                        suite      => "${::lsbdistcodename}-backports",
                        components => ['main','contrib','non-free']
                }
 
-               site::aptrepo { 'volatile':
-                       url        => 'http://ftp.debian.org/debian',
-                       suite      => "${::lsbdistcodename}-updates",
-                       components => ['main','contrib','non-free']
+               if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
+                       site::aptrepo { 'volatile':
+                               url        => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'),
+                               suite      => "${::lsbdistcodename}-updates",
+                               components => ['main','contrib','non-free']
+                       }
+               } else {
+                       site::aptrepo { 'volatile':
+                               url        => 'http://ftp.debian.org/debian',
+                               suite      => "${::lsbdistcodename}-updates",
+                               components => ['main','contrib','non-free']
+                       }
                }
        }
        site::aptrepo { 'backports.org':
@@ -121,6 +128,14 @@ class debian-org {
                key        => 'puppet:///modules/debian-org/db.debian.org.asc',
        }
 
+       if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
+               site::aptrepo { 'debian':
+                       url        => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'),
+                       suite      => $::lsbdistcodename,
+                       components => ['main','contrib','non-free']
+               }
+       }
+
        file { '/etc/facter':
                ensure  => directory,
                purge   => true,
@@ -154,6 +169,10 @@ class debian-org {
                source => 'puppet:///modules/debian-org/timezone',
                notify => Exec['dpkg-reconfigure tzdata -pcritical -fnoninteractive'],
        }
+       if $::hostname == handel {
+               include puppetmaster::db
+               $dbpassword = $puppetmaster::db::password
+       }
        file { '/etc/puppet/puppet.conf':
                content => template('debian-org/puppet.conf.erb'),
        }
@@ -212,6 +231,7 @@ class debian-org {
                path        => '/usr/bin:/usr/sbin:/bin:/sbin',
                refreshonly => true,
        }
+       Exec['apt-get update']->Package<| tag == extra_repo |>
 
        exec { 'dpkg-reconfigure tzdata -pcritical -fnoninteractive':
                path        => '/usr/bin:/usr/sbin:/bin:/sbin',