From 58fd4586166f9b98bbce516b3e5e27ec8ec14a48 Mon Sep 17 00:00:00 2001 From: Frank Schiebel Date: Tue, 17 Dec 2024 10:39:12 +0100 Subject: [PATCH] Update Bluej, Greenfoot. Arduino2 Appimage, Slicer Appimage --- qgm-desktop.yml | 20 +++- roles/lmn_kde/tasks/main.yml | 1 - roles/lmn_qgm/files/firefox-esr.desktop | 104 ++++++++++++++++++ roles/lmn_qgm/files/qgm-login.sh | 4 + roles/lmn_qgm/tasks/base.yml | 10 +- roles/lmn_qgsoftware/files/prusaslicer.png | Bin 0 -> 9259 bytes .../files/qg.appimage.ArduinoIDE2.desktop | 13 +++ .../files/qg.appimage.PrusaSlicer.desktop | 13 +++ roles/lmn_qgsoftware/tasks/install.yml | 62 +++++++++++ roles/qgm_updatecache/tasks/download.yml | 44 +++++++- vars-qgsoftware.yml | 19 +++- 11 files changed, 281 insertions(+), 9 deletions(-) create mode 100644 roles/lmn_qgm/files/firefox-esr.desktop create mode 100644 roles/lmn_qgsoftware/files/prusaslicer.png create mode 100644 roles/lmn_qgsoftware/files/qg.appimage.ArduinoIDE2.desktop create mode 100644 roles/lmn_qgsoftware/files/qg.appimage.PrusaSlicer.desktop diff --git a/qgm-desktop.yml b/qgm-desktop.yml index 9e2c491..c4924ac 100644 --- a/qgm-desktop.yml +++ b/qgm-desktop.yml @@ -44,7 +44,7 @@ roles: - lmn_network - - up2date_debian + #- up2date_debian - lmn_sssd - lmn_mount - lmn_kde @@ -55,6 +55,24 @@ #- kerberize tasks: + - name: Remove debian packages for FreeCAD + apt: + name: + - freecad + - freecad-common + - freecad-python3 + - libfreecad-python3-0.20 + autoremove: true + state: absent + + - name: Remove debian packages for PrusaSlicer + apt: + name: + - prusa-slicer + - slic3r-prusa + autoremove: true + state: absent + - name: Copy Server roots-pubkey to clients authorized_key: user: ansible diff --git a/roles/lmn_kde/tasks/main.yml b/roles/lmn_kde/tasks/main.yml index 2b88266..5623840 100644 --- a/roles/lmn_kde/tasks/main.yml +++ b/roles/lmn_kde/tasks/main.yml @@ -8,7 +8,6 @@ - codeblocks - dia - flameshot - - freecad - ghex - gimp - inkscape diff --git a/roles/lmn_qgm/files/firefox-esr.desktop b/roles/lmn_qgm/files/firefox-esr.desktop new file mode 100644 index 0000000..942268b --- /dev/null +++ b/roles/lmn_qgm/files/firefox-esr.desktop @@ -0,0 +1,104 @@ +[Desktop Entry] +Name=Firefox ESR +Name[bg]=Firefox ESR +Name[ca]=Firefox ESR +Name[cs]=Firefox ESR +Name[el]=Firefox ESR +Name[es]=Firefox ESR +Name[fa]=Firefox ESR +Name[fi]=Firefox ESR +Name[fr]=Firefox ESR +Name[hu]=Firefox ESR +Name[it]=Firefox ESR +Name[ja]=Firefox ESR +Name[ko]=Firefox ESR +Name[nb]=Firefox ESR +Name[nl]=Firefox ESR +Name[nn]=Firefox ESR +Name[no]=Firefox ESR +Name[pl]=Firefox ESR +Name[pt]=Firefox ESR +Name[pt_BR]=Firefox ESR +Name[ru]=Firefox ESR +Name[sk]=Firefox ESR +Name[sv]=Firefox ESR +Comment=Browse the World Wide Web +Comment[bg]=Сърфиране в Мрежата +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[de]=Im Internet surfen +Comment[el]=Περιηγηθείτε στον παγκόσμιο ιστό +Comment[es]=Navegue por la web +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Navigue sur Internet +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ru]=Обозреватель Всемирной Паутины +Comment[sk]=Prehliadanie internetu +Comment[sv]=Surfa på webben +GenericName=Web Browser +GenericName[bg]=Интернет браузър +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής ιστού +GenericName[es]=Navegador web +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ru]=Интернет-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sv]=Webbläsare +X-GNOME-FullName=Firefox ESR Web Browser +X-GNOME-FullName[bg]=Интернет браузър (Firefox ESR) +X-GNOME-FullName[ca]=Navegador web Firefox ESR +X-GNOME-FullName[cs]=Firefox ESR Webový prohlížeč +X-GNOME-FullName[el]=Περιηγήτης Ιστού Firefox ESR +X-GNOME-FullName[es]=Navegador web Firefox ESR +X-GNOME-FullName[fa]=مرورگر اینترنتی Firefox ESR +X-GNOME-FullName[fi]=Firefox ESR-selain +X-GNOME-FullName[fr]=Navigateur Web Firefox ESR +X-GNOME-FullName[hu]=Firefox ESR webböngésző +X-GNOME-FullName[it]=Firefox ESR Browser Web +X-GNOME-FullName[ja]=Firefox ESR ウェブ・ブラウザ +X-GNOME-FullName[ko]=Firefox ESR 웹 브라우저 +X-GNOME-FullName[nb]=Firefox ESR Nettleser +X-GNOME-FullName[nl]=Firefox ESR webbrowser +X-GNOME-FullName[nn]=Firefox ESR Nettlesar +X-GNOME-FullName[no]=Firefox ESR Nettleser +X-GNOME-FullName[pl]=Przeglądarka WWW Firefox ESR +X-GNOME-FullName[pt]=Firefox ESR Navegador Web +X-GNOME-FullName[pt_BR]=Navegador Web Firefox ESR +X-GNOME-FullName[ru]=Интернет-браузер Firefox ESR +X-GNOME-FullName[sk]=Internetový prehliadač Firefox ESR +X-GNOME-FullName[sv]=Webbläsaren Firefox ESR +Exec=/usr/lib/firefox-esr/firefox-esr %u --allow-downgrade +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=firefox-esr +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=Firefox-esr +StartupNotify=true diff --git a/roles/lmn_qgm/files/qgm-login.sh b/roles/lmn_qgm/files/qgm-login.sh index c2af463..e34a982 100644 --- a/roles/lmn_qgm/files/qgm-login.sh +++ b/roles/lmn_qgm/files/qgm-login.sh @@ -19,4 +19,8 @@ echo "cp /usr/share/applications/qgm-abmelden.desktop $DESKDIR/qgm-abmelden.desk cp /usr/share/applications/qgm-abmelden.desktop $DESKDIR/qgm-abmelden.desktop chmod 755 $DESKDIR/qgm-abmelden.desktop +# user-places löschen, wegen Schuljahreswechsel... +echo "rm $HOME/.local/share/user-places.xbel" >> /tmp/login.log +rm $HOME/.local/share/user-places.xbel + echo "Done" >> /tmp/login.log diff --git a/roles/lmn_qgm/tasks/base.yml b/roles/lmn_qgm/tasks/base.yml index 594d634..dc0b345 100644 --- a/roles/lmn_qgm/tasks/base.yml +++ b/roles/lmn_qgm/tasks/base.yml @@ -55,13 +55,13 @@ - nmap - tmux - hexyl + - meld - tree - hashcat - ttf-mscorefonts-installer - libdvd-pkg - handbrake - firmware-intel-sound - - slic3r-prusa - cura - filius - wine @@ -247,6 +247,14 @@ owner: root group: root +- name: Copy modified Forefox Starter + copy: + src: firefox-esr.desktop + dest: /usr/share/applications/firefox-esr.desktop + mode: '0644' + owner: root + group: root + - name: Copy logout icon copy: src: logout.png diff --git a/roles/lmn_qgsoftware/files/prusaslicer.png b/roles/lmn_qgsoftware/files/prusaslicer.png new file mode 100644 index 0000000000000000000000000000000000000000..a667be3e71a11d775d7c5e938cecb2b374e73f8c GIT binary patch literal 9259 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