From 75f5da7040eb67b144c490ff6bb319550df4f9fe Mon Sep 17 00:00:00 2001 From: Wenzheng Jiang Date: Mon, 30 Jul 2018 12:08:37 +1000 Subject: [PATCH] Fix compatibiilty issue --- manifests/ppa.pp | 23 +++++++++++++++-------- spec/defines/ppa_spec.rb | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/manifests/ppa.pp b/manifests/ppa.pp index a6ef803..740d596 100644 --- a/manifests/ppa.pp +++ b/manifests/ppa.pp @@ -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 { diff --git a/spec/defines/ppa_spec.rb b/spec/defines/ppa_spec.rb index efbf482..4c4dddb 100644 --- a/spec/defines/ppa_spec.rb +++ b/spec/defines/ppa_spec.rb @@ -47,7 +47,7 @@ describe 'apt::ppa' do it { is_expected.to contain_exec('add-apt-repository-ppa:user/foo').that_notifies('Class[Apt::Update]').with(environment: [], command: '/usr/bin/add-apt-repository -y ppa:user/foo', - unless: '/usr/bin/test -f /etc/apt/sources.list.d/user-ubuntu-foo-wily.list && /usr/bin/test -f /etc/apt/trusted.gpg.d/user-foo.gpg', # rubocop:disable Metrics/LineLength + unless: '/usr/bin/test -f /etc/apt/sources.list.d/user-ubuntu-foo-wily.list && /usr/bin/test -f /etc/apt/trusted.gpg.d/user_ubuntu_foo.gpg', # rubocop:disable Metrics/LineLength user: 'root', logoutput: 'on_failure') } -- 2.32.3