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