]> git.openstreetmap.org Git - chef.git/commitdiff
Centralise enablement of backports
authorTom Hughes <tom@compton.nu>
Thu, 5 Sep 2024 08:27:27 +0000 (09:27 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 5 Sep 2024 09:02:15 +0000 (10:02 +0100)
cookbooks/apt/recipes/default.rb
cookbooks/hardware/recipes/default.rb
cookbooks/otrs/recipes/default.rb
cookbooks/tile/recipes/default.rb

index 75fa4147a51c07cf2003108afa55c1a7c51af1d1..a8c35489b1525c7b73c00bc93d7617a01c4a199c 100644 (file)
@@ -45,6 +45,10 @@ if platform?("debian")
   archive_security_distro = "debian-security"
   archive_suites = %w[main updates backports security]
   archive_components = %w[main contrib non-free non-free-firmware]
+  backport_packages = case node[:lsb][:codename]
+                      when "bookworm" then %w[osm2pgsql otrs2 smartmontools]
+                      else %w[]
+                      end
 elsif intel?
   archive_host = if node[:country]
                    "#{node[:country]}.archive.ubuntu.com"
@@ -56,6 +60,7 @@ elsif intel?
   archive_security_distro = archive_distro
   archive_suites = %w[main updates backports security]
   archive_components = %w[main restricted universe multiverse]
+  backport_packages = %w[]
 else
   archive_host = "ports.ubuntu.com"
   archive_security_host = archive_host
@@ -63,6 +68,7 @@ else
   archive_security_distro = archive_distro
   archive_suites = %w[main updates backports security]
   archive_components = %w[main restricted universe multiverse]
+  backport_packages = %w[]
 end
 
 template "/etc/apt/sources.list" do
@@ -80,6 +86,24 @@ template "/etc/apt/sources.list" do
   notifies :update, "apt_update[/etc/apt/sources.list]", :immediately
 end
 
+if backport_packages.empty?
+  apt_preference "backports" do
+    action :remove
+  end
+else
+  apt_preference "backports" do
+    glob backport_packages.sort.map { |p| "src:#{p}" }.join(" ")
+    pin "release n=#{node[:lsb][:codename]}-backports"
+    pin_priority "500"
+  end
+end
+
+execute "apt-cache-gencaches" do
+  action :nothing
+  command "apt-cache gencaches"
+  subscribes :run, "apt_preference[backports]", :immediately
+end
+
 apt_repository "openstreetmap" do
   uri "https://apt.openstreetmap.org"
   components ["main"]
index 5492134dc50f1ed82eff62dc15f2f877a55edce9..6ea634ee9e088010fdce78588957b5d759f0ce29 100644 (file)
@@ -466,9 +466,7 @@ disks = disks.compact.uniq
 
 if disks.count.positive?
   apt_preference "smartmontools" do
-    pin "release o=Debian Backports"
-    pin_priority "600"
-    only_if { platform?("debian") }
+    action :remove
   end
 
   package "smartmontools"
index 13b6848ae46d5739a69b82671f2ccaa4db195c25..5ba8c1951a76dceb695a86c1a325a08960b881dc 100644 (file)
@@ -63,10 +63,8 @@ template "/etc/dbconfig-common/otrs2.conf" do
             :database_cluster => database_cluster
 end
 
-# Ensure the OTRS package in backports has a priority preference.
 apt_preference "otrs2" do
-  pin "release o=Debian Backports"
-  pin_priority "600"
+  action :remove
 end
 
 apt_package "otrs2"
index 4f067ee688b2d08f89a4aea98859101d36c0172c..6d58bf8067de22de21f17815426a6bd92541db51 100644 (file)
@@ -505,11 +505,8 @@ directory "/var/log/tile" do
   mode "755"
 end
 
-if platform?("debian")
-  apt_preference "osm2pgsql" do
-    pin "release o=Debian Backports"
-    pin_priority "600"
-  end
+apt_preference "osm2pgsql" do
+  action :remove
 end
 
 package %w[