From ac9f28fb5ab4038d9b3e490b288b6bb778b24752 Mon Sep 17 00:00:00 2001 From: Frank Schiebel Date: Thu, 21 Sep 2023 11:30:12 +0200 Subject: [PATCH] Install Bluej/Greenfoot only when necessary --- roles/lmn_qgm/tasks/main.yml | 54 ++++++++++++++++-------------------- roles/lmn_qgsddm/README.txt | 6 ++++ 2 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 roles/lmn_qgsddm/README.txt diff --git a/roles/lmn_qgm/tasks/main.yml b/roles/lmn_qgm/tasks/main.yml index 0d0c794..829bf49 100644 --- a/roles/lmn_qgm/tasks/main.yml +++ b/roles/lmn_qgm/tasks/main.yml @@ -10,6 +10,10 @@ line: 'ansible ALL=(ALL) NOPASSWD: ALL' validate: '/usr/sbin/visudo -cf %s' +- name: Gather the package facts + ansible.builtin.package_facts: + manager: auto + ######### # Paketvorkonfigurationen - name: Preseed ttf-mscorefonts-installer @@ -152,38 +156,28 @@ # Müssen einmalig auf den netboot Server # in den http Cache geschoben werden. # Siehe Script im Repo. -# -# Außerdem ist hier Optimierungspotential: -# - Installation direkt von der URL -# - Installation nur, wenn die neueste Version noch -# nicht installiert ist -- name: Download greenfoot/bluej - ansible.builtin.get_url: - url: "{{ mirror_javadev }}/{{ item }}" - dest: /tmp/{{ item }} - mode: '0400' - loop: - - bluej.deb - - greenfoot.deb - when: mirror_javadev is defined and mirror_javadev | length > 0 +- name: Determine installed bluej version + set_fact: + bluej_installed_version: "{{ bluej_target_version if ansible_facts.packages['bluej'][0]['version'] is defined else 0 }}" -- name: Install greenfoot/bluej +- name: Install bluej if necessary ansible.builtin.apt: - deb: "/tmp/{{ item }}" - loop: - - bluej.deb - - greenfoot.deb - when: mirror_javadev is defined and mirror_javadev | length > 0 + deb: "{{ mirror_javadev }}/bluej.deb" + when: (mirror_javadev is defined and mirror_javadev | length > 0) and + (bluej_target_version is defined and bluej_target_version | length > 0 ) and + (bluej_installed_version != bluej_target_version ) -- name: Remove greenfoot/bluej debs - ansible.builtin.file: - path: "/tmp/{{ item }}" - state: absent - loop: - - bluej.deb - - greenfoot.deb - when: mirror_javadev is defined and mirror_javadev | length > 0 +- name: Determine installed greenfoot version + set_fact: + greenfoot_installed_version: "{{ greenfoot_target_version if ansible_facts.packages['greenfoot'][0]['version'] is defined else 0 }}" + +- name: Install greenfoot if necessary + ansible.builtin.apt: + deb: "{{ mirror_javadev }}/greenfoot.deb" + when: (mirror_javadev is defined and mirror_javadev | length > 0) and + (greenfoot_target_version is defined and greenfoot_target_version | length > 0 ) and + (greenfoot_installed_version != greenfoot_target_version ) ######### # Anpassungen für Arduino @@ -206,7 +200,7 @@ owner: root group: root -- name: relaod udev rules +- name: reload udev rules ansible.builtin.command: udevadm control --reload-rules - name: trigger udev update @@ -235,7 +229,7 @@ src: firefox_policies.json dest: /etc/firefox-esr/policies/policies.json -- name: Remove file (delete file) +- name: Remove wrongly copied policies file ansible.builtin.file: path: /etc/firefox-esr/policies/firefox_policies.json state: absent diff --git a/roles/lmn_qgsddm/README.txt b/roles/lmn_qgsddm/README.txt new file mode 100644 index 0000000..9005ded --- /dev/null +++ b/roles/lmn_qgsddm/README.txt @@ -0,0 +1,6 @@ +Diese Rolle macht ein SDDM Theme, das nett aussieht und folgende Vorteile hat. + +* Kein Fokus auf irgendeinem Element, d.h. wenn jemand den Monitor mit + Space "weckt" wird nirgends was eingefügt. +* Kein Userlistenelement +* Optik einfach konfigurierbar über theme.conf