]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/blobdiff - manifests/install.pp
work with systemd
[user/henk/code/puppet/modules/s6.git] / manifests / install.pp
index 9609076b25b5e45c671a9fbc9a114a5a39f0c677..f683aad6a00765ce7a97e15bd1ddefc8593b21e0 100644 (file)
@@ -5,23 +5,6 @@ class s6::install {
     ;
   }
   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'],
-    ;
     '/etc/s6-services/':
       ensure => directory,
     ;
@@ -32,6 +15,37 @@ class s6::install {
       ensure => directory,
     ;
   }
+
+  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,