Fix compatibiilty issue
[puppet-modules/puppetlabs-apt.git] / manifests / ppa.pp
index a6ef8036d84d2e415588648cae9c6f45838a2c3c..740d59643c02c9362b6449e1f0c0885776970b07 100644 (file)
@@ -16,18 +16,25 @@ define apt::ppa(
 
   if versioncmp($facts['lsbdistrelease'], '15.10') >= 0 {
     $distid = downcase($facts['lsbdistid'])
-    $filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-${distid}-\\2-${release}")
+    $dash_filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-${distid}-\\2")
+    $underscore_filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1_${distid}_\\2")
   } else {
-    $filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-\\2-${release}")
+    $dash_filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-\\2")
+    $underscore_filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1_\\2")
   }
 
-  $filename_no_slashes      = regsubst($filename, '/', '-', 'G')
-  $filename_no_specialchars = regsubst($filename_no_slashes, '[\.\+]', '_', 'G')
-  $sources_list_d_filename  = "${filename_no_specialchars}.list"
+  $dash_filename_no_slashes      = regsubst($dash_filename, '/', '-', 'G')
+  $dash_filename_no_specialchars = regsubst($dash_filename_no_slashes, '[\.\+]', '_', 'G')
+  $underscore_filename_no_slashes      = regsubst($underscore_filename, '/', '-', 'G')
+  $underscore_filename_no_specialchars = regsubst($underscore_filename_no_slashes, '[\.\+]', '_', 'G')
 
-  $name_no_slashes = regsubst($name, '/', '-', 'G')
-  $name_no_specialchars = regsubst($name_no_slashes, '[\.\+]', '_', 'G')
-  $trusted_gpg_d_filename = regsubst($name_no_specialchars, '^ppa:(.+)', "\\1.gpg")
+  $sources_list_d_filename  = "${dash_filename_no_specialchars}-${release}.list"
+
+  if versioncmp($facts['lsbdistrelease'], '15.10') >= 0 {
+    $trusted_gpg_d_filename = "${underscore_filename_no_specialchars}.gpg"
+  } else {
+    $trusted_gpg_d_filename = "${dash_filename_no_specialchars}.gpg"
+  }
 
   if $ensure == 'present' {
     if $package_manage {