From: François Conil Date: Mon, 19 May 2014 05:33:06 +0000 (+1000) Subject: Fixed regex to actually follow APT requirements X-Git-Tag: 1.6.0~26^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=1891912f8472da66d9d227f7392b601a24b2f32f;p=puppet-modules%2Fpuppetlabs-apt.git Fixed regex to actually follow APT requirements Previous implementation would overwrite the file name and potentially include characters that would cause apt to ignore the pref file --- diff --git a/manifests/pin.pp b/manifests/pin.pp index 2563fc4..2ce81fd 100644 --- a/manifests/pin.pp +++ b/manifests/pin.pp @@ -64,10 +64,6 @@ define apt::pin( } - $path = $order ? { - '' => "${preferences_d}/${name}.pref", - default => "${preferences_d}/${order}-${name}.pref", - } # According to man 5 apt_preferences: # The files have either no or "pref" as filename extension @@ -78,6 +74,10 @@ define apt::pin( # be silently ignored. $file_name = regsubst($title, '[^0-9a-z\-_\.]', '_', 'IG') + $path = $order ? { + '' => "${preferences_d}/${file_name}.pref", + default => "${preferences_d}/${order}-${file_name}.pref", + } file { "${file_name}.pref": ensure => $ensure, path => $path,