equal
deleted
inserted
replaced
|
1 # Define: yum::group |
|
2 # |
|
3 # This definition installs or removes yum package group. |
|
4 # |
|
5 # Parameters: |
|
6 # [*ensure*] - specifies if package group should be |
|
7 # present (installed) or absent (purged) |
|
8 # |
|
9 # Actions: |
|
10 # |
|
11 # Requires: |
|
12 # RPM based system |
|
13 # |
|
14 # Sample usage: |
|
15 # yum::group { 'X Window System': |
|
16 # ensure => present, |
|
17 # } |
|
18 # |
|
19 define yum::group ( |
|
20 $ensure = present |
|
21 ) { |
|
22 Exec { |
|
23 path => '/bin:/usr/bin:/sbin:/usr/sbin', |
|
24 environment => 'LC_ALL=C' |
|
25 } |
|
26 |
|
27 case $ensure { |
|
28 present,installed: { |
|
29 exec { "yum-groupinstall-${name}": |
|
30 command => "yum -y groupinstall '${name}'", |
|
31 unless => "yum grouplist '${name}' | egrep -i '^Installed.+Groups:$'", |
|
32 } |
|
33 } |
|
34 |
|
35 absent,purged: { |
|
36 exec { "yum-groupremove-${name}": |
|
37 command => "yum -y groupremove '${name}'", |
|
38 onlyif => "yum grouplist '${name}' | egrep -i '^Installed.+Groups:$'", |
|
39 } |
|
40 } |
|
41 |
|
42 default: { |
|
43 fail("Invalid ensure state: ${ensure}") |
|
44 } |
|
45 } |
|
46 } |