diff --git a/lynx/manifests/init.pp b/lynx/manifests/init.pp index 70957fb..fd0b948 100644 --- a/lynx/manifests/init.pp +++ b/lynx/manifests/init.pp @@ -11,32 +11,46 @@ class lynx { $www_default_url = "http://www.${::domain}" } - if $::operatingsystem != "OpenBSD" { - package { "lynx": - ensure => installed, - name => $::operatingsystem ? { - "ubuntu" => "lynx-cur", - default => "lynx", - }, - before => File["/usr/local/bin/html2text"], + case $::operatingsystem { + "openbsd": { + exec { "add-local-lynx-config": + command => "echo 'INCLUDE:/etc/lynx-site.cfg' >> /etc/lynx.cfg", + path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin", + user => "root", + unless => "fgrep 'INCLUDE:/etc/lynx-site.cfg' /etc/lynx.cfg", + } + $config = "/etc/lynx-site.cfg" + $package = undef + } + "ubuntu": { + if versioncmp($::operatingsystemrelease, "16.04") < 0 { + $config = "/etc/lynx-cur/local.cfg" + $package = "lynx-cur" + } else { + $config = "/etc/lynx/local.cfg" + $package = "lynx" + } + } + default: { + $config = "/etc/lynx-site.cfg" + $package = "lynx" } } - if $::operatingsystem == "OpenBSD" { - exec { "add-local-lynx-config": - command => "echo 'INCLUDE:/etc/lynx-site.cfg' >> /etc/lynx.cfg", - path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin", - user => root, - unless => "fgrep 'INCLUDE:/etc/lynx-site.cfg' /etc/lynx.cfg", + if $package { + package { "lynx": + ensure => installed, + name => $package, + before => [ + File["/usr/local/bin/html2text"], + File["lynx-site.cfg"], + ], } } file { "lynx-site.cfg": ensure => present, - name => $::operatingsystem ? { - "ubuntu" => "/etc/lynx-cur/local.cfg", - default => "/etc/lynx-site.cfg", - }, + name => $config, content => template("lynx/lynx-site.cfg.erb"), mode => "0644", owner => "root", @@ -44,10 +58,6 @@ class lynx { "openbsd" => "wheel", default => "root", }, - require => $::operatingsystem ? { - "openbsd" => undef, - default => Package["lynx"], - }, } file { "/usr/local/bin/html2text":