]> gitweb.fluxo.info Git - puppet-apt.git/commitdiff
Make apt::preferences_snippet place files in /etc/apt/preferences.d
authorGabriel Filion <lelutin@gmail.com>
Thu, 20 Sep 2012 07:55:58 +0000 (03:55 -0400)
committerGabriel Filion <lelutin@gmail.com>
Thu, 20 Sep 2012 07:55:58 +0000 (03:55 -0400)
Since Debian Squeeze, apt supports a .d directory for preferences
(pinning). Simplify management by just placing files inside this .d
directory.

This removes the need for concat and concat::fragment resources, so
removes the dependency on the concat module. It also removes the need
for a moduledir that was needed for the concat module magic, so we also
get rid of the dependency on the common module.

Signed-off-by: Gabriel Filion <lelutin@gmail.com>
README
manifests/init.pp
manifests/preferences.pp
manifests/preferences_snippet.pp

diff --git a/README b/README
index be80c62788ef941f3eb472eb285dfa8cb61a2e84..05781cca0ff1cff753ec395371b1afdfefc250af 100644 (file)
--- a/README
+++ b/README
@@ -18,8 +18,6 @@ Ubuntu support is lagging behind but not absent either.
 This module needs:
 
 - the lsb module: git://labs.riseup.net/shared-lsb
-- the common module: git://labs.riseup.net/shared-common
-- the concat module: git://labs.riseup.net/shared-concat
 
 By default, on normal hosts, this module sets the configuration option
 DSelect::Clean to 'auto'. On virtual servers, the value is set by default to
@@ -383,7 +381,7 @@ upgrade_package { "perl":
 Resources
 =========
 
-Concat[apt_config]
+File['apt_config']
 ------------------
 
 Use this resource to depend on or add to a completed apt configuration
index 9ce7330b83d00537a08a91e0821b4909f6050d13..3caa37666f5e16a7ef0dc9eef6d8a292924f01cc 100644 (file)
@@ -138,10 +138,6 @@ class apt {
   # backports uses the normal archive key now
   package { "debian-backports-keyring": ensure => absent }
 
-  include common::moduledir
-  $apt_base_dir = "${common::moduledir::module_dir_path}/apt"
-  modules_dir { apt: }
-
   if $custom_key_dir {
     file { "${apt_base_dir}/keys.d":
       source => "$custom_key_dir",
@@ -155,7 +151,7 @@ class apt {
     }
     if $custom_preferences != false {
       Exec["custom_keys"] {
-        before => Concat[apt_config],
+        before => File['apt_config'],
       }
     }
   }
index f188149c7e9bbbc7fd2f34eb142bbd4a69638cfb..f7668191ee677746bef8c30bf4b976024e1f6447 100644 (file)
@@ -1,20 +1,18 @@
 class apt::preferences {
 
-  concat::fragment{"apt_preferences_header":
-    content => $custom_preferences ? {
-      '' => $operatingsystem ? {
-        'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
-        'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
-      },
-      default => $custom_preferences
+  $pref_contents = $custom_preferences ? {
+    '' => $operatingsystem ? {
+      'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
+      'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
     },
-    order => 00,
-    target => '/etc/apt/preferences',
+    default => $custom_preferences
   }
 
-  concat{'/etc/apt/preferences':
-    alias => apt_config,
+  file { '/etc/apt/preferences':
+    ensure => present,
+    alias => 'apt_config',
     # only update together
+    content => $pref_contents,
     require => File["/etc/apt/sources.list"],
     owner => root, group => 0, mode => 0644;
   }
index 6a8e6bc8bbdb2acad5c610b67d37ee91e8c88417..1aafe575fec2acfce69da9091b62e8c563fb1107 100644 (file)
@@ -23,11 +23,9 @@ define apt::preferences_snippet(
     fail("apt::preferences_snippet requires either a 'pin' or 'release' argument, not both")
   }
 
-  include apt::preferences
-
-  concat::fragment{"apt_preference_${name}":
+  file { "/etc/apt/preferences.d/${name}":
     ensure => $ensure,
-    target => '/etc/apt/preferences',
+    owner => root, group => 0, mode => 0644;
   }
 
   # This should really work in the same manner as sources_list and apt_conf
@@ -37,19 +35,19 @@ define apt::preferences_snippet(
     '': {
       case $release {
         '': {
-          Concat::Fragment["apt_preference_${name}"]{
+          File["/etc/apt/preferences.d/${name}"]{
             content => template("apt/preferences_snippet.erb")
           }
         }
         default: {
-          Concat::Fragment["apt_preference_${name}"]{
+          File["/etc/apt/preferences.d/${name}"]{
             content => template("apt/preferences_snippet_release.erb")
           }
         }
       }
     }
     default: {
-      Concat::Fragment["apt_preference_${name}"]{
+      File["/etc/apt/preferences.d/${name}"]{
         source => $source
       }
     }