diff --git a/yum/manifests/init.pp b/yum/manifests/init.pp index e6bf613..eec09a9 100644 --- a/yum/manifests/init.pp +++ b/yum/manifests/init.pp @@ -28,6 +28,24 @@ class yum::updatesd { } +# Common prequisites for yum +# +class yum::common { + + case $operatingsystem { + "fedora": { + $osname = "fedora" + $osver = $operatingsystemrelease + } + "centos": { + $osname = "el" + $osver = regsubst($operatingsystemrelease, '^(\d+)\..*$', '\1') + } + } + +} + + # Add new yum repository. # # === Parameters @@ -111,13 +129,15 @@ class yum::repo::adobe { # class yum::repo::epel { - if $operatingsystem != "CentOS" { + include yum::common + + if $yum::common::osname != "el" { fail("EPEL repository not supported in ${operatingsystem}") } yum::repo { "epel": - descr => "Extra Packages for Enterprise Linux ${lsbmajdistrelease} - \$basearch", - mirrorlist => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-${lsbmajdistrelease}&arch=\$basearch", + descr => "Extra Packages for Enterprise Linux ${yum::common::osver} - \$basearch", + mirrorlist => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-${yum::common::osver}&arch=\$basearch", gpgkey => "puppet:///modules/yum/keys/epel.key", } @@ -141,21 +161,17 @@ class yum::repo::google { # class yum::repo::rpmfusion-free { - case $operatingsystem { - "centos": { $flavor = "el" } - "fedora": { $flavor = "fedora" } - default: { fail("RPM Fusion Free repository not supported in ${operatingsystem}") } - } + include yum::common yum::repo { "rpmfusion-free": - descr => "RPM Fusion for ${flavor} \$releasever - Free", - mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=free-${flavor}-\$releasever&arch=\$basearch", - gpgkey => "puppet:///modules/yum/keys/rpmfusion-free-${flavor}-${lsbmajdistrelease}.key", + descr => "RPM Fusion for ${yum::common::osname} \$releasever - Free", + mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=free-${yum::common::osname}-\$releasever&arch=\$basearch", + gpgkey => "puppet:///modules/yum/keys/rpmfusion-free-${yum::common::osname}-${yum::common::osver}.key", } yum::repo { "rpmfusion-free-updates": - descr => "RPM Fusion for ${flavor} \$releasever - Free", - mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=free-${flavor}-updates-released-\$releasever&arch=\$basearch", - gpgkey => "puppet:///modules/yum/keys/rpmfusion-free-${flavor}-${lsbmajdistrelease}.key", + descr => "RPM Fusion for ${yum::common::osname} \$releasever - Free", + mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=free-${yum::common::osname}-updates-released-\$releasever&arch=\$basearch", + gpgkey => "puppet:///modules/yum/keys/rpmfusion-free-${yum::common::osname}-${yum::common::osver}.key", } } @@ -167,22 +183,22 @@ class yum::repo::rpmfusion-free { # class yum::repo::rpmfusion-nonfree { - case $operatingsystem { - "fedora": { $flavor = "fedora" } - default: { fail("RPM Fusion Free repository not supported in ${operatingsystem}") } + if $operatingsystem != "Fedora" { + fail("RPM Fusion Free repository not supported in ${operatingsystem}") } + include yum::common include yum::repo::rpmfusion-free yum::repo { "rpmfusion-nonfree": - descr => "RPM Fusion for ${flavor} \$releasever - Nonfree", - mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-${flavor}-\$releasever&arch=\$basearch", - gpgkey => "puppet:///modules/yum/keys/rpmfusion-nonfree-${flavor}-${lsbmajdistrelease}.key", + descr => "RPM Fusion for ${yum::common::osname} \$releasever - Nonfree", + mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-${yum::common::osname}-\$releasever&arch=\$basearch", + gpgkey => "puppet:///modules/yum/keys/rpmfusion-nonfree-${yum::common::osname}-${yum::common::osver}.key", } yum::repo { "rpmfusion-nonfree-updates": - descr => "RPM Fusion for ${flavor} \$releasever - Nonfree", - mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-${flavor}-updates-released-\$releasever&arch=\$basearch", - gpgkey => "puppet:///modules/yum/keys/rpmfusion-nonfree-${flavor}-${lsbmajdistrelease}.key", + descr => "RPM Fusion for ${yum::common::osname} \$releasever - Nonfree", + mirrorlist => "http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-${yum::common::osname}-updates-released-\$releasever&arch=\$basearch", + gpgkey => "puppet:///modules/yum/keys/rpmfusion-nonfree-${yum::common::osname}-${yum::common::osver}.key", } }