thinkcenter-kdenlive: verify via dpkg not GUI binary (kdenlive --version aborts w/o X display)

This commit is contained in:
Samuel James 2026-09-03 15:46:31 +00:00
parent 3d9fe1fb04
commit 3f3ac99fb7

View File

@ -148,9 +148,17 @@
ansible.builtin.debug:
msg: "Full set failed (likely libavcodec-extra conflict); installed Kdenlive core. Add codecs manually if a clip won't import."
- name: "[verify] kdenlive binary present + version"
ansible.builtin.command: kdenlive --version
register: kden_ver
# Verify via package DB, NOT by running the binary: kdenlive is a Qt GUI app
# and `kdenlive --version` aborts (rc=-6) when there's no X display over SSH.
- name: "[verify] Query kdenlive package status"
ansible.builtin.command: dpkg-query -W -f='${Status} ${Version}' kdenlive
register: kden_pkg
changed_when: false
failed_when: false
- name: "[verify] kdenlive binary present on PATH"
ansible.builtin.command: which kdenlive
register: kden_bin
changed_when: false
failed_when: false
@ -163,9 +171,10 @@
- name: "[verify] Assert Kdenlive + MLT engine installed"
ansible.builtin.assert:
that:
- kden_ver.rc == 0
- "'install ok installed' in (kden_pkg.stdout | default(''))"
- kden_bin.rc == 0
- melt_which.rc == 0
fail_msg: "Kdenlive or its MLT engine (melt) is missing. version rc={{ kden_ver.rc }}, melt rc={{ melt_which.rc }}"
fail_msg: "Kdenlive/MLT missing. pkg='{{ kden_pkg.stdout | default('') }}', bin rc={{ kden_bin.rc }}, melt rc={{ melt_which.rc }}"
success_msg: "Kdenlive + MLT engine present."
- name: "[report] Kdenlive summary"
@ -173,6 +182,7 @@
msg:
- "===== thinkcenter Kdenlive ====="
- "packages changed this run : {{ kden_install.changed | default(kden_install_fallback.changed | default(false)) }}"
- "Kdenlive version : {{ kden_ver.stdout | default('n/a') | trim }}"
- "Kdenlive package : {{ kden_pkg.stdout | default('n/a') | trim }}"
- "kdenlive binary : {{ kden_bin.stdout | default('n/a') | trim }}"
- "MLT renderer (melt) : {{ melt_which.stdout | default('n/a') | trim }}"
- "NOTE: Ubuntu ships Kdenlive 23.08 (native). For the newest release use the official AppImage instead."