Puppet Class: lightdm::install
- Defined in:
- manifests/install.pp
Overview
Class lightdm::install
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'manifests/install.pp', line 2
class lightdm::install (
$greeter = $lightdm::greeter,
$make_default = $lightdm::make_default,
$package_ensure = $lightdm::package_ensure,
$package_name = $lightdm::package_name,
$package_provider = $lightdm::package_provider,
) {
if $make_default {
case $::osfamily {
'Debian': {
file { 'default-display-manager':
ensure => 'file',
path => '/etc/X11/default-display-manager',
owner => 'root',
group => 'root',
mode => '0644',
content => "/usr/sbin/lightdm\n"
}
# Stop current display-manager before we install lightdm
exec { 'stop other display-manager':
command => 'systemctl stop display-manager',
onlyif => 'test "$(readlink /etc/systemd/system/display-manager.service)" != "/lib/systemd/system/lightdm.service"',
path => ['/usr/sbin', '/usr/bin', '/sbin', '/bin'],
user => 'root',
before => Package['lightdm'],
notify => Exec['set shared/default-x-display-manager']
}
# Set prefered display-manager to lightdm
exec { 'set shared/default-x-display-manager':
command => 'echo lightdm shared/default-x-display-manager select lightdm | debconf-set-selections',
path => ['/usr/sbin', '/usr/bin', '/sbin', '/bin'],
user => 'root',
refreshonly => true,
notify => Exec['dpkg-reconfigure lightdm'],
require => Package['lightdm']
}
# We need to dpkg-reconfigure lightdm after setting default-x-display-manager
# to rebuild the display-manager.service symlink for systemd
exec { 'dpkg-reconfigure lightdm':
command => 'dpkg-reconfigure lightdm',
path => ['/usr/sbin', '/usr/bin', '/sbin', '/bin'],
user => 'root',
refreshonly => true,
notify => Class['lightdm::service'],
require => [Exec['set shared/default-x-display-manager'], File['default-display-manager']]
}
package { 'lightdm':
name => $package_name,
ensure => $package_ensure,
provider => $package_provider,
before => File['default-display-manager'],
notify => Exec['set shared/default-x-display-manager']
}
}
'RedHat': {
file { 'default-display-manager':
ensure => 'file',
path => '/etc/sysconfig/desktop',
owner => 'root',
group => 'root',
mode => '0644',
content => "DISPLAYMANAGER=lightdm\n"
}
package { 'lightdm':
name => $package_name,
ensure => $package_ensure,
provider => $package_provider,
require => File['default-display-manager'],
}
}
}
} else {
package { 'lightdm':
name => $package_name,
ensure => $package_ensure,
provider => $package_provider,
}
}
# Install greeter
if $greeter {
package {'lightdm-greeter':
name => $greeter,
ensure => $package_ensure,
provider => $package_provider
}
}
}
|