aboutsummaryrefslogtreecommitdiff
path: root/modules/aur/manifests/aura.pp
blob: 3e06f0a18289287924c713a775c67d0ae0816882 (plain) (blame)
1
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
class aur::aura(
) {
  user { "aur-builder":
    name   => "aur-builder",
    system => true,
    ensure => "present"
  }

  sudo::conf { 'aur-builder':
    content => "aur-builder ALL=(root) NOPASSWD: /usr/bin/aura *"
  }

  ensure_packages(['base-devel'], { 'install_options'  => '--needed' })
  ensure_packages(['gmp', 'pcre'], { 'install_options' => '--asdeps' })

  exec { 'aur::aura':
    cwd       => "/tmp",
    path      => "/usr/bin",
    command   => 'curl -o /tmp/aur.sh aur.sh && chmod +x /tmp/aur.sh && /tmp/aur.sh aura-bin && mv /tmp/aura-bin/aura-bin-*-x86_64.pkg.tar.xz /tmp/aura-bin-x86_64.pkg.tar.xz && rm /tmp/aur.sh && rm -rf /tmp/aura-bin',
    user      => "aur-builder",
    unless    => '/usr/bin/pacman -Qo aura',
    require   => Package['base-devel'],
    logoutput => 'on_failure',
  }

  package { 'aura-bin':
    ensure  => "present",
    source  => "/tmp/aura-bin-x86_64.pkg.tar.xz",
    require => Exec['aur::aura'],
    notify  => Exec['aur::aura::cleanup']
  }

  exec { 'aur::aura::cleanup':
    path        => "/usr/bin/",
    command     => "rm -f /tmp/aura-bin-x86_64.pkg.tar.xz",
    refreshonly => true
  }
}