From: Stephen Gran Date: Wed, 2 May 2012 07:45:50 +0000 (+0100) Subject: make site::aptrepo a proper type X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=commitdiff_plain;h=9573712862a431d238cf67894f4b422794eaa78f make site::aptrepo a proper type Signed-off-by: Stephen Gran --- diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 63c5cf8a..b76652c1 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -31,10 +31,37 @@ class buildd { site::aptrepo { 'buildd': ensure => absent, } + + if $::lsbdistcodename in [squeeze,wheezy] { + $suite = $::lsbdistcodename + } else { + $suite = 'wheezy' + } + site::aptrepo { 'buildd.debian.org': - template => 'buildd/etc/apt/sources.list.d/buildd.list.erb', - key => 'puppet:///modules/buildd/buildd.debian.org.asc', - require => Package['apt-transport-https'], + key => 'puppet:///modules/buildd/buildd.debian.org.asc', + url => 'https://buildd.debian.org/apt/', + suite => $suite, + components => 'main', + require => Package['apt-transport-https'], + } + + if $::hostname in [alkman,porpora,zandonai] { + site::aptrepo { 'buildd.debian.org-proposed': + url => 'https://buildd.debian.org/apt/', + suite => "${suite}-proposed", + components => 'main', + require => Package['apt-transport-https'], + } + } + + if $::hostname in [krenek] { + site::aptrepo { 'buildd.debian.org-experimental': + url => 'https://buildd.debian.org/apt/', + suite => "${suite}-experimental", + components => 'main', + require => Package['apt-transport-https'], + } } # 'bad' extension diff --git a/modules/buildd/templates/etc/apt/sources.list.d/buildd.list.erb b/modules/buildd/templates/etc/apt/sources.list.d/buildd.list.erb deleted file mode 100644 index 8ffb4c6f..00000000 --- a/modules/buildd/templates/etc/apt/sources.list.d/buildd.list.erb +++ /dev/null @@ -1,24 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -<% - builddsuites = %w{squeeze wheezy} - testingunstable = 'wheezy' - if builddsuites.include?(lsbdistcodename) - suite = lsbdistcodename - else - suite = testingunstable - end -%> - -# The buildd default repository. -deb https://buildd.debian.org/apt/ <%= suite %> main - -<% if %w{alkman porpora zandonai}.include?(hostname) -%> -# Include the current test version too. -deb https://buildd.debian.org/apt/ <%= suite %>-proposed main -<% elsif %w{krenek}.include?(hostname) -%> -deb https://buildd.debian.org/apt/ <%= suite %>-experimental main -<% end %> diff --git a/modules/debian-org/manifests/init.pp b/modules/debian-org/manifests/init.pp index 7dc5f73f..8c769002 100644 --- a/modules/debian-org/manifests/init.pp +++ b/modules/debian-org/manifests/init.pp @@ -74,13 +74,21 @@ class debian-org { if $::debarchitecture != 'armhf' { site::aptrepo { 'security': - template => 'debian-org/etc/apt/sources.list.d/security.list.erb', + url => 'http://security.debian.org/', + suite => "${::lsbdistcodename}/updates", + components => ['main','contrib','non-free'] } + site::aptrepo { 'backports.debian.org': - template => 'debian-org/etc/apt/sources.list.d/backports.debian.org.list.erb', + url => 'http://backports.debian.org/debian-backports/', + suite => "${::lsbdistcodename}-backports", + components => ['main','contrib','non-free'] } + site::aptrepo { 'volatile': - template => 'debian-org/etc/apt/sources.list.d/volatile.list.erb', + url => 'http://ftp.debian.org/debian', + suite => "${::lsbdistcodename}-updates", + components => ['main','contrib','non-free'] } } site::aptrepo { 'backports.org': @@ -94,8 +102,10 @@ class debian-org { } site::aptrepo { 'db.debian.org': - template => 'debian-org/etc/apt/sources.list.d/debian.org.list.erb', - key => 'puppet:///modules/debian-org/db.debian.org.asc', + url => 'http://db.debian.org/debian-admin', + suite => 'lenny', + components => 'main', + key => 'puppet:///modules/debian-org/db.debian.org.asc', } file { '/etc/facter': diff --git a/modules/debian-org/manifests/proliant.pp b/modules/debian-org/manifests/proliant.pp index ea70b92c..28a177b4 100644 --- a/modules/debian-org/manifests/proliant.pp +++ b/modules/debian-org/manifests/proliant.pp @@ -1,7 +1,9 @@ class debian-org::proliant { site::aptrepo { 'debian.restricted': - template => 'debian-org/etc/apt/sources.list.d/debian.restricted.list.erb', + url => 'http://db.debian.org/debian-admin', + suite => 'lenny-restricted', + components => 'non-free', } package { 'hpacucli': diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/backports.debian.org.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/backports.debian.org.list.erb deleted file mode 100644 index a4238a1e..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/backports.debian.org.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://backports.debian.org/debian-backports/ <%= lsbdistcodename %>-backports main contrib non-free diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/debian.org.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/debian.org.list.erb deleted file mode 100644 index f0673c38..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/debian.org.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://db.debian.org/debian-admin lenny main diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/debian.restricted.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/debian.restricted.list.erb deleted file mode 100644 index 666fce8a..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/debian.restricted.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://db.debian.org/debian-admin lenny-restricted non-free diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/geoip.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/geoip.list.erb deleted file mode 100644 index b39b6be7..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/geoip.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://db.debian.org/debian-admin lenny-bind-geoip main diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/security.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/security.list.erb deleted file mode 100644 index 16b45b0a..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/security.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://security.debian.org/ <%= lsbdistcodename %>/updates main contrib non-free diff --git a/modules/debian-org/templates/etc/apt/sources.list.d/volatile.list.erb b/modules/debian-org/templates/etc/apt/sources.list.d/volatile.list.erb deleted file mode 100644 index e55d490c..00000000 --- a/modules/debian-org/templates/etc/apt/sources.list.d/volatile.list.erb +++ /dev/null @@ -1,6 +0,0 @@ -## -## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. -## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git -## - -deb http://ftp.debian.org/debian <%= lsbdistcodename %>-updates main contrib non-free diff --git a/modules/megactl/manifests/init.pp b/modules/megactl/manifests/init.pp index e5049722..252b418e 100644 --- a/modules/megactl/manifests/init.pp +++ b/modules/megactl/manifests/init.pp @@ -8,6 +8,8 @@ class megactl { } site::aptrepo { 'debian.restricted': - template => 'debian-org/etc/apt/sources.list.d/debian.restricted.list.erb', + url => 'http://db.debian.org/debian-admin', + suite => 'lenny-restricted', + components => 'non-free', } } diff --git a/modules/named/manifests/geodns.pp b/modules/named/manifests/geodns.pp index b12593da..b00d7278 100644 --- a/modules/named/manifests/geodns.pp +++ b/modules/named/manifests/geodns.pp @@ -4,7 +4,9 @@ class named::geodns inherits named { } site::aptrepo { 'geoip': - template => 'debian-org/etc/apt/sources.list.d/geoip.list.erb', + url => 'http://db.debian.org/debian-admin', + suite => 'lenny-bind-geoip', + components => 'main', } file { '/etc/bind/': diff --git a/modules/site/manifests/aptrepo.pp b/modules/site/manifests/aptrepo.pp index d5bae781..c97fade0 100644 --- a/modules/site/manifests/aptrepo.pp +++ b/modules/site/manifests/aptrepo.pp @@ -1,4 +1,11 @@ -define site::aptrepo ($key = undef, $keyid = undef, $template = undef, $config = undef, $ensure = present) { +define site::aptrepo ( + $url, + $suite, + $components=[], + $key = undef, + $keyid = undef, + $ensure = present +) { case $ensure { present: { @@ -38,23 +45,9 @@ define site::aptrepo ($key = undef, $keyid = undef, $template = undef, $config = default: { fail ( "Unknown ensure value: '$ensure'" ) } } - if $ensure == present { - if ! ($config or $template) { - fail ( "No configuration found for ${name}" ) - } - } - - if $template { - file { "/etc/apt/sources.list.d/${name}.list": + file { "/etc/apt/sources.list.d/${name}.list": ensure => $ensure, - content => template($template), + content => template('site/aptrepo.erb'), notify => Exec['apt-get update'], - } - } else { - file { "/etc/apt/sources.list.d/${name}.list": - ensure => $ensure, - source => $config, - notify => Exec['apt-get update'], - } } } diff --git a/modules/site/templates/aptrepo.erb b/modules/site/templates/aptrepo.erb new file mode 100644 index 00000000..a826fa27 --- /dev/null +++ b/modules/site/templates/aptrepo.erb @@ -0,0 +1,6 @@ +## +### THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. +### USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git +### + +deb <%= scope.lookupvar('url') %> <%= scope.lookupvar('suite') %> <%= scope.lookupvar('components').to_a.join(' ') %>