]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/blobdiff - manifests/install.pp
fix dirname
[user/henk/code/puppet/modules/s6.git] / manifests / install.pp
index de016eea87b389507fbbe69152a5377e9b794605..ffccb333bfed5d704b7d4ec5a3023bc3335163aa 100644 (file)
@@ -5,22 +5,48 @@ class s6::install {
     ;
   }
   file {
-    '/usr/local/bin/s6-svscanboot':
-      ensure  => present,
-      source  => 'puppet:///modules/s6/usr/local/bin/s6-svscanboot',
-      mode    => '0755',
-      require => Package['s6'],
+    '/etc/s6-services/':
+      ensure => directory,
     ;
-    '/etc/init.d/s6':
-      ensure  => present,
-      source  => 'puppet:///modules/s6/etc/init.d/s6',
-      mode    => '0755',
-      require => Package['s6'],
+    '/etc/s6-scandir/':
+      ensure => directory,
     ;
-    '/etc/s6-services/':
+    '/var/log/s6/':
       ensure => directory,
+      mode   => '0700',
     ;
   }
+
+  if $facts['service_provider'] == 'systemd' {
+    file {
+      '/etc/systemd/system/s6.service':
+        ensure  => present,
+        source  => 'puppet:///modules/s6/etc/systemd/system/s6.service',
+        require => Package['s6'],
+        notify  => Class['s6::service'],
+      ;
+    }
+  } else {
+    file {
+      '/usr/local/bin/s6-svscanboot':
+        ensure  => present,
+        source  => [
+          "puppet:///modules/s6/usr/local/bin/s6-svscanboot.${facts['os']['distro']['codename']}",
+          'puppet:///modules/s6/usr/local/bin/s6-svscanboot',
+        ],
+        mode    => '0755',
+        require => Package['s6'],
+        notify  => Class['s6::service'],
+      ;
+      '/etc/init.d/s6':
+        ensure  => present,
+        source  => 'puppet:///modules/s6/etc/init.d/s6',
+        mode    => '0755',
+        require => Package['s6'],
+        notify  => Class['s6::service'],
+      ;
+    }
+  }
   user {
     's6-logs':
       ensure => present,