From b552e6ec028d87ef5efbb57b1541bef43dfe8ed9 Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@mail.ru> Date: Thu, 24 Sep 2020 13:28:34 +0200 Subject: [PATCH] Initial commit --- manifests/init.pp | 89 +++++++++++++++++++++++++++++++++++ templates/program.desktop.erb | 11 +++++ 2 files changed, 100 insertions(+) create mode 100644 manifests/init.pp create mode 100644 templates/program.desktop.erb diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..2145c1f --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,89 @@ +# +# +class wmdeit_install +( + +) +{ + file {'/opt/wikimedia': + ensure => directory + } +} + + +define wmdeit_install::program( + $program = $title, + $archfile = "${program}.zip", + $source = "puppet:///downloads/packages/${program}/${archfile}", + $svg = "${program}.svg", + $svg_source = "puppet:///downloads/packages/${program}/${svg}", + + $desktop = "${program}.desktop", + $desktop_source = "puppet:///downloads/packages/${program}/${desktop}", + + $extract_path = "/opt/wikimedia/$program", + $extract_dir = "$program", + $exec = "$extract_path/$extract_dir/$program", + $exec_path = "$extract_path/$extract_dir", + +){ + + file {$extract_path: + ensure => directory + }-> + file {"$extract_path/$svg": + ensure => file, + source => $svg_source, + }-> + file {"$extract_path/$desktop": + ensure => file, + # source => $desktop_source, + content => template("wmdeit_install/program.desktop.erb"), + }-> + + archive {"/tmp/$archfile": + source => $source, + extract_path => $extract_path, + extract => true, + } -> + exec{'Install commonist': + command => "/usr/bin/desktop-file-install --rebuild-mime-info-cache ${extract_path}/${desktop}", + #creates => '/usr/share/applications/$desktop', + refreshonly => true, + subscribe => [ + Archive["/tmp/$archfile"], + File["$extract_path/$desktop"] + ] + } + +} + +class wmdeit_install::commonist +{ +# commonist + file {'/opt/wikimedia/commonist': + ensure => directory, + require => File['/opt/wikimedia']} + file {'/opt/wikimedia/commonist/commonist.zip': + ensure => present, + links => follow, + source => 'puppet:///downloads/packages/commonist/commonist.zip', + require => File['/opt/wikimedia/commonist']} + file {'/opt/wikimedia/commonist/commonist.desktop': + ensure => present, + source => 'puppet:///downloads/packages/commonist/commonist.desktop', + require => File['/opt/wikimedia/commonist']} + file {'/opt/wikimedia/commonist/commonist.svg': + ensure => present, + source => 'puppet:///downloads/packages/commonist/commonist.svg', + require => File['/opt/wikimedia/commonist']} + exec{'Unzip commonist': + command => '/usr/bin/unzip -o /opt/wikimedia/commonist/commonist.zip -d /opt/wikimedia/commonist', + creates => '/opt/wikimedia/commonist/commonist', + require => File['/opt/wikimedia/commonist/commonist.zip']} + exec{'Install commonist': + command => '/usr/bin/desktop-file-install --rebuild-mime-info-cache /opt/wikimedia/commonist/commonist.desktop', + creates => '/usr/share/applications/commonist.desktop', + require => Exec['Unzip commonist']} + +} diff --git a/templates/program.desktop.erb b/templates/program.desktop.erb new file mode 100644 index 0000000..762abb8 --- /dev/null +++ b/templates/program.desktop.erb @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=<%= @program %> +GenericName=Upload-Werkzeug +Comment=Uploader für Wikimedia Commons +Path=<%= @exec_path %> +Exec=<%= @exec %> +Icon=<%= @extract_path %>/<%= @svg %> +Terminal=false +Categories=Network;