buildd lingering: remove a bashism
[mirror/dsa-puppet.git] / modules / buildd / manifests / init.pp
index fa05663..1d9aa20 100644 (file)
@@ -75,9 +75,7 @@ class buildd ($ensure=present) {
                file { '/etc/apt/preferences.d/buildd':
                        ensure => absent,
                }
-               file { '/etc/cron.d/dsa-buildd':
-                       ensure => absent,
-               }
+               file { '/etc/cron.d/dsa-buildd': ensure => absent, }
                concat::fragment { 'dsa-puppet-stuff--buildd':
                        target => '/etc/cron.d/dsa-puppet-stuff',
                        source  => 'puppet:///modules/buildd/cron.d-dsa-buildd',
@@ -98,9 +96,7 @@ class buildd ($ensure=present) {
                                mode    => '0555',
                        }
                }
-               file { '/etc/cron.d/puppet-buildd-aptitude':
-                       ensure => absent
-               }
+               file { '/etc/cron.d/puppet-buildd-aptitude': ensure => absent }
                concat::fragment { 'dsa-puppet-stuff--buildd-aptitude-killer':
                        target => '/etc/cron.d/dsa-puppet-stuff',
                        content  => @(EOF)
@@ -113,9 +109,7 @@ class buildd ($ensure=present) {
                        ensure => 'stopped',
                }
 
-               file { '/etc/cron.d/puppet-update-buildd-schroots':
-                       ensure => absent
-               }
+               file { '/etc/cron.d/puppet-update-buildd-schroots': ensure => absent }
                if $has_srv_buildd {
                        concat::fragment { 'dsa-puppet-stuff--buildd-update-schroots':
                                target => '/etc/cron.d/dsa-puppet-stuff',
@@ -190,6 +184,15 @@ class buildd ($ensure=present) {
                        owner   => buildd,
                }
 
+               file { '/home/buildd/.profile':
+                       content  => @(EOT),
+                               export XDG_RUNTIME_DIR="/run/user/$(id -u)"
+                               export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
+                               | EOT
+                       group   => buildd,
+                       owner   => buildd,
+               }
+
                if ! $::buildd_key {
                        exec { 'create-buildd-key':
                                command => '/bin/su - buildd -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'',
@@ -202,5 +205,22 @@ class buildd ($ensure=present) {
                        command => 'adduser buildd sbuild',
                        onlyif  => "getent group sbuild > /dev/null && ! getent group sbuild | grep '\\<buildd\\>' > /dev/null"
                }
+
+               # Enable lingering for pybuildd
+               file { '/var/lib/systemd/linger':
+                       ensure  => directory,
+                       mode    => '755',
+               }
+               file { "/var/lib/systemd/linger/buildd":
+                       ensure => present,
+               }
+
+               # And persistent journald storage
+               exec {'mkdir -p /etc/systemd/journald.conf.d':
+                       unless => 'test -d /etc/systemd/journald.conf.d',
+               }
+               file { '/etc/systemd/journald.conf.d/persistency.conf':
+                       source => 'puppet:///modules/systemd/persistency.conf',
+               }
        }
 }