From 7e162424533373616fec58318e1f02695a61843e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20L=C3=A9on?= Date: Tue, 2 Jul 2024 13:30:16 +0200 Subject: [PATCH] Add deb822 format ppa support on Ubuntu 24.04 New repo are added as .sources files. Without this update, add-apt-repository keeps being called for ppa repo on each Puppet run because if does not look for .sources files --- lib/facter/apt_sources.rb | 5 ++++- manifests/ppa.pp | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/facter/apt_sources.rb b/lib/facter/apt_sources.rb index c985802010..18a28b5689 100644 --- a/lib/facter/apt_sources.rb +++ b/lib/facter/apt_sources.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# This fact lists the .list filenames that are used by apt. +# This fact lists the .list and .sources filenames that are used by apt. Facter.add(:apt_sources) do confine osfamily: 'Debian' setcode do @@ -8,6 +8,9 @@ Dir.glob('/etc/apt/sources.list.d/*.list').each do |file| sources.push(File.basename(file)) end + Dir.glob('/etc/apt/sources.list.d/*.sources').each do |file| + sources.push(File.basename(file)) + end sources end end diff --git a/manifests/ppa.pp b/manifests/ppa.pp index 52c5186d03..336cda12d5 100644 --- a/manifests/ppa.pp +++ b/manifests/ppa.pp @@ -53,7 +53,11 @@ $underscore_filename_no_slashes = regsubst($underscore_filename, '/', '-', 'G') $underscore_filename_no_specialchars = regsubst($underscore_filename_no_slashes, '[\.\+]', '_', 'G') - $sources_list_d_filename = "${dash_filename_no_specialchars}-${release}.list" + if versioncmp($facts['os']['release']['full'], '24.04') < 0 { + $sources_list_d_filename = "${dash_filename_no_specialchars}-${release}.list" + } else { + $sources_list_d_filename = "${dash_filename_no_specialchars}-${release}.sources" + } if versioncmp($facts['os']['release']['full'], '21.04') < 0 { $trusted_gpg_d_filename = "${underscore_filename_no_specialchars}.gpg"