]> gitweb.fluxo.info Git - puppet-apt.git/commitdiff
abstract the apt preferences so that custom preferences can be set,
authorMicah Anderson <micah@riseup.net>
Sun, 28 Sep 2008 22:10:28 +0000 (18:10 -0400)
committerMicah Anderson <micah@riseup.net>
Sun, 28 Sep 2008 22:10:28 +0000 (18:10 -0400)
while maintaining a sane default preferences set can be set. This is
done in the same manner that the custom/default sources_list are handled

manifests/init.pp

index f85a535f9276eec613e34f6dd5618beb5bb4777a..c050703449da39261cf327f70b5b1221e3cc504c 100644 (file)
@@ -41,20 +41,34 @@ class apt {
                }
        }
 
-       config_file {
-               # this just pins unstable and testing to very low values
-               "/etc/apt/preferences":
-                       content => template("apt/preferences.erb"),
-                       # use File[apt_config] to reference a completed configuration
-                       # See "The Puppet Semaphor" 2007-06-25 on the puppet-users ML
-                       alias => apt_config,
-                       # only update together
-                       require => File["/etc/apt/sources.list"];
-               # little default settings which keep the system sane
-               "/etc/apt/apt.conf.d/from_puppet":
-                       content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n",
-                       before => File[apt_config];
-       }
+        case $custom_preferences {
+          '': {
+            include default_preferences
+          }
+          default: {
+            config_file { "/etc/apt/preferences":
+              content => $custom_preferences
+              alias => apt_config,
+              require => File["/etc/apt/sources.list"];
+            }
+          }
+        }
+        class default_preferences {
+         config_file {
+           # this just pins unstable and testing to very low values
+           "/etc/apt/preferences":
+             content => template("apt/preferences.erb"),
+             # use File[apt_config] to reference a completed configuration
+             # See "The Puppet Semaphor" 2007-06-25 on the puppet-users ML
+             alias => apt_config,
+             # only update together
+             require => File["/etc/apt/sources.list"];
+           # little default settings which keep the system sane
+           "/etc/apt/apt.conf.d/from_puppet":
+             content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n",
+             before => File[apt_config];
+         }
+        }
 
        $apt_base_dir = "/var/lib/puppet/modules/apt"
        modules_dir { apt: }