Try to retire the site module: move site::aptrepo to base
[mirror/dsa-puppet.git] / modules / debian_org / manifests / apt.pp
index cf1f72f..8ff0877 100644 (file)
@@ -15,66 +15,89 @@ class debian_org::apt {
                $mirror = [ $fallbackmirror ]
        }
 
-       site::aptrepo { 'debian':
-               url        => $mirror,
-               suite      => [ $::lsbdistcodename, "${::lsbdistcodename}-backports", "${::lsbdistcodename}-updates" ],
-               components => ['main','contrib','non-free']
+       # jessie
+       if versioncmp($::lsbmajdistrelease, '8') <= 0 {
+               base::aptrepo { 'debian':
+                       url        => $mirror,
+                       suite      => [ $::lsbdistcodename ],
+                       components => ['main','contrib','non-free']
+               }
+       # stretch or buster
+       } else {
+               base::aptrepo { 'debian':
+                       url        => $mirror,
+                       suite      => [ $::lsbdistcodename, "${::lsbdistcodename}-backports", "${::lsbdistcodename}-updates" ],
+                       components => ['main','contrib','non-free']
+               }
        }
 
-       if ($::hostname in [smetana]) {
-               site::aptrepo { 'security':
-                       ensure => absent,
+       if versioncmp($::lsbmajdistrelease, '8') <= 0 {
+               base::aptrepo { 'security':
+                       url        => [ 'http://security-cdn.debian.org/', 'http://security.debian.org/' ],
+                       suite      => "${::lsbdistcodename}/updates",
+                       components => ['main','contrib','non-free']
                }
        } else {
-               site::aptrepo { 'security':
-                       url        => [ 'http://security-cdn.debian.org/', 'http://security.anycast-test.mirrors.debian.org/debian-security/', 'http://security.debian.org/' ],
+               base::aptrepo { 'security':
+                       url        => [ 'http://security.debian.org/' ],
                        suite      => "${::lsbdistcodename}/updates",
                        components => ['main','contrib','non-free']
                }
        }
 
+       # ca-certificates is installed by the ssl module
+       if versioncmp($::lsbmajdistrelease, '9') <= 0 {
+               package { 'apt-transport-https':
+                       ensure => installed,
+               }
+       } else {
+               # transitional package in buster
+               package { 'apt-transport-https':
+                       ensure => purged,
+               }
+       }
        $dbdosuites = [ 'debian-all', $::lsbdistcodename ]
-       site::aptrepo { 'db.debian.org':
-               url        => 'http://db.debian.org/debian-admin',
+       base::aptrepo { 'db.debian.org':
+               url        => 'https://db.debian.org/debian-admin',
                suite      => $dbdosuites,
                components => 'main',
                key        => 'puppet:///modules/debian_org/db.debian.org.gpg',
        }
 
        if ($::hostname in []) {
-               site::aptrepo { 'proposed-updates':
+               base::aptrepo { 'proposed-updates':
                        url        => $mirror,
                        suite      => "${::lsbdistcodename}-proposed-updates",
                        components => ['main','contrib','non-free']
                }
        } else {
-               site::aptrepo { 'proposed-updates':
+               base::aptrepo { 'proposed-updates':
                        ensure => absent,
                }
        }
 
-       site::aptrepo { 'debian-cdn':
+       base::aptrepo { 'debian-cdn':
                ensure => absent,
        }
-       site::aptrepo { 'debian.org':
+       base::aptrepo { 'debian.org':
                ensure => absent,
        }
-       site::aptrepo { 'debian2':
+       base::aptrepo { 'debian2':
                ensure => absent,
        }
-       site::aptrepo { 'backports2.debian.org':
+       base::aptrepo { 'backports2.debian.org':
                ensure => absent,
        }
-       site::aptrepo { 'backports.debian.org':
+       base::aptrepo { 'backports.debian.org':
                ensure => absent,
        }
-       site::aptrepo { 'volatile':
+       base::aptrepo { 'volatile':
                ensure => absent,
        }
-       site::aptrepo { 'db.debian.org-suite':
+       base::aptrepo { 'db.debian.org-suite':
                ensure => absent,
        }
-       site::aptrepo { 'debian-lts':
+       base::aptrepo { 'debian-lts':
                ensure => absent,
        }
 
@@ -106,6 +129,17 @@ class debian_org::apt {
        file { '/etc/apt/apt.conf.d/local-langs':
                source => 'puppet:///modules/debian_org/apt.conf.d/local-langs',
        }
+       file { '/etc/apt/apt.conf.d/local-cainfo':
+               source => 'puppet:///modules/debian_org/apt.conf.d/local-cainfo',
+       }
+       file { '/etc/apt/apt.conf.d/local-pkglist':
+               source => 'puppet:///modules/debian_org/apt.conf.d/local-pkglist',
+       }
+
+       exec { 'dpkg list':
+               command => 'dpkg-query -W -f \'${Package}\n\' > /var/lib/misc/thishost/pkglist',
+               creates => '/var/lib/misc/thishost/pkglist',
+       }
 
        exec { 'apt-get update':
                path    => '/usr/bin:/usr/sbin:/bin:/sbin',