]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/debian-org/manifests/init.pp
there is a volatile for freebsd after all
[dsa-puppet.git] / modules / debian-org / manifests / init.pp
index 1ef3e506f49dece3afa03fcfd9150e0d2ae92353..8b0d62b5794eeecbd66dd0bd8148e42e33d79322 100644 (file)
@@ -6,14 +6,29 @@ class debian-org {
        if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
                $mirror = getfromhash($site::nodeinfo, 'hoster', 'mirror-debian')
        } else {
-               $mirror = 'http://http.debian.net/debian/'
+               $mirror = 'http://ftp.debian.org/debian/'
        }
-       if $::lsbmajdistrelease != "testing/unstable" and $::lsbmajdistrelease < 7 {
+       if $::lsbmajdistrelease < 7 {
                $mirror_backports = 'http://backports.debian.org/debian-backports/'
        } else {
                $mirror_backports = $mirror
        }
 
+       if $::lsbmajdistrelease <= 7 {
+               $mungedcodename = $::lsbdistcodename
+       } elsif ($::debarchitecture in ['kfreebsd-amd64', 'kfreebsd-i386']) {
+               $mungedcodename = "${::lsbdistcodename}-kfreebsd"
+       } else {
+               $mungedcodename = $::lsbdistcodename
+       }
+
+       if $systemd {
+               include systemd
+               $servicefiles = 'present'
+       } else {
+               $servicefiles = 'absent'
+       }
+
        $debianadmin = [
                'debian-archive-debian-samhain-reports@master.debian.org',
                'debian-admin@ftbfs.de',
@@ -60,10 +75,14 @@ class debian-org {
                ensure => installed,
        }
 
-       if $::lsbmajdistrelease == "testing/unstable" or $::lsbmajdistrelease >= 7 {
+       if $::lsbmajdistrelease == 7 {
                package { 'libfilesystem-ruby1.9.1':
                        ensure => installed,
                }
+       } elsif $::lsbmajdistrelease >= 8 {
+               package { 'ruby-filesystem':
+                       ensure => installed,
+               }
        }
 
        munin::check { [
@@ -119,10 +138,10 @@ class debian-org {
 
        site::aptrepo { 'security':
                url        => 'http://security.debian.org/',
-               suite      => "${::lsbdistcodename}/updates",
+               suite      => "${mungedcodename}/updates",
                components => ['main','contrib','non-free']
        }
-       if $::lsbmajdistrelease != "testing/unstable" and $::lsbmajdistrelease < 7 {
+       if $::lsbmajdistrelease < 7 {
                site::aptrepo { 'debian-lts':
                        url        => $mirror,
                        suite      => "${::lsbdistcodename}-lts",
@@ -188,7 +207,7 @@ class debian-org {
        if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
                site::aptrepo { 'debian':
                        url        => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'),
-                       suite      => $::lsbdistcodename,
+                       suite      => $mungedcodename,
                        components => ['main','contrib','non-free']
                }
        }
@@ -232,8 +251,34 @@ class debian-org {
        file { '/etc/default/puppet':
                source => 'puppet:///modules/debian-org/puppet.default',
        }
+       file { '/etc/systemd':
+               ensure  => directory,
+               mode => 0755,
+       }
+       file { '/etc/systemd/system':
+               ensure  => directory,
+               mode => 0755,
+       }
+       file { '/etc/systemd/system/ud-replicated.service':
+               ensure => $servicefiles,
+               source => 'puppet:///modules/debian-org/ud-replicated.service',
+               notify => Exec['systemctl daemon-reload'],
+       }
+       if $systemd {
+               file { '/etc/systemd/system/multi-user.target.wants/ud-replicated.service':
+                       ensure => 'link',
+                       target => '../ud-replicated.service',
+                       notify => Exec['systemctl daemon-reload'],
+               }
+       }
+       file { '/etc/systemd/system/puppet.service':
+               ensure => 'link',
+               target => '/dev/null',
+               notify => Exec['systemctl daemon-reload'],
+       }
+
        file { '/etc/cron.d/dsa-puppet-stuff':
-               source  => 'puppet:///modules/debian-org/dsa-puppet-stuff.cron',
+               content => template('debian-org/dsa-puppet-stuff.cron.erb'),
                require => Package['debian.org'],
        }
        file { '/etc/ldap/ldap.conf':
@@ -250,7 +295,7 @@ class debian-org {
        }
        file { '/etc/rc.local':
                mode   => '0755',
-               source => 'puppet:///modules/debian-org/rc.local',
+               content => template('debian-org/rc.local.erb'),
                notify => Exec['service rc.local start'],
        }
        file { '/etc/dsa':
@@ -315,6 +360,11 @@ class debian-org {
                refreshonly => true
        }
 
+       exec { 'systemctl daemon-reload':
+               refreshonly => true,
+               onlyif  => "test -x /bin/systemctl"
+       }
+
        tidy { '/var/lib/puppet/clientbucket/':
                age      => '2w',
                recurse  => 9,