# # 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", $generic_name = "$program", $comment = "$program", ){ 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"] ] } }