From 5aadb4f0dc6bac35bb8d51f2fcdab7747df23699 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Thu, 25 Jun 2026 20:32:47 +0800 Subject: [PATCH] fix(xfce): fall back when pinned chrome apt version is unavailable --- .../tasks/browser.yml | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/roles/vhosts/xfce_desktop_minimal_runtime/tasks/browser.yml b/roles/vhosts/xfce_desktop_minimal_runtime/tasks/browser.yml index e284efe..5acff26 100644 --- a/roles/vhosts/xfce_desktop_minimal_runtime/tasks/browser.yml +++ b/roles/vhosts/xfce_desktop_minimal_runtime/tasks/browser.yml @@ -110,16 +110,32 @@ when: - xfce_browser_package == 'google-chrome-stable' - not xfce_offline_active - - xfce_google_chrome_repo.changed + +- name: Inspect available Google Chrome apt versions + ansible.builtin.command: apt-cache madison google-chrome-stable + changed_when: false + register: xfce_google_chrome_versions + when: + - xfce_browser_package == 'google-chrome-stable' + - xfce_google_chrome_version | length > 0 + +- name: Select Google Chrome package spec + ansible.builtin.set_fact: + xfce_browser_package_spec: >- + {{ + 'google-chrome-stable=' ~ xfce_google_chrome_version + if ( + xfce_browser_package == 'google-chrome-stable' + and (xfce_google_chrome_version | length) > 0 + and (xfce_google_chrome_versions.stdout | default('') is search('\\|[[:space:]]*' ~ (xfce_google_chrome_version | regex_escape) ~ '[[:space:]]*\\|')) + ) + else xfce_browser_package + }} + when: xfce_browser_package | length > 0 - name: Install apt-managed workspace browser ansible.builtin.apt: - name: >- - {{ - 'google-chrome-stable=' ~ xfce_google_chrome_version - if xfce_browser_package == 'google-chrome-stable' - else xfce_browser_package - }} + name: "{{ xfce_browser_package_spec | default(xfce_browser_package) }}" state: present install_recommends: false environment: